Bläddra i källkod

Firmware parametrization, scrolling long text on LCD and cleanup

prusa3d-bb 8 år sedan
incheckning
b0be06f74d
80 ändrade filer med 82913 tillägg och 0 borttagningar
  1. 29 0
      BlinkM.cpp
  2. 14 0
      BlinkM.h
  3. 733 0
      Configuration.h
  4. 470 0
      ConfigurationStore.cpp
  5. 22 0
      ConfigurationStore.h
  6. 501 0
      Configuration_adv.h
  7. 225 0
      DOGMbitmaps.h
  8. 56 0
      Firmware.ino
  9. 8 0
      Firmware.sublime-project
  10. 855 0
      Firmware.sublime-workspace
  11. 402 0
      LiquidCrystal.cpp
  12. 108 0
      LiquidCrystal.h
  13. 280 0
      Marlin.h
  14. 328 0
      MarlinSerial.cpp
  15. 189 0
      MarlinSerial.h
  16. 4952 0
      Marlin_main.cpp
  17. 9 0
      README.md
  18. 723 0
      Sd2Card.cpp
  19. 243 0
      Sd2Card.h
  20. 368 0
      Sd2PinMap.h
  21. 1825 0
      SdBaseFile.cpp
  22. 483 0
      SdBaseFile.h
  23. 123 0
      SdFatConfig.h
  24. 646 0
      SdFatStructs.h
  25. 82 0
      SdFatUtil.cpp
  26. 48 0
      SdFatUtil.h
  27. 95 0
      SdFile.cpp
  28. 54 0
      SdFile.h
  29. 280 0
      SdInfo.h
  30. 405 0
      SdVolume.cpp
  31. 214 0
      SdVolume.h
  32. 344 0
      Servo.cpp
  33. 135 0
      Servo.h
  34. 17 0
      boards.h
  35. 646 0
      cardreader.cpp
  36. 101 0
      cardreader.h
  37. 59 0
      digipot_mcp4451.cpp
  38. 337 0
      dogm_font_data_marlin.h
  39. 472 0
      dogm_lcd_implementation.h
  40. 4053 0
      fastio.h
  41. 5992 0
      hex_files/175-RAMBo1-0a-cz.hex
  42. 5992 0
      hex_files/175-RAMBo1-0a-en.hex
  43. 5992 0
      hex_files/175-RAMBo1-3a-cz.hex
  44. 5992 0
      hex_files/175-RAMBo1-3a-en.hex
  45. 5992 0
      hex_files/300-RAMBo1-0a-cz.hex
  46. 5992 0
      hex_files/300-RAMBo1-0a-en.hex
  47. 5992 0
      hex_files/300-RAMBo1-3a-cz.hex
  48. 5992 0
      hex_files/300-RAMBo1-3a-en.hex
  49. 83 0
      language.h
  50. 233 0
      language_cz.h
  51. 233 0
      language_en.h
  52. 145 0
      motion_control.cpp
  53. 32 0
      motion_control.h
  54. 406 0
      pins.h
  55. 1099 0
      planner.cpp
  56. 162 0
      planner.h
  57. 1930 0
      qr_solve.cpp
  58. 22 0
      qr_solve.h
  59. 152 0
      speed_lookuptable.h
  60. 1361 0
      stepper.cpp
  61. 101 0
      stepper.h
  62. 1784 0
      temperature.cpp
  63. 193 0
      temperature.h
  64. 1186 0
      thermistortables.h
  65. 1746 0
      ultralcd.cpp
  66. 138 0
      ultralcd.h
  67. 936 0
      ultralcd_implementation_hitachi_HD44780.h
  68. 131 0
      ultralcd_st7920_u8glib_rrd.h
  69. 208 0
      variants/175-RAMBo1-0a-cz.h
  70. 208 0
      variants/175-RAMBo1-0a-en.h
  71. 208 0
      variants/175-RAMBo1-3a-cz.h
  72. 208 0
      variants/175-RAMBo1-3a-en.h
  73. 209 0
      variants/300-RAMBo1-0a-cz.h
  74. 209 0
      variants/300-RAMBo1-0a-en.h
  75. 209 0
      variants/300-RAMBo1-3a-cz.h
  76. 209 0
      variants/300-RAMBo1-3a-en.h
  77. 167 0
      vector_3.cpp
  78. 62 0
      vector_3.h
  79. 56 0
      watchdog.cpp
  80. 17 0
      watchdog.h

+ 29 - 0
BlinkM.cpp

@@ -0,0 +1,29 @@
+/*
+  BlinkM.cpp - Library for controlling a BlinkM over i2c
+  Created by Tim Koster, August 21 2013.
+*/
+#include "Marlin.h"
+#ifdef BLINKM
+
+#if (ARDUINO >= 100)
+  # include "Arduino.h"
+#else
+  # include "WProgram.h"
+#endif
+
+#include "BlinkM.h"
+
+void SendColors(byte red, byte grn, byte blu)
+{
+  Wire.begin(); 
+  Wire.beginTransmission(0x09);
+  Wire.write('o');                    //to disable ongoing script, only needs to be used once
+  Wire.write('n');
+  Wire.write(red);
+  Wire.write(grn);
+  Wire.write(blu);
+  Wire.endTransmission();
+}
+
+#endif //BLINKM
+

+ 14 - 0
BlinkM.h

@@ -0,0 +1,14 @@
+/*
+  BlinkM.h
+  Library header file for BlinkM library
+ */
+#if (ARDUINO >= 100)
+  # include "Arduino.h"
+#else
+  # include "WProgram.h"
+#endif
+
+#include "Wire.h"
+
+void SendColors(byte red, byte grn, byte blu);
+

+ 733 - 0
Configuration.h

@@ -0,0 +1,733 @@
+#ifndef CONFIGURATION_H
+#define CONFIGURATION_H
+
+#include "boards.h"
+#include "Configuration_prusa.h"
+
+// Firmware version
+#define FW_version "2.2.1"
+
+
+
+// This configuration file contains the basic settings.
+// Advanced settings can be found in Configuration_adv.h
+// BASIC SETTINGS: select your board type, temperature sensor type, axis scaling, and endstop configuration
+
+//===========================================================================
+//============================= DELTA Printer ===============================
+//===========================================================================
+// For a Delta printer replace the configuration files with the files in the
+// example_configurations/delta directory.
+//
+
+//===========================================================================
+//============================= SCARA Printer ===============================
+//===========================================================================
+// For a Delta printer replace the configuration files with the files in the
+// example_configurations/SCARA directory.
+//
+
+// User-specified version info of this build to display in [Pronterface, etc] terminal window during
+// startup. Implementation of an idea by Prof Braino to inform user that any changes made to this
+// build by the user have been successfully uploaded into firmware.
+
+//#define STRING_VERSION "1.0.2"
+
+#define STRING_VERSION_CONFIG_H __DATE__ " " __TIME__ // build date and time
+#define STRING_CONFIG_H_AUTHOR "(none, default config)" // Who made the changes.
+
+// SERIAL_PORT selects which serial port should be used for communication with the host.
+// This allows the connection of wireless adapters (for instance) to non-default port pins.
+// Serial port 0 is still used by the Arduino bootloader regardless of this setting.
+#define SERIAL_PORT 0
+
+// This determines the communication speed of the printer
+#define BAUDRATE 115200
+
+// This enables the serial port associated to the Bluetooth interface
+//#define BTENABLED              // Enable BT interface on AT90USB devices
+
+// The following define selects which electronics board you have.
+// Please choose the name from boards.h that matches your setup
+
+
+
+
+
+
+
+// Define this to set a unique identifier for this printer, (Used by some programs to differentiate between machines)
+// You can use an online service to generate a random UUID. (eg http://www.uuidgenerator.net/version4)
+// #define MACHINE_UUID "00000000-0000-0000-0000-000000000000"
+
+// This defines the number of extruders
+#define EXTRUDERS 1
+
+//// The following define selects which power supply you have. Please choose the one that matches your setup
+// 1 = ATX
+// 2 = X-Box 360 203Watts (the blue wire connected to PS_ON and the red wire to VCC)
+
+#define POWER_SUPPLY 1
+
+
+
+
+
+// Define this to have the electronics keep the power supply off on startup. If you don't know what this is leave it.
+// #define PS_DEFAULT_OFF
+
+
+
+// This makes temp sensor 1 a redundant sensor for sensor 0. If the temperatures difference between these sensors is to high the print will be aborted.
+//#define TEMP_SENSOR_1_AS_REDUNDANT
+#define MAX_REDUNDANT_TEMP_SENSOR_DIFF 10
+
+// Actual temperature must be close to target for this long before M109 returns success
+#define TEMP_RESIDENCY_TIME 3  // (seconds)
+#define TEMP_HYSTERESIS 5       // (degC) range of +/- temperatures considered "close" to the target one
+#define TEMP_WINDOW     1       // (degC) Window around target to start the residency timer x degC early.
+
+
+
+// If your bed has low resistance e.g. .6 ohm and throws the fuse you can duty cycle it to reduce the
+// average current. The value should be an integer and the heat bed will be turned on for 1 interval of
+// HEATER_BED_DUTY_CYCLE_DIVIDER intervals.
+//#define HEATER_BED_DUTY_CYCLE_DIVIDER 4
+
+// If you want the M105 heater power reported in watts, define the BED_WATTS, and (shared for all extruders) EXTRUDER_WATTS
+//#define EXTRUDER_WATTS (12.0*12.0/6.7) //  P=I^2/R
+//#define BED_WATTS (12.0*12.0/1.1)      // P=I^2/R
+
+// PID settings:
+// Comment the following line to disable PID and enable bang-bang.
+#define PIDTEMP
+#define BANG_MAX 255 // limits current to nozzle while in bang-bang mode; 255=full current
+#define PID_MAX BANG_MAX // limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
+#ifdef PIDTEMP
+  //#define PID_DEBUG // Sends debug data to the serial port.
+  //#define PID_OPENLOOP 1 // Puts PID in open loop. M104/M140 sets the output power from 0 to PID_MAX
+  //#define SLOW_PWM_HEATERS // PWM with very low frequency (roughly 0.125Hz=8s) and minimum state time of approximately 1s useful for heaters driven by a relay
+  #define PID_FUNCTIONAL_RANGE 10 // If the temperature difference between the target temperature and the actual temperature
+                                  // is more then PID_FUNCTIONAL_RANGE then the PID will be shut off and the heater will be set to min/max.
+  #define PID_INTEGRAL_DRIVE_MAX PID_MAX  //limit for the integral term
+  #define K1 0.95 //smoothing factor within the PID
+  #define PID_dT ((OVERSAMPLENR * 10.0)/(F_CPU / 64.0 / 256.0)) //sampling period of the temperature routine
+
+// If you are using a pre-configured hotend then you can use one of the value sets by uncommenting it
+// Ultimaker
+    
+
+// MakerGear
+//    #define  DEFAULT_Kp 7.0
+//    #define  DEFAULT_Ki 0.1
+//    #define  DEFAULT_Kd 12
+
+// Mendel Parts V9 on 12V
+//    #define  DEFAULT_Kp 63.0
+//    #define  DEFAULT_Ki 2.25
+//    #define  DEFAULT_Kd 440
+#endif // PIDTEMP
+
+// Bed Temperature Control
+// Select PID or bang-bang with PIDTEMPBED. If bang-bang, BED_LIMIT_SWITCHING will enable hysteresis
+//
+// Uncomment this to enable PID on the bed. It uses the same frequency PWM as the extruder.
+// If your PID_dT above is the default, and correct for your hardware/configuration, that means 7.689Hz,
+// which is fine for driving a square wave into a resistive load and does not significantly impact you FET heating.
+// This also works fine on a Fotek SSR-10DA Solid State Relay into a 250W heater.
+// If your configuration is significantly different than this and you don't understand the issues involved, you probably
+// shouldn't use bed PID until someone else verifies your hardware works.
+// If this is enabled, find your own PID constants below.
+//#define PIDTEMPBED
+//
+//#define BED_LIMIT_SWITCHING
+
+// This sets the max power delivered to the bed, and replaces the HEATER_BED_DUTY_CYCLE_DIVIDER option.
+// all forms of bed control obey this (PID, bang-bang, bang-bang with hysteresis)
+// setting this to anything other than 255 enables a form of PWM to the bed just like HEATER_BED_DUTY_CYCLE_DIVIDER did,
+// so you shouldn't use it unless you are OK with PWM on your bed.  (see the comment on enabling PIDTEMPBED)
+#define MAX_BED_POWER 255 // limits duty cycle to bed; 255=full current
+
+#ifdef PIDTEMPBED
+//120v 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
+//from FOPDT model - kp=.39 Tp=405 Tdead=66, Tc set to 79.2, aggressive factor of .15 (vs .1, 1, 10)
+    #define  DEFAULT_bedKp 10.00
+    #define  DEFAULT_bedKi .023
+    #define  DEFAULT_bedKd 305.4
+
+//120v 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
+//from pidautotune
+//    #define  DEFAULT_bedKp 97.1
+//    #define  DEFAULT_bedKi 1.41
+//    #define  DEFAULT_bedKd 1675.16
+
+// FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles.
+#endif // PIDTEMPBED
+
+
+
+//this prevents dangerous Extruder moves, i.e. if the temperature is under the limit
+//can be software-disabled for whatever purposes by
+#define PREVENT_DANGEROUS_EXTRUDE
+//if PREVENT_DANGEROUS_EXTRUDE is on, you can still disable (uncomment) very long bits of extrusion separately.
+#define PREVENT_LENGTHY_EXTRUDE
+
+
+#define EXTRUDE_MAXLENGTH (X_MAX_LENGTH+Y_MAX_LENGTH) //prevent extrusion of very large distances.
+
+/*================== Thermal Runaway Protection ==============================
+This is a feature to protect your printer from burn up in flames if it has
+a thermistor coming off place (this happened to a friend of mine recently and
+motivated me writing this feature).
+
+The issue: If a thermistor come off, it will read a lower temperature than actual.
+The system will turn the heater on forever, burning up the filament and anything
+else around.
+
+After the temperature reaches the target for the first time, this feature will 
+start measuring for how long the current temperature stays below the target 
+minus _HYSTERESIS (set_temperature - THERMAL_RUNAWAY_PROTECTION_HYSTERESIS).
+
+If it stays longer than _PERIOD, it means the thermistor temperature
+cannot catch up with the target, so something *may be* wrong. Then, to be on the
+safe side, the system will he halt.
+
+Bear in mind the count down will just start AFTER the first time the 
+thermistor temperature is over the target, so you will have no problem if
+your extruder heater takes 2 minutes to hit the target on heating.
+
+*/
+// If you want to enable this feature for all your extruder heaters,
+// uncomment the 2 defines below:
+
+// Parameters for all extruder heaters
+//#define THERMAL_RUNAWAY_PROTECTION_PERIOD 40 //in seconds
+//#define THERMAL_RUNAWAY_PROTECTION_HYSTERESIS 4 // in degree Celsius
+
+// If you want to enable this feature for your bed heater,
+// uncomment the 2 defines below:
+
+// Parameters for the bed heater
+//#define THERMAL_RUNAWAY_PROTECTION_BED_PERIOD 20 //in seconds
+//#define THERMAL_RUNAWAY_PROTECTION_BED_HYSTERESIS 2 // in degree Celsius
+//===========================================================================
+
+
+//===========================================================================
+//=============================Mechanical Settings===========================
+//===========================================================================
+
+// Uncomment the following line to enable CoreXY kinematics
+// #define COREXY
+
+// coarse Endstop Settings
+#define ENDSTOPPULLUPS // Comment this out (using // at the start of the line) to disable the endstop pullup resistors
+
+#ifndef ENDSTOPPULLUPS
+  // fine endstop settings: Individual pullups. will be ignored if ENDSTOPPULLUPS is defined
+  // #define ENDSTOPPULLUP_XMAX
+  // #define ENDSTOPPULLUP_YMAX
+  // #define ENDSTOPPULLUP_ZMAX
+  // #define ENDSTOPPULLUP_XMIN
+  // #define ENDSTOPPULLUP_YMIN
+  // #define ENDSTOPPULLUP_ZMIN
+#endif
+
+#ifdef ENDSTOPPULLUPS
+  #define ENDSTOPPULLUP_XMAX
+  #define ENDSTOPPULLUP_YMAX
+  #define ENDSTOPPULLUP_ZMAX
+  #define ENDSTOPPULLUP_XMIN
+  #define ENDSTOPPULLUP_YMIN
+  #define ENDSTOPPULLUP_ZMIN
+#endif
+
+// The pullups are needed if you directly connect a mechanical endswitch between the signal and ground pins.
+
+const bool X_MAX_ENDSTOP_INVERTING = true; // set to true to invert the logic of the endstop.
+const bool Y_MAX_ENDSTOP_INVERTING = true; // set to true to invert the logic of the endstop.
+const bool Z_MAX_ENDSTOP_INVERTING = true; // set to true to invert the logic of the endstop.
+//#define DISABLE_MAX_ENDSTOPS
+//#define DISABLE_MIN_ENDSTOPS
+
+// Disable max endstops for compatibility with endstop checking routine
+#if defined(COREXY) && !defined(DISABLE_MAX_ENDSTOPS)
+  #define DISABLE_MAX_ENDSTOPS
+#endif
+
+// For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
+#define X_ENABLE_ON 0
+#define Y_ENABLE_ON 0
+#define Z_ENABLE_ON 0
+#define E_ENABLE_ON 0 // For all extruders
+
+// Disables axis when it's not being used.
+#define DISABLE_X false
+#define DISABLE_Y false
+#define DISABLE_Z false
+#define DISABLE_E false // For all extruders
+#define DISABLE_INACTIVE_EXTRUDER true //disable only inactive extruders and keep active extruder enabled
+
+#define INVERT_X_DIR false    // for Mendel set to false, for Orca set to true
+#define INVERT_Y_DIR false    // for Mendel set to true, for Orca set to false
+#define INVERT_Z_DIR false     // for Mendel set to false, for Orca set to true
+#define INVERT_E0_DIR true   // for direct drive extruder v9 set to true, for geared extruder set to false
+#define INVERT_E1_DIR false    // for direct drive extruder v9 set to true, for geared extruder set to false
+#define INVERT_E2_DIR false   // for direct drive extruder v9 set to true, for geared extruder set to false
+
+// ENDSTOP SETTINGS:
+// Sets direction of endstops when homing; 1=MAX, -1=MIN
+#define X_HOME_DIR -1
+#define Y_HOME_DIR -1
+#define Z_HOME_DIR -1
+
+#define min_software_endstops true // If true, axis won't move to coordinates less than HOME_POS.
+#define max_software_endstops true  // If true, axis won't move to coordinates greater than the defined lengths below.
+
+
+
+#define X_MAX_LENGTH (X_MAX_POS - X_MIN_POS)
+#define Y_MAX_LENGTH (Y_MAX_POS - Y_MIN_POS)
+#define Z_MAX_LENGTH (Z_MAX_POS - Z_MIN_POS)
+//============================= Bed Auto Leveling ===========================
+
+//#define ENABLE_AUTO_BED_LEVELING // Delete the comment to enable (remove // at the start of the line)
+#define Z_PROBE_REPEATABILITY_TEST  // If not commented out, Z-Probe Repeatability test will be included if Auto Bed Leveling is Enabled.
+
+#ifdef ENABLE_AUTO_BED_LEVELING
+
+// There are 2 different ways to pick the X and Y locations to probe:
+
+//  - "grid" mode
+//    Probe every point in a rectangular grid
+//    You must specify the rectangle, and the density of sample points
+//    This mode is preferred because there are more measurements.
+//    It used to be called ACCURATE_BED_LEVELING but "grid" is more descriptive
+
+//  - "3-point" mode
+//    Probe 3 arbitrary points on the bed (that aren't colinear)
+//    You must specify the X & Y coordinates of all 3 points
+
+  #define AUTO_BED_LEVELING_GRID
+  // with AUTO_BED_LEVELING_GRID, the bed is sampled in a
+  // AUTO_BED_LEVELING_GRID_POINTSxAUTO_BED_LEVELING_GRID_POINTS grid
+  // and least squares solution is calculated
+  // Note: this feature occupies 10'206 byte
+  #ifdef AUTO_BED_LEVELING_GRID
+
+    // set the rectangle in which to probe
+    #define LEFT_PROBE_BED_POSITION 15
+    #define RIGHT_PROBE_BED_POSITION 170
+    #define BACK_PROBE_BED_POSITION 180
+    #define FRONT_PROBE_BED_POSITION 20
+
+     // set the number of grid points per dimension
+     // I wouldn't see a reason to go above 3 (=9 probing points on the bed)
+    #define AUTO_BED_LEVELING_GRID_POINTS 2
+
+
+  #else  // not AUTO_BED_LEVELING_GRID
+    // with no grid, just probe 3 arbitrary points.  A simple cross-product
+    // is used to esimate the plane of the print bed
+
+      #define ABL_PROBE_PT_1_X 15
+      #define ABL_PROBE_PT_1_Y 180
+      #define ABL_PROBE_PT_2_X 15
+      #define ABL_PROBE_PT_2_Y 20
+      #define ABL_PROBE_PT_3_X 170
+      #define ABL_PROBE_PT_3_Y 20
+
+  #endif // AUTO_BED_LEVELING_GRID
+
+
+  // these are the offsets to the probe relative to the extruder tip (Hotend - Probe)
+  // X and Y offsets must be integers
+  #define X_PROBE_OFFSET_FROM_EXTRUDER -25
+  #define Y_PROBE_OFFSET_FROM_EXTRUDER -29
+  #define Z_PROBE_OFFSET_FROM_EXTRUDER -12.35
+
+  #define Z_RAISE_BEFORE_HOMING 4       // (in mm) Raise Z before homing (G28) for Probe Clearance.
+                                        // Be sure you have this distance over your Z_MAX_POS in case
+
+  #define XY_TRAVEL_SPEED 8000         // X and Y axis travel speed between probes, in mm/min
+
+  #define Z_RAISE_BEFORE_PROBING 15    //How much the extruder will be raised before traveling to the first probing point.
+  #define Z_RAISE_BETWEEN_PROBINGS 5  //How much the extruder will be raised when traveling from between next probing points
+
+  //#define Z_PROBE_SLED // turn on if you have a z-probe mounted on a sled like those designed by Charles Bell
+  //#define SLED_DOCKING_OFFSET 5 // the extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
+
+  //If defined, the Probe servo will be turned on only during movement and then turned off to avoid jerk
+  //The value is the delay to turn the servo off after powered on - depends on the servo speed; 300ms is good value, but you can try lower it.
+  // You MUST HAVE the SERVO_ENDSTOPS defined to use here a value higher than zero otherwise your code will not compile.
+
+//  #define PROBE_SERVO_DEACTIVATION_DELAY 300
+
+
+//If you have enabled the Bed Auto Leveling and are using the same Z Probe for Z Homing,
+//it is highly recommended you let this Z_SAFE_HOMING enabled!!!
+
+  #define Z_SAFE_HOMING   // This feature is meant to avoid Z homing with probe outside the bed area.
+                          // When defined, it will:
+                          // - Allow Z homing only after X and Y homing AND stepper drivers still enabled
+                          // - If stepper drivers timeout, it will need X and Y homing again before Z homing
+                          // - Position the probe in a defined XY point before Z Homing when homing all axis (G28)
+                          // - Block Z homing only when the probe is outside bed area.
+
+  #ifdef Z_SAFE_HOMING
+
+    #define Z_SAFE_HOMING_X_POINT (X_MAX_LENGTH/2)    // X point for Z homing when homing all axis (G28)
+    #define Z_SAFE_HOMING_Y_POINT (Y_MAX_LENGTH/2)    // Y point for Z homing when homing all axis (G28)
+
+  #endif
+
+  #ifdef AUTO_BED_LEVELING_GRID	// Check if Probe_Offset * Grid Points is greater than Probing Range
+    #if X_PROBE_OFFSET_FROM_EXTRUDER < 0
+      #if (-(X_PROBE_OFFSET_FROM_EXTRUDER * AUTO_BED_LEVELING_GRID_POINTS) >= (RIGHT_PROBE_BED_POSITION - LEFT_PROBE_BED_POSITION))
+	     #error "The X axis probing range is not enough to fit all the points defined in AUTO_BED_LEVELING_GRID_POINTS"
+	  #endif
+	#else
+      #if ((X_PROBE_OFFSET_FROM_EXTRUDER * AUTO_BED_LEVELING_GRID_POINTS) >= (RIGHT_PROBE_BED_POSITION - LEFT_PROBE_BED_POSITION))
+	     #error "The X axis probing range is not enough to fit all the points defined in AUTO_BED_LEVELING_GRID_POINTS"
+	  #endif
+	#endif
+    #if Y_PROBE_OFFSET_FROM_EXTRUDER < 0
+      #if (-(Y_PROBE_OFFSET_FROM_EXTRUDER * AUTO_BED_LEVELING_GRID_POINTS) >= (BACK_PROBE_BED_POSITION - FRONT_PROBE_BED_POSITION))
+	     #error "The Y axis probing range is not enough to fit all the points defined in AUTO_BED_LEVELING_GRID_POINTS"
+	  #endif
+	#else
+      #if ((Y_PROBE_OFFSET_FROM_EXTRUDER * AUTO_BED_LEVELING_GRID_POINTS) >= (BACK_PROBE_BED_POSITION - FRONT_PROBE_BED_POSITION))
+	     #error "The Y axis probing range is not enough to fit all the points defined in AUTO_BED_LEVELING_GRID_POINTS"
+	  #endif
+	#endif
+
+	
+  #endif
+  
+#endif // ENABLE_AUTO_BED_LEVELING
+
+
+// The position of the homing switches
+//#define MANUAL_HOME_POSITIONS  // If defined, MANUAL_*_HOME_POS below will be used
+//#define BED_CENTER_AT_0_0  // If defined, the center of the bed is at (X=0, Y=0)
+
+//Manual homing switch locations:
+// For deltabots this means top and center of the Cartesian print volume.
+
+//#define MANUAL_Z_HOME_POS 402 // For delta: Distance between nozzle and print surface after homing.
+
+//// MOVEMENT SETTINGS
+#define NUM_AXIS 4 // The axis order in all axis related arrays is X, Y, Z, E
+#define HOMING_FEEDRATE {50*60, 50*60, 4*60, 0}  // set the homing speeds (mm/min)
+
+// default settings
+
+// default steps per unit for Ultimaker
+#define DEFAULT_MAX_FEEDRATE          {500, 500, 3, 25}    // (mm/sec)
+#define DEFAULT_MAX_ACCELERATION      {9000,9000,30,10000}    // X, Y, Z, E maximum start speed for accelerated moves. E default values are good for Skeinforge 40+, for older versions raise them a lot.
+
+#define DEFAULT_ACCELERATION          3000    // X, Y, Z and E max acceleration in mm/s^2 for printing moves
+#define DEFAULT_RETRACT_ACCELERATION  3000   // X, Y, Z and E max acceleration in mm/s^2 for retracts
+
+// Offset of the extruders (uncomment if using more than one and relying on firmware to position when changing).
+// The offset has to be X=0, Y=0 for the extruder 0 hotend (default extruder).
+// For the other hotends it is their distance from the extruder 0 hotend.
+// #define EXTRUDER_OFFSET_X {0.0, 20.00} // (in mm) for each extruder, offset of the hotend on the X axis
+// #define EXTRUDER_OFFSET_Y {0.0, 5.00}  // (in mm) for each extruder, offset of the hotend on the Y axis
+
+// The speed change that does not require acceleration (i.e. the software might assume it can be done instantaneously)
+#define DEFAULT_XYJERK                20.0    // (mm/sec)
+#define DEFAULT_ZJERK                 0.4     // (mm/sec)
+#define DEFAULT_EJERK                 5.0    // (mm/sec)
+
+//===========================================================================
+//=============================Additional Features===========================
+//===========================================================================
+
+// Custom M code points
+#define CUSTOM_M_CODES
+#ifdef CUSTOM_M_CODES
+  #define CUSTOM_M_CODE_SET_Z_PROBE_OFFSET 851
+  #define Z_PROBE_OFFSET_RANGE_MIN -15
+  #define Z_PROBE_OFFSET_RANGE_MAX -5
+#endif
+
+
+// EEPROM
+// The microcontroller can store settings in the EEPROM, e.g. max velocity...
+// M500 - stores parameters in EEPROM
+// M501 - reads parameters from EEPROM (if you need reset them after you changed them temporarily).
+// M502 - reverts to the default "factory settings".  You still need to store them in EEPROM afterwards if you want to.
+//define this to enable EEPROM support
+//#define EEPROM_SETTINGS
+//to disable EEPROM Serial responses and decrease program space by ~1700 byte: comment this out:
+// please keep turned on if you can.
+//#define EEPROM_CHITCHAT
+
+
+
+//LCD and SD support
+#define ULTRA_LCD  //general LCD support, also 16x2
+//#define DOGLCD  // Support for SPI LCD 128x64 (Controller ST7565R graphic Display Family)
+#define SDSUPPORT // Enable SD Card Support in Hardware Console
+//#define SDSLOW // Use slower SD transfer mode (not normally needed - uncomment if you're getting volume init error)
+#define SD_CHECK_AND_RETRY // Use CRC checks and retries on the SD communication
+//#define ENCODER_PULSES_PER_STEP 1 // Increase if you have a high resolution encoder
+//#define ENCODER_STEPS_PER_MENU_ITEM 5 // Set according to ENCODER_PULSES_PER_STEP or your liking
+//#define ULTIMAKERCONTROLLER //as available from the Ultimaker online store.
+//#define ULTIPANEL  //the UltiPanel as on Thingiverse
+//#define LCD_FEEDBACK_FREQUENCY_HZ 1000	// this is the tone frequency the buzzer plays when on UI feedback. ie Screen Click
+//#define LCD_FEEDBACK_FREQUENCY_DURATION_MS 100 // the duration the buzzer plays the UI feedback sound. ie Screen Click
+
+// The MaKr3d Makr-Panel with graphic controller and SD support
+// http://reprap.org/wiki/MaKr3d_MaKrPanel
+//#define MAKRPANEL
+
+// The RepRapDiscount Smart Controller (white PCB)
+// http://reprap.org/wiki/RepRapDiscount_Smart_Controller
+#define REPRAP_DISCOUNT_SMART_CONTROLLER
+
+// The GADGETS3D G3D LCD/SD Controller (blue PCB)
+// http://reprap.org/wiki/RAMPS_1.3/1.4_GADGETS3D_Shield_with_Panel
+//#define G3D_PANEL
+
+// The RepRapDiscount FULL GRAPHIC Smart Controller (quadratic white PCB)
+// http://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller
+//
+// ==> REMEMBER TO INSTALL U8glib to your ARDUINO library folder: http://code.google.com/p/u8glib/wiki/u8glib
+//#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER
+
+// The RepRapWorld REPRAPWORLD_KEYPAD v1.1
+// http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626
+//#define REPRAPWORLD_KEYPAD
+//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 // how much should be moved when a key is pressed, eg 10.0 means 10mm per click
+
+// The Elefu RA Board Control Panel
+// http://www.elefu.com/index.php?route=product/product&product_id=53
+// REMEMBER TO INSTALL LiquidCrystal_I2C.h in your ARDUINO library folder: https://github.com/kiyoshigawa/LiquidCrystal_I2C
+//#define RA_CONTROL_PANEL
+
+//automatic expansion
+#if defined (MAKRPANEL)
+ #define DOGLCD
+ #define SDSUPPORT
+ #define ULTIPANEL
+ #define NEWPANEL
+ #define DEFAULT_LCD_CONTRAST 17
+#endif
+
+#if defined (REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER)
+ #define DOGLCD
+ #define U8GLIB_ST7920
+ #define REPRAP_DISCOUNT_SMART_CONTROLLER
+#endif
+
+#if defined(ULTIMAKERCONTROLLER) || defined(REPRAP_DISCOUNT_SMART_CONTROLLER) || defined(G3D_PANEL)
+ #define ULTIPANEL
+ #define NEWPANEL
+#endif
+
+#if defined(REPRAPWORLD_KEYPAD)
+  #define NEWPANEL
+  #define ULTIPANEL
+#endif
+#if defined(RA_CONTROL_PANEL)
+ #define ULTIPANEL
+ #define NEWPANEL
+ #define LCD_I2C_TYPE_PCA8574
+ #define LCD_I2C_ADDRESS 0x27   // I2C Address of the port expander
+#endif
+
+//I2C PANELS
+
+//#define LCD_I2C_SAINSMART_YWROBOT
+#ifdef LCD_I2C_SAINSMART_YWROBOT
+  // This uses the LiquidCrystal_I2C library ( https://bitbucket.org/fmalpartida/new-liquidcrystal/wiki/Home )
+  // Make sure it is placed in the Arduino libraries directory.
+  #define LCD_I2C_TYPE_PCF8575
+  #define LCD_I2C_ADDRESS 0x27   // I2C Address of the port expander
+  #define NEWPANEL
+  #define ULTIPANEL
+#endif
+
+// PANELOLU2 LCD with status LEDs, separate encoder and click inputs
+//#define LCD_I2C_PANELOLU2
+#ifdef LCD_I2C_PANELOLU2
+  // This uses the LiquidTWI2 library v1.2.3 or later ( https://github.com/lincomatic/LiquidTWI2 )
+  // Make sure the LiquidTWI2 directory is placed in the Arduino or Sketchbook libraries subdirectory.
+  // (v1.2.3 no longer requires you to define PANELOLU in the LiquidTWI2.h library header file)
+  // Note: The PANELOLU2 encoder click input can either be directly connected to a pin
+  //       (if BTN_ENC defined to != -1) or read through I2C (when BTN_ENC == -1).
+  #define LCD_I2C_TYPE_MCP23017
+  #define LCD_I2C_ADDRESS 0x20 // I2C Address of the port expander
+  #define LCD_USE_I2C_BUZZER //comment out to disable buzzer on LCD
+  #define NEWPANEL
+  #define ULTIPANEL
+
+  #ifndef ENCODER_PULSES_PER_STEP
+	#define ENCODER_PULSES_PER_STEP 4
+  #endif
+
+  #ifndef ENCODER_STEPS_PER_MENU_ITEM
+	#define ENCODER_STEPS_PER_MENU_ITEM 2
+  #endif
+
+
+  #ifdef LCD_USE_I2C_BUZZER
+	#define LCD_FEEDBACK_FREQUENCY_HZ 1000
+	#define LCD_FEEDBACK_FREQUENCY_DURATION_MS 100
+  #endif
+
+#endif
+
+// Panucatt VIKI LCD with status LEDs, integrated click & L/R/U/P buttons, separate encoder inputs
+//#define LCD_I2C_VIKI
+#ifdef LCD_I2C_VIKI
+  // This uses the LiquidTWI2 library v1.2.3 or later ( https://github.com/lincomatic/LiquidTWI2 )
+  // Make sure the LiquidTWI2 directory is placed in the Arduino or Sketchbook libraries subdirectory.
+  // Note: The pause/stop/resume LCD button pin should be connected to the Arduino
+  //       BTN_ENC pin (or set BTN_ENC to -1 if not used)
+  #define LCD_I2C_TYPE_MCP23017
+  #define LCD_I2C_ADDRESS 0x20 // I2C Address of the port expander
+  #define LCD_USE_I2C_BUZZER //comment out to disable buzzer on LCD (requires LiquidTWI2 v1.2.3 or later)
+  #define NEWPANEL
+  #define ULTIPANEL
+#endif
+
+// Shift register panels
+// ---------------------
+// 2 wire Non-latching LCD SR from:
+// https://bitbucket.org/fmalpartida/new-liquidcrystal/wiki/schematics#!shiftregister-connection 
+
+//#define SAV_3DLCD
+#ifdef SAV_3DLCD
+   #define SR_LCD_2W_NL    // Non latching 2 wire shiftregister
+   #define NEWPANEL
+   #define ULTIPANEL
+#endif
+
+
+#ifdef ULTIPANEL
+//  #define NEWPANEL  //enable this if you have a click-encoder panel
+  #define SDSUPPORT
+  #define ULTRA_LCD
+  #ifdef DOGLCD // Change number of lines to match the DOG graphic display
+    #define LCD_WIDTH 20
+    #define LCD_HEIGHT 5
+  #else
+    #define LCD_WIDTH 20
+    #define LCD_HEIGHT 4
+  #endif
+#else //no panel but just LCD
+  #ifdef ULTRA_LCD
+  #ifdef DOGLCD // Change number of lines to match the 128x64 graphics display
+    #define LCD_WIDTH 20
+    #define LCD_HEIGHT 5
+  #else
+    #define LCD_WIDTH 16
+    #define LCD_HEIGHT 2
+  #endif
+  #endif
+#endif
+
+// default LCD contrast for dogm-like LCD displays
+#ifdef DOGLCD
+# ifndef DEFAULT_LCD_CONTRAST
+#  define DEFAULT_LCD_CONTRAST 32
+# endif
+#endif
+
+// Increase the FAN pwm frequency. Removes the PWM noise but increases heating in the FET/Arduino
+//#define FAST_PWM_FAN
+
+// Temperature status LEDs that display the hotend and bet temperature.
+// If all hotends and bed temperature and temperature setpoint are < 54C then the BLUE led is on.
+// Otherwise the RED led is on. There is 1C hysteresis.
+//#define TEMP_STAT_LEDS
+
+// Use software PWM to drive the fan, as for the heaters. This uses a very low frequency
+// which is not ass annoying as with the hardware PWM. On the other hand, if this frequency
+// is too low, you should also increment SOFT_PWM_SCALE.
+//#define FAN_SOFT_PWM
+
+// Incrementing this by 1 will double the software PWM frequency,
+// affecting heaters, and the fan if FAN_SOFT_PWM is enabled.
+// However, control resolution will be halved for each increment;
+// at zero value, there are 128 effective control positions.
+#define SOFT_PWM_SCALE 0
+
+// M240  Triggers a camera by emulating a Canon RC-1 Remote
+// Data from: http://www.doc-diy.net/photo/rc-1_hacked/
+// #define PHOTOGRAPH_PIN     23
+
+// SF send wrong arc g-codes when using Arc Point as fillet procedure
+//#define SF_ARC_FIX
+
+// Support for the BariCUDA Paste Extruder.
+//#define BARICUDA
+
+//define BlinkM/CyzRgb Support
+//#define BLINKM
+
+/*********************************************************************\
+* R/C SERVO support
+* Sponsored by TrinityLabs, Reworked by codexmas
+**********************************************************************/
+
+// Number of servos
+//
+// If you select a configuration below, this will receive a default value and does not need to be set manually
+// set it manually if you have more servos than extruders and wish to manually control some
+// leaving it undefined or defining as 0 will disable the servo subsystem
+// If unsure, leave commented / disabled
+//
+//#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command
+
+// Servo Endstops
+//
+// This allows for servo actuated endstops, primary usage is for the Z Axis to eliminate calibration or bed height changes.
+// Use M206 command to correct for switch height offset to actual nozzle height. Store that setting with M500.
+//
+//#define SERVO_ENDSTOPS {-1, -1, 0} // Servo index for X, Y, Z. Disable with -1
+//#define SERVO_ENDSTOP_ANGLES {0,0, 0,0, 70,0} // X,Y,Z Axis Extend and Retract angles
+
+/**********************************************************************\
+ * Support for a filament diameter sensor
+ * Also allows adjustment of diameter at print time (vs  at slicing)
+ * Single extruder only at this point (extruder 0)
+ * 
+ * Motherboards
+ * 34 - RAMPS1.4 - uses Analog input 5 on the AUX2 connector 
+ * 81 - Printrboard - Uses Analog input 2 on the Exp1 connector (version B,C,D,E)
+ * 301 - Rambo  - uses Analog input 3
+ * Note may require analog pins to be defined for different motherboards
+ **********************************************************************/
+// Uncomment below to enable
+//#define FILAMENT_SENSOR
+
+#define FILAMENT_SENSOR_EXTRUDER_NUM	0  //The number of the extruder that has the filament sensor (0,1,2)
+#define MEASUREMENT_DELAY_CM			14  //measurement delay in cm.  This is the distance from filament sensor to middle of barrel
+
+#define DEFAULT_NOMINAL_FILAMENT_DIA  3.0  //Enter the diameter (in mm) of the filament generally used (3.0 mm or 1.75 mm) - this is then used in the slicer software.  Used for sensor reading validation
+#define MEASURED_UPPER_LIMIT          3.30  //upper limit factor used for sensor reading validation in mm
+#define MEASURED_LOWER_LIMIT          1.90  //lower limit factor for sensor reading validation in mm
+#define MAX_MEASUREMENT_DELAY			20  //delay buffer size in bytes (1 byte = 1cm)- limits maximum measurement delay allowable (must be larger than MEASUREMENT_DELAY_CM  and lower number saves RAM)
+
+//defines used in the code
+#define DEFAULT_MEASURED_FILAMENT_DIA  DEFAULT_NOMINAL_FILAMENT_DIA  //set measured to nominal initially 
+
+//When using an LCD, uncomment the line below to display the Filament sensor data on the last line instead of status.  Status will appear for 5 sec.
+//#define FILAMENT_LCD_DISPLAY
+
+
+
+
+
+
+#include "Configuration_adv.h"
+#include "thermistortables.h"
+
+
+
+
+#endif //__CONFIGURATION_H

+ 470 - 0
ConfigurationStore.cpp

@@ -0,0 +1,470 @@
+#include "Marlin.h"
+#include "planner.h"
+#include "temperature.h"
+#include "ultralcd.h"
+#include "ConfigurationStore.h"
+#include "Configuration_prusa.h"
+
+void _EEPROM_writeData(int &pos, uint8_t* value, uint8_t size)
+{
+    do
+    {
+        eeprom_write_byte((unsigned char*)pos, *value);
+        pos++;
+        value++;
+    }while(--size);
+}
+#define EEPROM_WRITE_VAR(pos, value) _EEPROM_writeData(pos, (uint8_t*)&value, sizeof(value))
+void _EEPROM_readData(int &pos, uint8_t* value, uint8_t size)
+{
+    do
+    {
+        *value = eeprom_read_byte((unsigned char*)pos);
+        pos++;
+        value++;
+    }while(--size);
+}
+#define EEPROM_READ_VAR(pos, value) _EEPROM_readData(pos, (uint8_t*)&value, sizeof(value))
+//======================================================================================
+
+
+
+
+#define EEPROM_OFFSET 100
+
+
+// IMPORTANT:  Whenever there are changes made to the variables stored in EEPROM
+// in the functions below, also increment the version number. This makes sure that
+// the default values are used whenever there is a change to the data, to prevent
+// wrong data being written to the variables.
+// ALSO:  always make sure the variables in the Store and retrieve sections are in the same order.
+
+#define EEPROM_VERSION "V13"
+
+#ifdef EEPROM_SETTINGS
+void Config_StoreSettings() 
+{
+  char ver[4]= "000";
+  int i=EEPROM_OFFSET;
+  EEPROM_WRITE_VAR(i,ver); // invalidate data first 
+  EEPROM_WRITE_VAR(i,axis_steps_per_unit);
+  EEPROM_WRITE_VAR(i,max_feedrate);  
+  EEPROM_WRITE_VAR(i,max_acceleration_units_per_sq_second);
+  EEPROM_WRITE_VAR(i,acceleration);
+  EEPROM_WRITE_VAR(i,retract_acceleration);
+  EEPROM_WRITE_VAR(i,minimumfeedrate);
+  EEPROM_WRITE_VAR(i,mintravelfeedrate);
+  EEPROM_WRITE_VAR(i,minsegmenttime);
+  EEPROM_WRITE_VAR(i,max_xy_jerk);
+  EEPROM_WRITE_VAR(i,max_z_jerk);
+  EEPROM_WRITE_VAR(i,max_e_jerk);
+  EEPROM_WRITE_VAR(i,add_homing);
+  #ifdef DELTA
+  EEPROM_WRITE_VAR(i,endstop_adj);
+  EEPROM_WRITE_VAR(i,delta_radius);
+  EEPROM_WRITE_VAR(i,delta_diagonal_rod);
+  EEPROM_WRITE_VAR(i,delta_segments_per_second);
+  #endif
+  #ifndef ULTIPANEL
+  int plaPreheatHotendTemp = PLA_PREHEAT_HOTEND_TEMP, plaPreheatHPBTemp = PLA_PREHEAT_HPB_TEMP, plaPreheatFanSpeed = PLA_PREHEAT_FAN_SPEED;
+  int absPreheatHotendTemp = ABS_PREHEAT_HOTEND_TEMP, absPreheatHPBTemp = ABS_PREHEAT_HPB_TEMP, absPreheatFanSpeed = ABS_PREHEAT_FAN_SPEED;
+  
+
+  
+  #endif
+  EEPROM_WRITE_VAR(i,plaPreheatHotendTemp);
+  EEPROM_WRITE_VAR(i,plaPreheatHPBTemp);
+  EEPROM_WRITE_VAR(i,plaPreheatFanSpeed);
+  EEPROM_WRITE_VAR(i,absPreheatHotendTemp);
+  EEPROM_WRITE_VAR(i,absPreheatHPBTemp);
+  EEPROM_WRITE_VAR(i,absPreheatFanSpeed);
+  
+  EEPROM_WRITE_VAR(i,zprobe_zoffset);
+  #ifdef PIDTEMP
+    EEPROM_WRITE_VAR(i,Kp);
+    EEPROM_WRITE_VAR(i,Ki);
+    EEPROM_WRITE_VAR(i,Kd);
+  #else
+		float dummy = 3000.0f;
+    EEPROM_WRITE_VAR(i,dummy);
+		dummy = 0.0f;
+    EEPROM_WRITE_VAR(i,dummy);
+    EEPROM_WRITE_VAR(i,dummy);
+  #endif
+  #ifndef DOGLCD
+    int lcd_contrast = 32;
+  #endif
+  EEPROM_WRITE_VAR(i,lcd_contrast);
+  #ifdef SCARA
+  EEPROM_WRITE_VAR(i,axis_scaling);        // Add scaling for SCARA
+  #endif
+  #ifdef FWRETRACT
+  EEPROM_WRITE_VAR(i,autoretract_enabled);
+  EEPROM_WRITE_VAR(i,retract_length);
+  #if EXTRUDERS > 1
+  EEPROM_WRITE_VAR(i,retract_length_swap);
+  #endif
+  EEPROM_WRITE_VAR(i,retract_feedrate);
+  EEPROM_WRITE_VAR(i,retract_zlift);
+  EEPROM_WRITE_VAR(i,retract_recover_length);
+  #if EXTRUDERS > 1
+  EEPROM_WRITE_VAR(i,retract_recover_length_swap);
+  #endif
+  EEPROM_WRITE_VAR(i,retract_recover_feedrate);
+  #endif
+
+  // Save filament sizes
+  EEPROM_WRITE_VAR(i, volumetric_enabled);
+  EEPROM_WRITE_VAR(i, filament_size[0]);
+  #if EXTRUDERS > 1
+  EEPROM_WRITE_VAR(i, filament_size[1]);
+  #if EXTRUDERS > 2
+  EEPROM_WRITE_VAR(i, filament_size[2]);
+  #endif
+  #endif
+  
+  char ver2[4]=EEPROM_VERSION;
+  i=EEPROM_OFFSET;
+  EEPROM_WRITE_VAR(i,ver2); // validate data
+  SERIAL_ECHO_START;
+  SERIAL_ECHOLNPGM("Settings Stored");
+}
+#endif //EEPROM_SETTINGS
+
+
+#ifndef DISABLE_M503
+void Config_PrintSettings()
+{  // Always have this function, even with EEPROM_SETTINGS disabled, the current values will be shown
+    SERIAL_ECHO_START;
+    SERIAL_ECHOLNPGM("Steps per unit:");
+    SERIAL_ECHO_START;
+    SERIAL_ECHOPAIR("  M92 X",axis_steps_per_unit[X_AXIS]);
+    SERIAL_ECHOPAIR(" Y",axis_steps_per_unit[Y_AXIS]);
+    SERIAL_ECHOPAIR(" Z",axis_steps_per_unit[Z_AXIS]);
+    SERIAL_ECHOPAIR(" E",axis_steps_per_unit[E_AXIS]);
+    SERIAL_ECHOLN("");
+      
+    SERIAL_ECHO_START;
+#ifdef SCARA
+SERIAL_ECHOLNPGM("Scaling factors:");
+    SERIAL_ECHO_START;
+    SERIAL_ECHOPAIR("  M365 X",axis_scaling[X_AXIS]);
+    SERIAL_ECHOPAIR(" Y",axis_scaling[Y_AXIS]);
+    SERIAL_ECHOPAIR(" Z",axis_scaling[Z_AXIS]);
+    SERIAL_ECHOLN("");
+      
+    SERIAL_ECHO_START;
+#endif
+    SERIAL_ECHOLNPGM("Maximum feedrates (mm/s):");
+    SERIAL_ECHO_START;
+    SERIAL_ECHOPAIR("  M203 X", max_feedrate[X_AXIS]);
+    SERIAL_ECHOPAIR(" Y", max_feedrate[Y_AXIS]); 
+    SERIAL_ECHOPAIR(" Z", max_feedrate[Z_AXIS]); 
+    SERIAL_ECHOPAIR(" E", max_feedrate[E_AXIS]);
+    SERIAL_ECHOLN("");
+
+    SERIAL_ECHO_START;
+    SERIAL_ECHOLNPGM("Maximum Acceleration (mm/s2):");
+    SERIAL_ECHO_START;
+    SERIAL_ECHOPAIR("  M201 X" ,max_acceleration_units_per_sq_second[X_AXIS] ); 
+    SERIAL_ECHOPAIR(" Y" , max_acceleration_units_per_sq_second[Y_AXIS] ); 
+    SERIAL_ECHOPAIR(" Z" ,max_acceleration_units_per_sq_second[Z_AXIS] );
+    SERIAL_ECHOPAIR(" E" ,max_acceleration_units_per_sq_second[E_AXIS]);
+    SERIAL_ECHOLN("");
+    SERIAL_ECHO_START;
+    SERIAL_ECHOLNPGM("Acceleration: S=acceleration, T=retract acceleration");
+    SERIAL_ECHO_START;
+    SERIAL_ECHOPAIR("  M204 S",acceleration ); 
+    SERIAL_ECHOPAIR(" T" ,retract_acceleration);
+    SERIAL_ECHOLN("");
+
+    SERIAL_ECHO_START;
+    SERIAL_ECHOLNPGM("Advanced variables: S=Min feedrate (mm/s), T=Min travel feedrate (mm/s), B=minimum segment time (ms), X=maximum XY jerk (mm/s),  Z=maximum Z jerk (mm/s),  E=maximum E jerk (mm/s)");
+    SERIAL_ECHO_START;
+    SERIAL_ECHOPAIR("  M205 S",minimumfeedrate ); 
+    SERIAL_ECHOPAIR(" T" ,mintravelfeedrate ); 
+    SERIAL_ECHOPAIR(" B" ,minsegmenttime ); 
+    SERIAL_ECHOPAIR(" X" ,max_xy_jerk ); 
+    SERIAL_ECHOPAIR(" Z" ,max_z_jerk);
+    SERIAL_ECHOPAIR(" E" ,max_e_jerk);
+    SERIAL_ECHOLN(""); 
+
+    SERIAL_ECHO_START;
+    SERIAL_ECHOLNPGM("Home offset (mm):");
+    SERIAL_ECHO_START;
+    SERIAL_ECHOPAIR("  M206 X",add_homing[X_AXIS] );
+    SERIAL_ECHOPAIR(" Y" ,add_homing[Y_AXIS] );
+    SERIAL_ECHOPAIR(" Z" ,add_homing[Z_AXIS] );
+    SERIAL_ECHOLN("");
+#ifdef DELTA
+    SERIAL_ECHO_START;
+    SERIAL_ECHOLNPGM("Endstop adjustement (mm):");
+    SERIAL_ECHO_START;
+    SERIAL_ECHOPAIR("  M666 X",endstop_adj[X_AXIS] );
+    SERIAL_ECHOPAIR(" Y" ,endstop_adj[Y_AXIS] );
+    SERIAL_ECHOPAIR(" Z" ,endstop_adj[Z_AXIS] );
+	SERIAL_ECHOLN("");
+	SERIAL_ECHO_START;
+	SERIAL_ECHOLNPGM("Delta settings: L=delta_diagonal_rod, R=delta_radius, S=delta_segments_per_second");
+	SERIAL_ECHO_START;
+	SERIAL_ECHOPAIR("  M665 L",delta_diagonal_rod );
+	SERIAL_ECHOPAIR(" R" ,delta_radius );
+	SERIAL_ECHOPAIR(" S" ,delta_segments_per_second );
+	SERIAL_ECHOLN("");
+#endif
+#ifdef PIDTEMP
+    SERIAL_ECHO_START;
+    SERIAL_ECHOLNPGM("PID settings:");
+    SERIAL_ECHO_START;
+    SERIAL_ECHOPAIR("   M301 P",Kp); 
+    SERIAL_ECHOPAIR(" I" ,unscalePID_i(Ki)); 
+    SERIAL_ECHOPAIR(" D" ,unscalePID_d(Kd));
+    SERIAL_ECHOLN(""); 
+#endif
+#ifdef FWRETRACT
+    SERIAL_ECHO_START;
+    SERIAL_ECHOLNPGM("Retract: S=Length (mm) F:Speed (mm/m) Z: ZLift (mm)");
+    SERIAL_ECHO_START;
+    SERIAL_ECHOPAIR("   M207 S",retract_length); 
+    SERIAL_ECHOPAIR(" F" ,retract_feedrate*60); 
+    SERIAL_ECHOPAIR(" Z" ,retract_zlift);
+    SERIAL_ECHOLN(""); 
+    SERIAL_ECHO_START;
+    SERIAL_ECHOLNPGM("Recover: S=Extra length (mm) F:Speed (mm/m)");
+    SERIAL_ECHO_START;
+    SERIAL_ECHOPAIR("   M208 S",retract_recover_length);
+    SERIAL_ECHOPAIR(" F", retract_recover_feedrate*60);
+	SERIAL_ECHOLN("");
+    SERIAL_ECHO_START;
+    SERIAL_ECHOLNPGM("Auto-Retract: S=0 to disable, 1 to interpret extrude-only moves as retracts or recoveries");
+    SERIAL_ECHO_START;
+    SERIAL_ECHOPAIR("   M209 S", (unsigned long)(autoretract_enabled ? 1 : 0));
+    SERIAL_ECHOLN("");
+#if EXTRUDERS > 1
+    SERIAL_ECHO_START;
+    SERIAL_ECHOLNPGM("Multi-extruder settings:");
+    SERIAL_ECHO_START;
+    SERIAL_ECHOPAIR("   Swap retract length (mm):    ", retract_length_swap);
+    SERIAL_ECHOLN("");
+    SERIAL_ECHO_START;
+    SERIAL_ECHOPAIR("   Swap rec. addl. length (mm): ", retract_recover_length_swap);
+    SERIAL_ECHOLN("");
+#endif
+    SERIAL_ECHO_START;
+    if (volumetric_enabled) {
+        SERIAL_ECHOLNPGM("Filament settings:");
+        SERIAL_ECHO_START;
+        SERIAL_ECHOPAIR("   M200 D", filament_size[0]);
+        SERIAL_ECHOLN(""); 
+#if EXTRUDERS > 1
+		SERIAL_ECHO_START;
+        SERIAL_ECHOPAIR("   M200 T1 D", filament_size[1]);
+        SERIAL_ECHOLN(""); 
+#if EXTRUDERS > 2
+		SERIAL_ECHO_START;
+        SERIAL_ECHOPAIR("   M200 T2 D", filament_size[2]);
+		SERIAL_ECHOLN("");
+#endif
+#endif
+    } else {
+        SERIAL_ECHOLNPGM("Filament settings: Disabled");
+    }
+#endif
+}
+#endif
+
+
+#ifdef EEPROM_SETTINGS
+void Config_RetrieveSettings()
+{
+    int i=EEPROM_OFFSET;
+    char stored_ver[4];
+    char ver[4]=EEPROM_VERSION;
+    EEPROM_READ_VAR(i,stored_ver); //read stored version
+    //  SERIAL_ECHOLN("Version: [" << ver << "] Stored version: [" << stored_ver << "]");
+    if (strncmp(ver,stored_ver,3) == 0)
+    {
+        // version number match
+        EEPROM_READ_VAR(i,axis_steps_per_unit);
+        EEPROM_READ_VAR(i,max_feedrate);  
+        EEPROM_READ_VAR(i,max_acceleration_units_per_sq_second);
+        
+        // steps per sq second need to be updated to agree with the units per sq second (as they are what is used in the planner)
+		reset_acceleration_rates();
+        
+        EEPROM_READ_VAR(i,acceleration);
+        EEPROM_READ_VAR(i,retract_acceleration);
+        EEPROM_READ_VAR(i,minimumfeedrate);
+        EEPROM_READ_VAR(i,mintravelfeedrate);
+        EEPROM_READ_VAR(i,minsegmenttime);
+        EEPROM_READ_VAR(i,max_xy_jerk);
+        EEPROM_READ_VAR(i,max_z_jerk);
+        EEPROM_READ_VAR(i,max_e_jerk);
+        EEPROM_READ_VAR(i,add_homing);
+        #ifdef DELTA
+		EEPROM_READ_VAR(i,endstop_adj);
+		EEPROM_READ_VAR(i,delta_radius);
+		EEPROM_READ_VAR(i,delta_diagonal_rod);
+		EEPROM_READ_VAR(i,delta_segments_per_second);
+        #endif
+        #ifndef ULTIPANEL
+        int plaPreheatHotendTemp, plaPreheatHPBTemp, plaPreheatFanSpeed;
+        int absPreheatHotendTemp, absPreheatHPBTemp, absPreheatFanSpeed;
+
+        #endif
+        EEPROM_READ_VAR(i,plaPreheatHotendTemp);
+        EEPROM_READ_VAR(i,plaPreheatHPBTemp);
+        EEPROM_READ_VAR(i,plaPreheatFanSpeed);
+        EEPROM_READ_VAR(i,absPreheatHotendTemp);
+        EEPROM_READ_VAR(i,absPreheatHPBTemp);
+        EEPROM_READ_VAR(i,absPreheatFanSpeed);
+        
+
+        
+        EEPROM_READ_VAR(i,zprobe_zoffset);
+        #ifndef PIDTEMP
+        float Kp,Ki,Kd;
+        #endif
+        // do not need to scale PID values as the values in EEPROM are already scaled		
+        EEPROM_READ_VAR(i,Kp);
+        EEPROM_READ_VAR(i,Ki);
+        EEPROM_READ_VAR(i,Kd);
+        #ifndef DOGLCD
+        int lcd_contrast;
+        #endif
+        EEPROM_READ_VAR(i,lcd_contrast);
+		#ifdef SCARA
+		EEPROM_READ_VAR(i,axis_scaling);
+		#endif
+
+		#ifdef FWRETRACT
+		EEPROM_READ_VAR(i,autoretract_enabled);
+		EEPROM_READ_VAR(i,retract_length);
+		#if EXTRUDERS > 1
+		EEPROM_READ_VAR(i,retract_length_swap);
+		#endif
+		EEPROM_READ_VAR(i,retract_feedrate);
+		EEPROM_READ_VAR(i,retract_zlift);
+		EEPROM_READ_VAR(i,retract_recover_length);
+		#if EXTRUDERS > 1
+		EEPROM_READ_VAR(i,retract_recover_length_swap);
+		#endif
+		EEPROM_READ_VAR(i,retract_recover_feedrate);
+		#endif
+
+		EEPROM_READ_VAR(i, volumetric_enabled);
+		EEPROM_READ_VAR(i, filament_size[0]);
+#if EXTRUDERS > 1
+		EEPROM_READ_VAR(i, filament_size[1]);
+#if EXTRUDERS > 2
+		EEPROM_READ_VAR(i, filament_size[2]);
+#endif
+#endif
+		calculate_volumetric_multipliers();
+		// Call updatePID (similar to when we have processed M301)
+		updatePID();
+        SERIAL_ECHO_START;
+        SERIAL_ECHOLNPGM("Stored settings retrieved");
+    }
+    else
+    {
+        Config_ResetDefault();
+    }
+    #ifdef EEPROM_CHITCHAT
+      Config_PrintSettings();
+    #endif
+}
+#endif
+
+void Config_ResetDefault()
+{
+    float tmp1[]=DEFAULT_AXIS_STEPS_PER_UNIT;
+    float tmp2[]=DEFAULT_MAX_FEEDRATE;
+    long tmp3[]=DEFAULT_MAX_ACCELERATION;
+    for (short i=0;i<4;i++) 
+    {
+        axis_steps_per_unit[i]=tmp1[i];  
+        max_feedrate[i]=tmp2[i];  
+        max_acceleration_units_per_sq_second[i]=tmp3[i];
+		#ifdef SCARA
+		axis_scaling[i]=1;
+		#endif
+    }
+    
+    // steps per sq second need to be updated to agree with the units per sq second
+    reset_acceleration_rates();
+    
+    acceleration=DEFAULT_ACCELERATION;
+    retract_acceleration=DEFAULT_RETRACT_ACCELERATION;
+    minimumfeedrate=DEFAULT_MINIMUMFEEDRATE;
+    minsegmenttime=DEFAULT_MINSEGMENTTIME;       
+    mintravelfeedrate=DEFAULT_MINTRAVELFEEDRATE;
+    max_xy_jerk=DEFAULT_XYJERK;
+    max_z_jerk=DEFAULT_ZJERK;
+    max_e_jerk=DEFAULT_EJERK;
+    add_homing[X_AXIS] = add_homing[Y_AXIS] = add_homing[Z_AXIS] = 0;
+#ifdef DELTA
+	endstop_adj[X_AXIS] = endstop_adj[Y_AXIS] = endstop_adj[Z_AXIS] = 0;
+	delta_radius= DELTA_RADIUS;
+	delta_diagonal_rod= DELTA_DIAGONAL_ROD;
+	delta_segments_per_second= DELTA_SEGMENTS_PER_SECOND;
+	recalc_delta_settings(delta_radius, delta_diagonal_rod);
+#endif
+#ifdef ULTIPANEL
+    plaPreheatHotendTemp = PLA_PREHEAT_HOTEND_TEMP;
+    plaPreheatHPBTemp = PLA_PREHEAT_HPB_TEMP;
+    plaPreheatFanSpeed = PLA_PREHEAT_FAN_SPEED;
+    absPreheatHotendTemp = ABS_PREHEAT_HOTEND_TEMP;
+    absPreheatHPBTemp = ABS_PREHEAT_HPB_TEMP;
+    absPreheatFanSpeed = ABS_PREHEAT_FAN_SPEED;
+    
+
+#endif
+#ifdef ENABLE_AUTO_BED_LEVELING
+    zprobe_zoffset = -Z_PROBE_OFFSET_FROM_EXTRUDER;
+#endif
+#ifdef DOGLCD
+    lcd_contrast = DEFAULT_LCD_CONTRAST;
+#endif
+#ifdef PIDTEMP
+    Kp = DEFAULT_Kp;
+    Ki = scalePID_i(DEFAULT_Ki);
+    Kd = scalePID_d(DEFAULT_Kd);
+    
+    // call updatePID (similar to when we have processed M301)
+    updatePID();
+    
+#ifdef PID_ADD_EXTRUSION_RATE
+    Kc = DEFAULT_Kc;
+#endif//PID_ADD_EXTRUSION_RATE
+#endif//PIDTEMP
+
+#ifdef FWRETRACT
+	autoretract_enabled = false;
+	retract_length = RETRACT_LENGTH;
+#if EXTRUDERS > 1
+	retract_length_swap = RETRACT_LENGTH_SWAP;
+#endif
+	retract_feedrate = RETRACT_FEEDRATE;
+	retract_zlift = RETRACT_ZLIFT;
+	retract_recover_length = RETRACT_RECOVER_LENGTH;
+#if EXTRUDERS > 1
+	retract_recover_length_swap = RETRACT_RECOVER_LENGTH_SWAP;
+#endif
+	retract_recover_feedrate = RETRACT_RECOVER_FEEDRATE;
+#endif
+
+	volumetric_enabled = false;
+	filament_size[0] = DEFAULT_NOMINAL_FILAMENT_DIA;
+#if EXTRUDERS > 1
+	filament_size[1] = DEFAULT_NOMINAL_FILAMENT_DIA;
+#if EXTRUDERS > 2
+	filament_size[2] = DEFAULT_NOMINAL_FILAMENT_DIA;
+#endif
+#endif
+	calculate_volumetric_multipliers();
+
+SERIAL_ECHO_START;
+SERIAL_ECHOLNPGM("Hardcoded Default Settings Loaded");
+
+}

+ 22 - 0
ConfigurationStore.h

@@ -0,0 +1,22 @@
+#ifndef CONFIG_STORE_H
+#define CONFIG_STORE_H
+
+#include "Configuration.h"
+
+void Config_ResetDefault();
+
+#ifndef DISABLE_M503
+void Config_PrintSettings();
+#else
+FORCE_INLINE void Config_PrintSettings() {}
+#endif
+
+#ifdef EEPROM_SETTINGS
+void Config_StoreSettings();
+void Config_RetrieveSettings();
+#else
+FORCE_INLINE void Config_StoreSettings() {}
+FORCE_INLINE void Config_RetrieveSettings() { Config_ResetDefault(); Config_PrintSettings(); }
+#endif
+
+#endif//CONFIG_STORE_H

+ 501 - 0
Configuration_adv.h

@@ -0,0 +1,501 @@
+#ifndef CONFIGURATION_ADV_H
+#define CONFIGURATION_ADV_H
+
+//===========================================================================
+//=============================Thermal Settings  ============================
+//===========================================================================
+
+#ifdef BED_LIMIT_SWITCHING
+  #define BED_HYSTERESIS 2 //only disable heating if T>target+BED_HYSTERESIS and enable heating if T>target-BED_HYSTERESIS
+#endif
+#define BED_CHECK_INTERVAL 5000 //ms between checks in bang-bang control
+
+//// Heating sanity check:
+// This waits for the watch period in milliseconds whenever an M104 or M109 increases the target temperatureLCD_PROGRESS_BAR
+// If the temperature has not increased at the end of that period, the target temperature is set to zero.
+// It can be reset with another M104/M109. This check is also only triggered if the target temperature and the current temperature
+//  differ by at least 2x WATCH_TEMP_INCREASE
+//#define WATCH_TEMP_PERIOD 40000 //40 seconds
+//#define WATCH_TEMP_INCREASE 10  //Heat up at least 10 degree in 20 seconds
+
+#ifdef PIDTEMP
+  // this adds an experimental additional term to the heating power, proportional to the extrusion speed.
+  // if Kc is chosen well, the additional required power due to increased melting should be compensated.
+  #define PID_ADD_EXTRUSION_RATE
+  #ifdef PID_ADD_EXTRUSION_RATE
+    #define  DEFAULT_Kc (1) //heating power=Kc*(e_speed)
+  #endif
+#endif
+
+
+//automatic temperature: The hot end target temperature is calculated by all the buffered lines of gcode.
+//The maximum buffered steps/sec of the extruder motor are called "se".
+//You enter the autotemp mode by a M109 S<mintemp> B<maxtemp> F<factor>
+// the target temperature is set to mintemp+factor*se[steps/sec] and limited by mintemp and maxtemp
+// you exit the value by any M109 without F*
+// Also, if the temperature is set to a value <mintemp, it is not changed by autotemp.
+// on an Ultimaker, some initial testing worked with M109 S215 B260 F1 in the start.gcode
+//#define AUTOTEMP
+#ifdef AUTOTEMP
+  #define AUTOTEMP_OLDWEIGHT 0.98
+#endif
+
+//Show Temperature ADC value
+//The M105 command return, besides traditional information, the ADC value read from temperature sensors.
+//#define SHOW_TEMP_ADC_VALUES
+
+//  extruder run-out prevention.
+//if the machine is idle, and the temperature over MINTEMP, every couple of SECONDS some filament is extruded
+//#define EXTRUDER_RUNOUT_PREVENT
+#define EXTRUDER_RUNOUT_MINTEMP 190
+#define EXTRUDER_RUNOUT_SECONDS 30.
+#define EXTRUDER_RUNOUT_ESTEPS 14. //mm filament
+#define EXTRUDER_RUNOUT_SPEED 1500.  //extrusion speed
+#define EXTRUDER_RUNOUT_EXTRUDE 100
+
+//These defines help to calibrate the AD595 sensor in case you get wrong temperature measurements.
+//The measured temperature is defined as "actualTemp = (measuredTemp * TEMP_SENSOR_AD595_GAIN) + TEMP_SENSOR_AD595_OFFSET"
+#define TEMP_SENSOR_AD595_OFFSET 0.0
+#define TEMP_SENSOR_AD595_GAIN   1.0
+
+//This is for controlling a fan to cool down the stepper drivers
+//it will turn on when any driver is enabled
+//and turn off after the set amount of seconds from last driver being disabled again
+#define CONTROLLERFAN_PIN -1 //Pin used for the fan to cool controller (-1 to disable)
+#define CONTROLLERFAN_SECS 60 //How many seconds, after all motors were disabled, the fan should run
+#define CONTROLLERFAN_SPEED 255  // == full speed
+
+// When first starting the main fan, run it at full speed for the
+// given number of milliseconds.  This gets the fan spinning reliably
+// before setting a PWM value. (Does not work with software PWM for fan on Sanguinololu)
+//#define FAN_KICKSTART_TIME 100
+
+
+
+
+//===========================================================================
+//=============================Mechanical Settings===========================
+//===========================================================================
+
+#define ENDSTOPS_ONLY_FOR_HOMING // If defined the endstops will only be used for homing
+
+
+//// AUTOSET LOCATIONS OF LIMIT SWITCHES
+//// Added by ZetaPhoenix 09-15-2012
+#ifdef MANUAL_HOME_POSITIONS  // Use manual limit switch locations
+  #define X_HOME_POS MANUAL_X_HOME_POS
+  #define Y_HOME_POS MANUAL_Y_HOME_POS
+  #define Z_HOME_POS MANUAL_Z_HOME_POS
+#else //Set min/max homing switch positions based upon homing direction and min/max travel limits
+  //X axis
+  #if X_HOME_DIR == -1
+    #ifdef BED_CENTER_AT_0_0
+      #define X_HOME_POS X_MAX_LENGTH * -0.5
+    #else
+      #define X_HOME_POS X_MIN_POS
+    #endif //BED_CENTER_AT_0_0
+  #else
+    #ifdef BED_CENTER_AT_0_0
+      #define X_HOME_POS X_MAX_LENGTH * 0.5
+    #else
+      #define X_HOME_POS X_MAX_POS
+    #endif //BED_CENTER_AT_0_0
+  #endif //X_HOME_DIR == -1
+
+  //Y axis
+  #if Y_HOME_DIR == -1
+    #ifdef BED_CENTER_AT_0_0
+      #define Y_HOME_POS Y_MAX_LENGTH * -0.5
+    #else
+      #define Y_HOME_POS Y_MIN_POS
+    #endif //BED_CENTER_AT_0_0
+  #else
+    #ifdef BED_CENTER_AT_0_0
+      #define Y_HOME_POS Y_MAX_LENGTH * 0.5
+    #else
+      #define Y_HOME_POS Y_MAX_POS
+    #endif //BED_CENTER_AT_0_0
+  #endif //Y_HOME_DIR == -1
+
+  // Z axis
+  #if Z_HOME_DIR == -1 //BED_CENTER_AT_0_0 not used
+    #define Z_HOME_POS Z_MIN_POS
+  #else
+    #define Z_HOME_POS Z_MAX_POS
+  #endif //Z_HOME_DIR == -1
+#endif //End auto min/max positions
+//END AUTOSET LOCATIONS OF LIMIT SWITCHES -ZP
+
+
+//#define Z_LATE_ENABLE // Enable Z the last moment. Needed if your Z driver overheats.
+
+// A single Z stepper driver is usually used to drive 2 stepper motors.
+// Uncomment this define to utilize a separate stepper driver for each Z axis motor.
+// Only a few motherboards support this, like RAMPS, which have dual extruder support (the 2nd, often unused, extruder driver is used
+// to control the 2nd Z axis stepper motor). The pins are currently only defined for a RAMPS motherboards.
+// On a RAMPS (or other 5 driver) motherboard, using this feature will limit you to using 1 extruder.
+//#define Z_DUAL_STEPPER_DRIVERS
+
+#ifdef Z_DUAL_STEPPER_DRIVERS
+  #undef EXTRUDERS
+  #define EXTRUDERS 1
+#endif
+
+// Same again but for Y Axis.
+//#define Y_DUAL_STEPPER_DRIVERS
+
+// Define if the two Y drives need to rotate in opposite directions
+#define INVERT_Y2_VS_Y_DIR true
+
+#ifdef Y_DUAL_STEPPER_DRIVERS
+  #undef EXTRUDERS
+  #define EXTRUDERS 1
+#endif
+
+#if defined (Z_DUAL_STEPPER_DRIVERS) && defined (Y_DUAL_STEPPER_DRIVERS)
+  #error "You cannot have dual drivers for both Y and Z"
+#endif
+
+// Enable this for dual x-carriage printers.
+// A dual x-carriage design has the advantage that the inactive extruder can be parked which
+// prevents hot-end ooze contaminating the print. It also reduces the weight of each x-carriage
+// allowing faster printing speeds.
+//#define DUAL_X_CARRIAGE
+#ifdef DUAL_X_CARRIAGE
+// Configuration for second X-carriage
+// Note: the first x-carriage is defined as the x-carriage which homes to the minimum endstop;
+// the second x-carriage always homes to the maximum endstop.
+#define X2_MIN_POS 80     // set minimum to ensure second x-carriage doesn't hit the parked first X-carriage
+#define X2_MAX_POS 353    // set maximum to the distance between toolheads when both heads are homed
+#define X2_HOME_DIR 1     // the second X-carriage always homes to the maximum endstop position
+#define X2_HOME_POS X2_MAX_POS // default home position is the maximum carriage position
+    // However: In this mode the EXTRUDER_OFFSET_X value for the second extruder provides a software
+    // override for X2_HOME_POS. This also allow recalibration of the distance between the two endstops
+    // without modifying the firmware (through the "M218 T1 X???" command).
+    // Remember: you should set the second extruder x-offset to 0 in your slicer.
+
+// Pins for second x-carriage stepper driver (defined here to avoid further complicating pins.h)
+#define X2_ENABLE_PIN 29
+#define X2_STEP_PIN 25
+#define X2_DIR_PIN 23
+
+// There are a few selectable movement modes for dual x-carriages using M605 S<mode>
+//    Mode 0: Full control. The slicer has full control over both x-carriages and can achieve optimal travel results
+//                           as long as it supports dual x-carriages. (M605 S0)
+//    Mode 1: Auto-park mode. The firmware will automatically park and unpark the x-carriages on tool changes so
+//                           that additional slicer support is not required. (M605 S1)
+//    Mode 2: Duplication mode. The firmware will transparently make the second x-carriage and extruder copy all
+//                           actions of the first x-carriage. This allows the printer to print 2 arbitrary items at
+//                           once. (2nd extruder x offset and temp offset are set using: M605 S2 [Xnnn] [Rmmm])
+
+// This is the default power-up mode which can be later using M605.
+#define DEFAULT_DUAL_X_CARRIAGE_MODE 0
+
+// As the x-carriages are independent we can now account for any relative Z offset
+#define EXTRUDER1_Z_OFFSET 0.0           // z offset relative to extruder 0
+
+// Default settings in "Auto-park Mode"
+#define TOOLCHANGE_PARK_ZLIFT   0.2      // the distance to raise Z axis when parking an extruder
+#define TOOLCHANGE_UNPARK_ZLIFT 1        // the distance to raise Z axis when unparking an extruder
+
+// Default x offset in duplication mode (typically set to half print bed width)
+#define DEFAULT_DUPLICATION_X_OFFSET 100
+
+#endif //DUAL_X_CARRIAGE
+
+//homing hits the endstop, then retracts by this distance, before it tries to slowly bump again:
+#define X_HOME_RETRACT_MM 5
+#define Y_HOME_RETRACT_MM 5
+#define Z_HOME_RETRACT_MM 2
+//#define QUICK_HOME  //if this is defined, if both x and y are to be homed, a diagonal move will be performed initially.
+
+#define AXIS_RELATIVE_MODES {false, false, false, false}
+#ifdef CONFIG_STEPPERS_TOSHIBA
+#define MAX_STEP_FREQUENCY 10000 // Max step frequency for Toshiba Stepper Controllers
+#else
+#define MAX_STEP_FREQUENCY 40000 // Max step frequency for Ultimaker (5000 pps / half step)
+#endif
+//By default pololu step drivers require an active high signal. However, some high power drivers require an active low signal as step.
+#define INVERT_X_STEP_PIN false
+#define INVERT_Y_STEP_PIN false
+#define INVERT_Z_STEP_PIN false
+#define INVERT_E_STEP_PIN false
+
+//default stepper release if idle
+#define DEFAULT_STEPPER_DEACTIVE_TIME 60
+
+#define DEFAULT_MINIMUMFEEDRATE       0.0     // minimum feedrate
+#define DEFAULT_MINTRAVELFEEDRATE     0.0
+
+// Feedrates for manual moves along X, Y, Z, E from panel
+#ifdef ULTIPANEL
+#define MANUAL_FEEDRATE {50*60, 50*60, 4*60, 60}  // set the speeds for manual moves (mm/min)
+#endif
+
+//Comment to disable setting feedrate multiplier via encoder
+#ifdef ULTIPANEL
+    #define ULTIPANEL_FEEDMULTIPLY
+#endif
+
+// minimum time in microseconds that a movement needs to take if the buffer is emptied.
+#define DEFAULT_MINSEGMENTTIME        20000
+
+// If defined the movements slow down when the look ahead buffer is only half full
+#define SLOWDOWN
+
+// Frequency limit
+// See nophead's blog for more info
+// Not working O
+//#define XY_FREQUENCY_LIMIT  15
+
+// Minimum planner junction speed. Sets the default minimum speed the planner plans for at the end
+// of the buffer and all stops. This should not be much greater than zero and should only be changed
+// if unwanted behavior is observed on a user's machine when running at very slow speeds.
+#define MINIMUM_PLANNER_SPEED 0.05// (mm/sec)
+
+// MS1 MS2 Stepper Driver Microstepping mode table
+#define MICROSTEP1 LOW,LOW
+#define MICROSTEP2 HIGH,LOW
+#define MICROSTEP4 LOW,HIGH
+#define MICROSTEP8 HIGH,HIGH
+#define MICROSTEP16 HIGH,HIGH
+
+// Microstep setting (Only functional when stepper driver microstep pins are connected to MCU.
+#define MICROSTEP_MODES {16,16,16,16,16} // [1,2,4,8,16]
+
+
+
+// uncomment to enable an I2C based DIGIPOT like on the Azteeg X3 Pro
+//#define DIGIPOT_I2C
+// Number of channels available for I2C digipot, For Azteeg X3 Pro we have 8
+#define DIGIPOT_I2C_NUM_CHANNELS 8
+// actual motor currents in Amps, need as many here as DIGIPOT_I2C_NUM_CHANNELS
+#define DIGIPOT_I2C_MOTOR_CURRENTS {1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0}
+
+//===========================================================================
+//=============================Additional Features===========================
+//===========================================================================
+
+//#define CHDK 4        //Pin for triggering CHDK to take a picture see how to use it here http://captain-slow.dk/2014/03/09/3d-printing-timelapses/
+#define CHDK_DELAY 50 //How long in ms the pin should stay HIGH before going LOW again
+
+#define SD_FINISHED_STEPPERRELEASE true  //if sd support and the file is finished: disable steppers?
+#define SD_FINISHED_RELEASECOMMAND "M84 X Y Z E" // You might want to keep the z enabled so your bed stays in place.
+
+#define SDCARD_RATHERRECENTFIRST  //reverse file order of sd card menu display. Its sorted practically after the file system block order.
+// if a file is deleted, it frees a block. hence, the order is not purely chronological. To still have auto0.g accessible, there is again the option to do that.
+// using:
+//#define MENU_ADDAUTOSTART
+
+// Show a progress bar on the LCD when printing from SD?
+//#define LCD_PROGRESS_BAR
+
+#ifdef LCD_PROGRESS_BAR
+  // Amount of time (ms) to show the bar
+  #define PROGRESS_BAR_BAR_TIME 2000
+  // Amount of time (ms) to show the status message
+  #define PROGRESS_BAR_MSG_TIME 3000
+  // Amount of time (ms) to retain the status message (0=forever)
+  #define PROGRESS_MSG_EXPIRE   0
+  // Enable this to show messages for MSG_TIME then hide them
+  //#define PROGRESS_MSG_ONCE
+#endif
+
+// The hardware watchdog should reset the microcontroller disabling all outputs, in case the firmware gets stuck and doesn't do temperature regulation.
+//#define USE_WATCHDOG
+
+#ifdef USE_WATCHDOG
+// If you have a watchdog reboot in an ArduinoMega2560 then the device will hang forever, as a watchdog reset will leave the watchdog on.
+// The "WATCHDOG_RESET_MANUAL" goes around this by not using the hardware reset.
+//  However, THIS FEATURE IS UNSAFE!, as it will only work if interrupts are disabled. And the code could hang in an interrupt routine with interrupts disabled.
+//#define WATCHDOG_RESET_MANUAL
+#endif
+
+// Enable the option to stop SD printing when hitting and endstops, needs to be enabled from the LCD menu when this option is enabled.
+//#define ABORT_ON_ENDSTOP_HIT_FEATURE_ENABLED
+
+// Babystepping enables the user to control the axis in tiny amounts, independently from the normal printing process
+// it can e.g. be used to change z-positions in the print startup phase in real-time
+// does not respect endstops!
+#define BABYSTEPPING
+#ifdef BABYSTEPPING
+  #define BABYSTEP_XY  //not only z, but also XY in the menu. more clutter, more functions
+  #define BABYSTEP_INVERT_Z false  //true for inverse movements in Z
+  #define BABYSTEP_Z_MULTIPLICATOR 2 //faster z movements
+
+  #ifdef COREXY
+    #error BABYSTEPPING not implemented for COREXY yet.
+  #endif
+
+  #ifdef DELTA
+    #ifdef BABYSTEP_XY
+      #error BABYSTEPPING only implemented for Z axis on deltabots.
+    #endif
+  #endif
+#endif
+
+// extruder advance constant (s2/mm3)
+//
+// advance (steps) = STEPS_PER_CUBIC_MM_E * EXTRUDER_ADVANCE_K * cubic mm per second ^ 2
+//
+// Hooke's law says:		force = k * distance
+// Bernoulli's principle says:	v ^ 2 / 2 + g . h + pressure / density = constant
+// so: v ^ 2 is proportional to number of steps we advance the extruder
+//#define ADVANCE
+
+#ifdef ADVANCE
+  #define EXTRUDER_ADVANCE_K .006
+
+  #define D_FILAMENT 1.75
+  #define STEPS_MM_E 174.6
+  #define EXTRUSION_AREA (0.25 * D_FILAMENT * D_FILAMENT * 3.14159)
+  #define STEPS_PER_CUBIC_MM_E (axis_steps_per_unit[E_AXIS]/ EXTRUSION_AREA)
+
+#endif // ADVANCE
+
+// Arc interpretation settings:
+#define MM_PER_ARC_SEGMENT 1
+#define N_ARC_CORRECTION 25
+
+const unsigned int dropsegments=5; //everything with less than this number of steps will be ignored as move and joined with the next movement
+
+// If you are using a RAMPS board or cheap E-bay purchased boards that do not detect when an SD card is inserted
+// You can get round this by connecting a push button or single throw switch to the pin defined as SDCARDCARDDETECT
+// in the pins.h file.  When using a push button pulling the pin to ground this will need inverted.  This setting should
+// be commented out otherwise
+#define SDCARDDETECTINVERTED
+
+#ifdef ULTIPANEL
+ #undef SDCARDDETECTINVERTED
+#endif
+
+// Power Signal Control Definitions
+// By default use ATX definition
+#ifndef POWER_SUPPLY
+  #define POWER_SUPPLY 1
+#endif
+// 1 = ATX
+#if (POWER_SUPPLY == 1)
+  #define PS_ON_AWAKE  LOW
+  #define PS_ON_ASLEEP HIGH
+#endif
+// 2 = X-Box 360 203W
+#if (POWER_SUPPLY == 2)
+  #define PS_ON_AWAKE  HIGH
+  #define PS_ON_ASLEEP LOW
+#endif
+
+// Control heater 0 and heater 1 in parallel.
+//#define HEATERS_PARALLEL
+
+//===========================================================================
+//=============================Buffers           ============================
+//===========================================================================
+
+// The number of linear motions that can be in the plan at any give time.
+// THE BLOCK_BUFFER_SIZE NEEDS TO BE A POWER OF 2, i.g. 8,16,32 because shifts and ors are used to do the ring-buffering.
+#if defined SDSUPPORT
+  #define BLOCK_BUFFER_SIZE 16   // SD,LCD,Buttons take more memory, block buffer needs to be smaller
+#else
+  #define BLOCK_BUFFER_SIZE 16 // maximize block buffer
+#endif
+
+
+//The ASCII buffer for receiving from the serial:
+#define MAX_CMD_SIZE 96
+#define BUFSIZE 4
+
+
+// Firmware based and LCD controlled retract
+// M207 and M208 can be used to define parameters for the retraction.
+// The retraction can be called by the slicer using G10 and G11
+// until then, intended retractions can be detected by moves that only extrude and the direction.
+// the moves are than replaced by the firmware controlled ones.
+
+#define FWRETRACT  //ONLY PARTIALLY TESTED
+#ifdef FWRETRACT
+  #define MIN_RETRACT 0.1                //minimum extruded mm to accept a automatic gcode retraction attempt
+  #define RETRACT_LENGTH 3               //default retract length (positive mm)
+  #define RETRACT_LENGTH_SWAP 13         //default swap retract length (positive mm), for extruder change
+  #define RETRACT_FEEDRATE 45            //default feedrate for retracting (mm/s)
+  #define RETRACT_ZLIFT 0                //default retract Z-lift
+  #define RETRACT_RECOVER_LENGTH 0       //default additional recover length (mm, added to retract length when recovering)
+  #define RETRACT_RECOVER_LENGTH_SWAP 0  //default additional swap recover length (mm, added to retract length when recovering from extruder change)
+  #define RETRACT_RECOVER_FEEDRATE 8     //default feedrate for recovering from retraction (mm/s)
+#endif
+
+//adds support for experimental filament exchange support M600; requires display
+
+
+#ifdef FILAMENTCHANGEENABLE
+  #ifdef EXTRUDER_RUNOUT_PREVENT
+    #error EXTRUDER_RUNOUT_PREVENT currently incompatible with FILAMENTCHANGE
+  #endif
+#endif
+
+//===========================================================================
+//=============================  Define Defines  ============================
+//===========================================================================
+
+#if defined (ENABLE_AUTO_BED_LEVELING) && defined (DELTA)
+  #error "Bed Auto Leveling is still not compatible with Delta Kinematics."
+#endif
+
+#if EXTRUDERS > 1 && defined TEMP_SENSOR_1_AS_REDUNDANT
+  #error "You cannot use TEMP_SENSOR_1_AS_REDUNDANT if EXTRUDERS > 1"
+#endif
+
+#if EXTRUDERS > 1 && defined HEATERS_PARALLEL
+  #error "You cannot use HEATERS_PARALLEL if EXTRUDERS > 1"
+#endif
+
+#if TEMP_SENSOR_0 > 0
+  #define THERMISTORHEATER_0 TEMP_SENSOR_0
+  #define HEATER_0_USES_THERMISTOR
+#endif
+#if TEMP_SENSOR_1 > 0
+  #define THERMISTORHEATER_1 TEMP_SENSOR_1
+  #define HEATER_1_USES_THERMISTOR
+#endif
+#if TEMP_SENSOR_2 > 0
+  #define THERMISTORHEATER_2 TEMP_SENSOR_2
+  #define HEATER_2_USES_THERMISTOR
+#endif
+#if TEMP_SENSOR_BED > 0
+  #define THERMISTORBED TEMP_SENSOR_BED
+  #define BED_USES_THERMISTOR
+#endif
+#if TEMP_SENSOR_0 == -1
+  #define HEATER_0_USES_AD595
+#endif
+#if TEMP_SENSOR_1 == -1
+  #define HEATER_1_USES_AD595
+#endif
+#if TEMP_SENSOR_2 == -1
+  #define HEATER_2_USES_AD595
+#endif
+#if TEMP_SENSOR_BED == -1
+  #define BED_USES_AD595
+#endif
+#if TEMP_SENSOR_0 == -2
+  #define HEATER_0_USES_MAX6675
+#endif
+#if TEMP_SENSOR_0 == 0
+  #undef HEATER_0_MINTEMP
+  #undef HEATER_0_MAXTEMP
+#endif
+#if TEMP_SENSOR_1 == 0
+  #undef HEATER_1_MINTEMP
+  #undef HEATER_1_MAXTEMP
+#endif
+#if TEMP_SENSOR_2 == 0
+  #undef HEATER_2_MINTEMP
+  #undef HEATER_2_MAXTEMP
+#endif
+#if TEMP_SENSOR_BED == 0
+  #undef BED_MINTEMP
+  #undef BED_MAXTEMP
+#endif
+
+
+#endif //__CONFIGURATION_ADV_H

+ 225 - 0
DOGMbitmaps.h

@@ -0,0 +1,225 @@
+#define START_BMPWIDTH 	60	//Width in pixels - http://www.digole.com/tools/PicturetoC_Hex_converter.php
+#define START_BMPHEIGHT 	64	//Height in pixels
+#define START_BMPBYTEWIDTH 	8	//Width in bytes
+const unsigned char start_bmp[574] PROGMEM = { //AVR-GCC, WinAVR
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0f,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0f,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0f,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0f,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0f,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0f,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0f,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0f,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0f,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0f,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0f,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0f,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0f,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0f,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0f,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0f,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0f,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0f,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0f,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0f,
+0x0f,0xff,0xff,0xff,0xff,0xff,0xff,0xef,
+0x30,0x00,0x00,0x00,0x00,0x00,0x7f,0xff,
+0x60,0x00,0x00,0x00,0x00,0x00,0x1f,0xff,
+0x40,0x00,0x00,0x00,0x00,0x00,0x0f,0xff,
+0x40,0x00,0x00,0x00,0x01,0x80,0x0f,0xff,
+0x83,0xef,0xc0,0x00,0x01,0x8c,0x07,0xff,
+0x87,0xff,0xe0,0x00,0x01,0x8c,0x03,0xff,
+0x86,0x38,0x60,0x00,0x01,0x80,0x01,0xff,
+0x86,0x18,0x63,0xe0,0xf9,0x8c,0x7c,0xff,
+0x86,0x18,0x67,0xf1,0xfd,0x8c,0xfe,0x7f,
+0x86,0x18,0x6e,0x31,0x8d,0x8c,0xc6,0x3f,
+0x86,0x18,0x6c,0x39,0x8d,0x8c,0xc7,0x1f,
+0x86,0x18,0x6c,0x19,0x81,0x8c,0xc7,0x1f,
+0x86,0x18,0x6c,0x19,0x81,0x8c,0xc7,0x1f,
+0x86,0x18,0x6f,0x9f,0x81,0xcd,0xc7,0x1f,
+0x06,0x18,0x67,0xdf,0x80,0xef,0xc7,0x1f,
+0x44,0x18,0x61,0x9f,0x00,0x2f,0xc2,0x2f,
+0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x2f,
+0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x4f,
+0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0x8f,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0f,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0f,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0f,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0f,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0f,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0f,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0f,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0f,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0f,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0f,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0f,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0f,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0f,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0f,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0f,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0f,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0f,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0f,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0f,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0f
+};
+
+// Here comes a compile-time operation to match the extruder symbols 
+// on the info screen to the set number of extruders in configuration.h
+// 
+// When only one extruder is selected, the "1" on the symbol will not 
+// be displayed.
+
+#if EXTRUDERS == 1
+	#define STATUS_SCREENWIDTH 		115	//Width in pixels
+	#define STATUS_SCREENHEIGHT 	19	//Height in pixels
+	#define STATUS_SCREENBYTEWIDTH 	15	//Width in bytes
+	const unsigned char status_screen0_bmp[] PROGMEM = { //AVR-GCC, WinAVR
+	0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0xFF,0xE0,
+	0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x70,0x00,0xE0,
+	0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x63,0x0C,0x60,
+	0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x47,0x0E,0x20,
+	0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x4F,0x0F,0x20,
+	0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x5F,0x0F,0xA0,
+	0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x5E,0x07,0xA0,
+	0x7F,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x41,0x04,0x00,0x40,0x60,0x20,
+	0xFF,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x82,0x00,0x40,0xF0,0x20,
+	0xFF,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x82,0x00,0x40,0xF0,0x20,
+	0xFF,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x41,0x04,0x00,0x40,0x60,0x20,
+	0x7F,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x82,0x08,0x00,0x5E,0x07,0xA0,
+	0x7F,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x04,0x10,0x00,0x5F,0x0F,0xA0,
+	0xFF,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x04,0x10,0x00,0x4F,0x0F,0x20,
+	0xFF,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x82,0x08,0x00,0x47,0x0E,0x20,
+	0xFF,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x41,0x04,0x00,0x63,0x0C,0x60,
+	0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x70,0x00,0xE0,
+	0x1E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xFF,0xFF,0x80,0x7F,0xFF,0xE0,
+	0x0C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xFF,0xFF,0x80,0x00,0x00,0x00
+	};
+
+	#define STATUS_SCREENWIDTH 		115	//Width in pixels
+	#define STATUS_SCREENHEIGHT 	19	//Height in pixels
+	#define STATUS_SCREENBYTEWIDTH 	15	//Width in bytes
+	const unsigned char status_screen1_bmp[] PROGMEM = { //AVR-GCC, WinAVR
+	0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0xFF,0xE0,
+	0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x70,0x00,0xE0,
+	0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x61,0xF8,0x60,
+	0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x41,0xF8,0x20,
+	0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0xF0,0x20,
+	0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x60,0x20,
+	0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x58,0x01,0xA0,
+	0x7F,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x41,0x04,0x00,0x5C,0x63,0xA0,
+	0xFF,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x82,0x00,0x5E,0xF7,0xA0,
+	0xFF,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x82,0x00,0x5E,0xF7,0xA0,
+	0xFF,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x41,0x04,0x00,0x5C,0x63,0xA0,
+	0x7F,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x82,0x08,0x00,0x58,0x01,0xA0,
+	0x7F,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x04,0x10,0x00,0x40,0x60,0x20,
+	0xFF,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x04,0x10,0x00,0x40,0xF0,0x20,
+	0xFF,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x82,0x08,0x00,0x41,0xF8,0x20,
+	0xFF,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x41,0x04,0x00,0x61,0xF8,0x60,
+	0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x70,0x00,0xE0,
+	0x1E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xFF,0xFF,0x80,0x7F,0xFF,0xE0,
+	0x0C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xFF,0xFF,0x80,0x00,0x00,0x00
+	};
+#elif EXTRUDERS == 2
+	#define STATUS_SCREENWIDTH 		115	//Width in pixels
+	#define STATUS_SCREENHEIGHT 	19	//Height in pixels
+	#define STATUS_SCREENBYTEWIDTH 	15	//Width in bytes
+	const unsigned char status_screen0_bmp[] PROGMEM = { //AVR-GCC, WinAVR
+	0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0xFF,0xE0,
+	0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x70,0x00,0xE0,
+	0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x63,0x0C,0x60,
+	0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x47,0x0E,0x20,
+	0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x4F,0x0F,0x20,
+	0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x5F,0x0F,0xA0,
+	0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x5E,0x07,0xA0,
+	0x7F,0x80,0x00,0x3F,0xC0,0x00,0x00,0x00,0x00,0x41,0x04,0x00,0x40,0x60,0x20,
+	0xFB,0xC0,0x00,0x79,0xE0,0x00,0x00,0x00,0x00,0x20,0x82,0x00,0x40,0xF0,0x20,
+	0xF3,0xC0,0x00,0x76,0xE0,0x00,0x00,0x00,0x00,0x20,0x82,0x00,0x40,0xF0,0x20,
+	0xEB,0xC0,0x00,0x7E,0xE0,0x00,0x00,0x00,0x00,0x41,0x04,0x00,0x40,0x60,0x20,
+	0x7B,0x80,0x00,0x3D,0xC0,0x00,0x00,0x00,0x00,0x82,0x08,0x00,0x5E,0x07,0xA0,
+	0x7B,0x80,0x00,0x3B,0xC0,0x00,0x00,0x00,0x01,0x04,0x10,0x00,0x5F,0x0F,0xA0,
+	0xFB,0xC0,0x00,0x77,0xE0,0x00,0x00,0x00,0x01,0x04,0x10,0x00,0x4F,0x0F,0x20,
+	0xFB,0xC0,0x00,0x70,0xE0,0x00,0x00,0x00,0x00,0x82,0x08,0x00,0x47,0x0E,0x20,
+	0xFF,0xC0,0x00,0x7F,0xE0,0x00,0x00,0x00,0x00,0x41,0x04,0x00,0x63,0x0C,0x60,
+	0x3F,0x00,0x00,0x1F,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x70,0x00,0xE0,
+	0x1E,0x00,0x00,0x0F,0x00,0x00,0x00,0x00,0x01,0xFF,0xFF,0x80,0x7F,0xFF,0xE0,
+	0x0C,0x00,0x00,0x06,0x00,0x00,0x00,0x00,0x01,0xFF,0xFF,0x80,0x00,0x00,0x00
+	};
+
+	#define STATUS_SCREENWIDTH 		115	//Width in pixels
+	#define STATUS_SCREENHEIGHT 	19	//Height in pixels
+	#define STATUS_SCREENBYTEWIDTH 	15	//Width in bytes
+	const unsigned char status_screen1_bmp[] PROGMEM = { //AVR-GCC, WinAVR
+	0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0xFF,0xE0,
+	0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x70,0x00,0xE0,
+	0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x61,0xF8,0x60,
+	0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x41,0xF8,0x20,
+	0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0xF0,0x20,
+	0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x60,0x20,
+	0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x58,0x01,0xA0,
+	0x7F,0x80,0x00,0x3F,0xC0,0x00,0x00,0x00,0x00,0x41,0x04,0x00,0x5C,0x63,0xA0,
+	0xFB,0xC0,0x00,0x79,0xE0,0x00,0x00,0x00,0x00,0x20,0x82,0x00,0x5E,0xF7,0xA0,
+	0xF3,0xC0,0x00,0x76,0xE0,0x00,0x00,0x00,0x00,0x20,0x82,0x00,0x5E,0xF7,0xA0,
+	0xEB,0xC0,0x00,0x7E,0xE0,0x00,0x00,0x00,0x00,0x41,0x04,0x00,0x5C,0x63,0xA0,
+	0x7B,0x80,0x00,0x3D,0xC0,0x00,0x00,0x00,0x00,0x82,0x08,0x00,0x58,0x01,0xA0,
+	0x7B,0x80,0x00,0x3B,0xC0,0x00,0x00,0x00,0x01,0x04,0x10,0x00,0x40,0x60,0x20,
+	0xFB,0xC0,0x00,0x77,0xE0,0x00,0x00,0x00,0x01,0x04,0x10,0x00,0x40,0xF0,0x20,
+	0xFB,0xC0,0x00,0x70,0xE0,0x00,0x00,0x00,0x00,0x82,0x08,0x00,0x41,0xF8,0x20,
+	0xFF,0xC0,0x00,0x7F,0xE0,0x00,0x00,0x00,0x00,0x41,0x04,0x00,0x61,0xF8,0x60,
+	0x3F,0x00,0x00,0x1F,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x70,0x00,0xE0,
+	0x1E,0x00,0x00,0x0F,0x00,0x00,0x00,0x00,0x01,0xFF,0xFF,0x80,0x7F,0xFF,0xE0,
+	0x0C,0x00,0x00,0x06,0x00,0x00,0x00,0x00,0x01,0xFF,0xFF,0x80,0x00,0x00,0x00
+	};
+#else
+	#define STATUS_SCREENWIDTH 		115	//Width in pixels
+	#define STATUS_SCREENHEIGHT 	19	//Height in pixels
+	#define STATUS_SCREENBYTEWIDTH 	15	//Width in bytes
+	const unsigned char status_screen0_bmp[] PROGMEM = { //AVR-GCC, WinAVR
+	0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0xFF,0xE0,
+	0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x70,0x00,0xE0,
+	0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x63,0x0C,0x60,
+	0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x47,0x0E,0x20,
+	0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x4F,0x0F,0x20,
+	0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x5F,0x0F,0xA0,
+	0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x5E,0x07,0xA0,
+	0x7F,0x80,0x00,0x3F,0xC0,0x00,0x3F,0xC0,0x00,0x41,0x04,0x00,0x40,0x60,0x20,
+	0xFB,0xC0,0x00,0x79,0xE0,0x00,0x79,0xE0,0x00,0x20,0x82,0x00,0x40,0xF0,0x20,
+	0xF3,0xC0,0x00,0x76,0xE0,0x00,0x76,0xE0,0x00,0x20,0x82,0x00,0x40,0xF0,0x20,
+	0xEB,0xC0,0x00,0x7E,0xE0,0x00,0x7E,0xE0,0x00,0x41,0x04,0x00,0x40,0x60,0x20,
+	0x7B,0x80,0x00,0x3D,0xC0,0x00,0x39,0xC0,0x00,0x82,0x08,0x00,0x5E,0x07,0xA0,
+	0x7B,0x80,0x00,0x3B,0xC0,0x00,0x3E,0xC0,0x01,0x04,0x10,0x00,0x5F,0x0F,0xA0,
+	0xFB,0xC0,0x00,0x77,0xE0,0x00,0x76,0xE0,0x01,0x04,0x10,0x00,0x4F,0x0F,0x20,
+	0xFB,0xC0,0x00,0x70,0xE0,0x00,0x79,0xE0,0x00,0x82,0x08,0x00,0x47,0x0E,0x20,
+	0xFF,0xC0,0x00,0x7F,0xE0,0x00,0x7F,0xE0,0x00,0x41,0x04,0x00,0x63,0x0C,0x60,
+	0x3F,0x00,0x00,0x1F,0x80,0x00,0x1F,0x80,0x00,0x00,0x00,0x00,0x70,0x00,0xE0,
+	0x1E,0x00,0x00,0x0F,0x00,0x00,0x0F,0x00,0x01,0xFF,0xFF,0x80,0x7F,0xFF,0xE0,
+	0x0C,0x00,0x00,0x06,0x00,0x00,0x06,0x00,0x01,0xFF,0xFF,0x80,0x00,0x00,0x00
+	};
+
+	#define STATUS_SCREENWIDTH 		115	//Width in pixels
+	#define STATUS_SCREENHEIGHT 	19	//Height in pixels
+	#define STATUS_SCREENBYTEWIDTH 	15	//Width in bytes
+	const unsigned char status_screen1_bmp[] PROGMEM = { //AVR-GCC, WinAVR
+	0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0xFF,0xE0,
+	0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x70,0x00,0xE0,
+	0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x61,0xF8,0x60,
+	0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x41,0xF8,0x20,
+	0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0xF0,0x20,
+	0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x60,0x20,
+	0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x58,0x01,0xA0,
+	0x7F,0x80,0x00,0x3F,0xC0,0x00,0x3F,0xC0,0x00,0x41,0x04,0x00,0x5C,0x63,0xA0,
+	0xFB,0xC0,0x00,0x79,0xE0,0x00,0x79,0xE0,0x00,0x20,0x82,0x00,0x5E,0xF7,0xA0,
+	0xF3,0xC0,0x00,0x76,0xE0,0x00,0x76,0xE0,0x00,0x20,0x82,0x00,0x5E,0xF7,0xA0,
+	0xEB,0xC0,0x00,0x7E,0xE0,0x00,0x7E,0xE0,0x00,0x41,0x04,0x00,0x5C,0x63,0xA0,
+	0x7B,0x80,0x00,0x3D,0xC0,0x00,0x39,0xC0,0x00,0x82,0x08,0x00,0x58,0x01,0xA0,
+	0x7B,0x80,0x00,0x3B,0xC0,0x00,0x3E,0xC0,0x01,0x04,0x10,0x00,0x40,0x60,0x20,
+	0xFB,0xC0,0x00,0x77,0xE0,0x00,0x76,0xE0,0x01,0x04,0x10,0x00,0x40,0xF0,0x20,
+	0xFB,0xC0,0x00,0x70,0xE0,0x00,0x79,0xE0,0x00,0x82,0x08,0x00,0x41,0xF8,0x20,
+	0xFF,0xC0,0x00,0x7F,0xE0,0x00,0x7F,0xE0,0x00,0x41,0x04,0x00,0x61,0xF8,0x60,
+	0x3F,0x00,0x00,0x1F,0x80,0x00,0x1F,0x80,0x00,0x00,0x00,0x00,0x70,0x00,0xE0,
+	0x1E,0x00,0x00,0x0F,0x00,0x00,0x0F,0x00,0x01,0xFF,0xFF,0x80,0x7F,0xFF,0xE0,
+	0x0C,0x00,0x00,0x06,0x00,0x00,0x06,0x00,0x01,0xFF,0xFF,0x80,0x00,0x00,0x00
+	};
+#endif // Extruders 
+
+

+ 56 - 0
Firmware.ino

@@ -0,0 +1,56 @@
+/* -*- c++ -*- */
+
+/*
+    Reprap firmware based on Sprinter and grbl.
+ Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+/*
+ This firmware is a mashup between Sprinter and grbl.
+  (https://github.com/kliment/Sprinter)
+  (https://github.com/simen/grbl/tree)
+
+ It has preliminary support for Matthew Roberts advance algorithm
+    http://reprap.org/pipermail/reprap-dev/2011-May/003323.html
+ */
+
+/* All the implementation is done in *.cpp files to get better compatibility with avr-gcc without the Arduino IDE */
+/* Use this file to help the Arduino IDE find which Arduino libraries are needed and to keep documentation on GCode */
+
+#include "Configuration.h"
+#include "pins.h"
+
+#ifdef ULTRA_LCD
+  #if defined(LCD_I2C_TYPE_PCF8575)
+    #include <Wire.h>
+    #include <LiquidCrystal_I2C.h>
+  #elif defined(LCD_I2C_TYPE_MCP23017) || defined(LCD_I2C_TYPE_MCP23008)
+    #include <Wire.h>
+    #include <LiquidTWI2.h>
+  #elif defined(DOGLCD)
+    #include <U8glib.h> // library for graphics LCD by Oli Kraus (https://code.google.com/p/u8glib/)
+  #else
+    #include "LiquidCrystal.h" // library for character LCD
+  #endif
+#endif
+
+#if defined(DIGIPOTSS_PIN) && DIGIPOTSS_PIN > -1
+#include <SPI.h>
+#endif
+
+#if defined(DIGIPOT_I2C)
+  #include <Wire.h>
+#endif

+ 8 - 0
Firmware.sublime-project

@@ -0,0 +1,8 @@
+{
+	"folders":
+	[
+		{
+			"path": "/Users/prusam/Documents/Firmware"
+		}
+	]
+}

+ 855 - 0
Firmware.sublime-workspace

@@ -0,0 +1,855 @@
+{
+	"auto_complete":
+	{
+		"selected_items":
+		[
+			[
+				"set",
+				"setCursor"
+			],
+			[
+				"inter",
+				"inters"
+			],
+			[
+				"lon",
+				"longFilename"
+			],
+			[
+				"long",
+				"longFilenameOLD"
+			],
+			[
+				"LCD",
+				"LCD_WIDTH"
+			],
+			[
+				"sc",
+				"scrollstuff"
+			],
+			[
+				"pr",
+				"printthatshit"
+			],
+			[
+				"print",
+				"printthatshit"
+			],
+			[
+				"LCD_cl",
+				"LCD_CLICKED"
+			],
+			[
+				"temp",
+				"tempScrool"
+			],
+			[
+				"tem",
+				"tempScrool"
+			],
+			[
+				"int",
+				"int8_t"
+			],
+			[
+				"SD",
+				"SDscrool"
+			],
+			[
+				"lcd_impl",
+				"lcd_implementation_clear"
+			],
+			[
+				"data",
+				"_data_pins"
+			],
+			[
+				"lcd",
+				"lcd_status_message"
+			],
+			[
+				"marg",
+				"margin-right"
+			],
+			[
+				"mar",
+				"margin-bottom"
+			],
+			[
+				"le",
+				"length-1"
+			],
+			[
+				"lay",
+				"Layers"
+			],
+			[
+				"len",
+				"length"
+			],
+			[
+				"sli",
+				"slic3r"
+			],
+			[
+				"err",
+				"error"
+			],
+			[
+				"Lay",
+				"Layers"
+			],
+			[
+				"leng",
+				"length-1"
+			],
+			[
+				"Layer",
+				"LayersH"
+			],
+			[
+				"Laye",
+				"LayersH"
+			],
+			[
+				"Line",
+				"LineNumber"
+			]
+		]
+	},
+	"buffers":
+	[
+		{
+			"file": "Firmware.ino",
+			"settings":
+			{
+				"buffer_size": 1877,
+				"line_ending": "Unix"
+			}
+		},
+		{
+			"file": "Configuration.h",
+			"settings":
+			{
+				"buffer_size": 31837,
+				"line_ending": "Unix"
+			}
+		},
+		{
+			"file": "Configuration_prusa.h",
+			"settings":
+			{
+				"buffer_size": 6362,
+				"line_ending": "Unix"
+			}
+		},
+		{
+			"file": "Marlin_main.cpp",
+			"settings":
+			{
+				"buffer_size": 167814,
+				"line_ending": "Unix"
+			}
+		},
+		{
+			"file": "ultralcd.cpp",
+			"settings":
+			{
+				"buffer_size": 46240,
+				"line_ending": "Unix"
+			}
+		},
+		{
+			"file": "variants/300-1a-cz.h",
+			"settings":
+			{
+				"buffer_size": 6389,
+				"line_ending": "Unix"
+			}
+		},
+		{
+			"file": "variants/300-1a-en.h",
+			"settings":
+			{
+				"buffer_size": 6389,
+				"line_ending": "Unix"
+			}
+		},
+		{
+			"file": "variants/300-2a-cz.h",
+			"settings":
+			{
+				"buffer_size": 6389,
+				"line_ending": "Unix"
+			}
+		},
+		{
+			"file": "variants/300-2a-en.h",
+			"settings":
+			{
+				"buffer_size": 6388,
+				"line_ending": "Unix"
+			}
+		},
+		{
+			"file": "pins.h",
+			"settings":
+			{
+				"buffer_size": 10841,
+				"line_ending": "Unix"
+			}
+		}
+	],
+	"build_system": "Packages/C++/C++.sublime-build",
+	"command_palette":
+	{
+		"height": 367.0,
+		"selected_items":
+		[
+			[
+				"Package Control: ",
+				"Package Control: Install Package"
+			]
+		],
+		"width": 449.0
+	},
+	"console":
+	{
+		"height": 174.0
+	},
+	"distraction_free":
+	{
+		"menu_visible": true,
+		"show_minimap": false,
+		"show_open_files": false,
+		"show_tabs": false,
+		"side_bar_visible": false,
+		"status_bar_visible": false
+	},
+	"file_history":
+	[
+		"/Volumes/Production/Firmware/fvrun/Marlin1-0-3_RamboMini1-3_EN/boards.h",
+		"/Volumes/Production/Firmware/fvrun/Marlin1-0-3_RamboMini1-3_EN/language_cz.h",
+		"/Users/prusam/Library/Caches/Cleanup At Startup/Transmit/9DB93710-9561-46CC-AD89-F118A176707C/library.properties",
+		"/Volumes/Production/Firmware/fvrun/Marlin1-0-3_RamboMini1-3_EN/Marlin_main.cpp",
+		"/Volumes/Production/Firmware/fvrun/Marlin1-0-3_RamboMini1-3_EN/cardreader.h",
+		"/Volumes/Production/Firmware/fvrun/Marlin1-0-3_RamboMini1-3_EN/cardreader.cpp",
+		"/Volumes/Production/Firmware/fvrun/Marlin1-0-3_RamboMini1-3_EN/SdFatConfig.h",
+		"/Volumes/Production/Firmware/fvrun/Marlin1-0-3_RamboMini1-3_EN/LiquidCrystal.h",
+		"/Volumes/Production/Firmware/fvrun/Marlin1-0-3_RamboMini1-3_EN/LiquidCrystal.cpp",
+		"/Volumes/C/Users/Michal/Desktop/Prusa.gcode",
+		"/Users/prusam/Documents/FW cleanup/Marlin1-0-3_RamboMini1-3_EN/ultralcd.h",
+		"/Users/prusam/Documents/FW cleanup/Marlin1-0-3_RamboMini1-3_EN/ultralcd.cpp",
+		"/Users/prusam/Documents/FW cleanup/Marlin1-0-3_RamboMini1-3_EN/pins.h",
+		"/Users/prusam/Documents/FW cleanup/Marlin1-0-3_RamboMini1-3_EN/language.h",
+		"/Users/prusam/Documents/FW cleanup/Marlin1-0-3_RamboMini1-3_EN/Marlin1-0-3_RamboMini1-3_EN.ino",
+		"/Users/prusam/Documents/FW cleanup/Marlin1-0-3_RamboMini1-3_EN/language_en.h",
+		"/Applications/arduino.app/Contents/Resources/Java/libraries/Robot_Control/SdCard.h",
+		"/Applications/arduino.app/Contents/Resources/Java/libraries/Robot_Control/ArduinoRobot.cpp",
+		"/Users/prusam/Downloads/watch.gcode",
+		"/Users/prusam/Documents/eagle/HomeAutom/windowctntr.gcode",
+		"/Users/prusam/Downloads/motors.html",
+		"/Users/prusam/Documents/MotorsEmail",
+		"/Volumes/Common/adent/server/mystylesheet.css",
+		"/Volumes/C/Users/Michal/AppData/Roaming/OBS/scenes.xconfig",
+		"/Volumes/Common/FWupdater/app/js/main.js",
+		"/Volumes/Production/git/Prusa i3 Plus 1.75mm/Firmware/Marlin1-0-3_RamboMini1-0_CZ/pins.h",
+		"/Volumes/Production/git/Prusa i3 Plus 1.75mm/Firmware/Marlin1-0-3_RamboMini1-0_CZ/Configuration_adv.h",
+		"/Volumes/Production/git/Prusa i3 Plus 1.75mm/Firmware/Marlin1-0-3_RamboMini1-0_EN/language.h",
+		"/Volumes/Production/git/Prusa i3 Plus 1.75mm/Firmware/Marlin1-0-3_RamboMini1-0_EN/ultralcd.cpp",
+		"/Volumes/Production/git/Prusa i3 Plus 1.75mm/Firmware/Marlin1-0-3_RamboMini1-0_EN/Configuration.h",
+		"/Volumes/Production/git/Prusa i3 Plus 1.75mm/Firmware/Marlin1-0-3_RamboMini1-0_EN/language_en.h",
+		"/Volumes/Production/git/Prusa i3 Plus 1.75mm/Firmware/Marlin1-0-3_RamboMini1-0_EN/pins.h",
+		"/Volumes/Production/git/Prusa i3 Plus 1.75mm/Firmware/Marlin1-0-3_RamboMini1-0_EN/Configuration_adv.h",
+		"/Volumes/Production/git/Prusa i3 Plus 1.75mm/Firmware/Marlin1-0-3_RamboMini1-3_CZ/Configuration.h",
+		"/Volumes/Production/git/Prusa i3 Plus 1.75mm/Firmware/Marlin1-0-3_RamboMini1-3_CZ/language.h",
+		"/Volumes/Production/git/Prusa i3 Plus 1.75mm/Firmware/Marlin1-0-3_RamboMini1-3_CZ/ultralcd.cpp",
+		"/Volumes/Production/git/Prusa i3 Plus 1.75mm/Firmware/Marlin1-0-3_RamboMini1-3_CZ/pins.h",
+		"/Volumes/Production/git/Prusa i3 Plus 1.75mm/Firmware/Marlin1-0-3_RamboMini1-3_CZ/Configuration_adv.h",
+		"/Volumes/Production/git/Prusa i3 Plus 1.75mm/Firmware/Marlin1-0-3_RamboMini1-3_EN/Configuration_adv.h",
+		"/Volumes/Production/git/Prusa i3 Plus 1.75mm/Firmware/Marlin1-0-3_RamboMini1-3_EN/pins.h",
+		"/Volumes/Common/Michal/pipe/pipe-2.gcode",
+		"/Volumes/Production/git/Prusa i3 Plus 3mm/.git/index",
+		"/Volumes/NO NAME/Body.par.gcode",
+		"/Volumes/Common/dualcolo/layerchange",
+		"/Volumes/Common/dualcolo/cube.gcode",
+		"/Volumes/Common/filchanger_pepa/AW-stand.gcode",
+		"/Volumes/Common/filchanger_pepa/title.gcode",
+		"/Volumes/NO NAME/gopro_handler_v2.gcode",
+		"/Volumes/Common/Vit/PineappleMan.gcode",
+		"/Users/prusam/Documents/test-30r.gcode",
+		"/Users/prusam/Library/Caches/Cleanup At Startup/Transmit/FEFA6CB9-4596-4F8F-8CFF-45D2E80094A3/system.js",
+		"/Volumes/MichalData/filchanger/jquery-ui/jquery-ui.css",
+		"/Volumes/NO NAME/Zlift.gcode",
+		"/Volumes/Production/Firmware/Marlin-RAMBO-MINI13-e3d-newmenu/example_configurations/filchange"
+	],
+	"find":
+	{
+		"height": 38.0
+	},
+	"find_in_files":
+	{
+		"height": 0.0,
+		"where_history":
+		[
+			""
+		]
+	},
+	"find_state":
+	{
+		"case_sensitive": false,
+		"find_history":
+		[
+			"FAN",
+			"tune",
+			"PRUSA",
+			"support",
+			"P",
+			"119",
+			"FR_SENS",
+			"FR",
+			"board",
+			"steps",
+			"pulseEnable",
+			"command",
+			"23",
+			"lcd_set_status",
+			"109",
+			"lcd_setstatus",
+			"lcd_status_message",
+			"filename",
+			"fname",
+			"openfile",
+			"printing",
+			"M109",
+			"card.longFilename",
+			"card.LongFileName",
+			"openfile",
+			"23",
+			"sd",
+			"lcd_setstatus",
+			"lcd_status_message",
+			"LCD_HEIGHT",
+			"lcd_status_message",
+			"status",
+			"sdfile",
+			"startFileprint",
+			"24",
+			"LCD_MESSAGEPGM",
+			"M109",
+			"longfilename",
+			"Filename",
+			"600",
+			"M600",
+			"MENU_ITEM",
+			"sd",
+			"sdfile_selected",
+			"lcd_implementation_drawmenu_sdfile_selected",
+			"LCD_CLICKED",
+			"LCD_clicked",
+			"MENU_ITEM",
+			"LONG_FILENAME_LENGTH",
+			"card",
+			"sd",
+			"display",
+			"D7",
+			"lcd_status_message",
+			"lcdDrawUpdate",
+			"lcd_quick_feedback",
+			"kill",
+			"display",
+			"Z",
+			"liquidCrystal.h",
+			"liquidCrystal",
+			"nocl",
+			"liquid",
+			"begin",
+			"init",
+			"read",
+			"lcd_implementation_init",
+			"ini",
+			"lcd_status_screen()",
+			"lcd_implementation_status_screen()",
+			"lcd_control_temperature_menu",
+			"lcd_move_e()",
+			"move_x",
+			"lcd_move_menu_axis()",
+			"clear",
+			"lcd_implementation_status_screen",
+			"lcd_prepare_menu",
+			"M600",
+			"filament",
+			"max",
+			"stan",
+			"\n\n",
+			"\n",
+			"alert",
+			"ex",
+			"path",
+			"G1 Z",
+			"syntax",
+			"change",
+			"arduino",
+			"stk500v2",
+			"G1 Z1.5",
+			"M600",
+			"G1 Z1.5",
+			"G1 Z1.15",
+			"M600",
+			"G1 Z",
+			"M600",
+			"data",
+			"}\n",
+			"M600",
+			"Simpli",
+			"Z",
+			"M600",
+			"alert",
+			"m600",
+			"alert",
+			".leng",
+			"Layers",
+			"Heig",
+			"round",
+			"M600",
+			"alert",
+			"M600",
+			"G1 Z6",
+			"M600",
+			"G1 Z",
+			"M600",
+			" Z",
+			"Z",
+			"M600",
+			"G1 Z",
+			"G1 Z16",
+			"M600",
+			"chan",
+			"addElement",
+			"function roundNumber",
+			"round"
+		],
+		"highlight": true,
+		"in_selection": false,
+		"preserve_case": false,
+		"regex": false,
+		"replace_history":
+		[
+			"\"},\n{\"",
+			",",
+			":)"
+		],
+		"reverse": false,
+		"show_context": true,
+		"use_buffer2": true,
+		"whole_word": false,
+		"wrap": true
+	},
+	"groups":
+	[
+		{
+			"selected": 5,
+			"sheets":
+			[
+				{
+					"buffer": 0,
+					"file": "Firmware.ino",
+					"settings":
+					{
+						"buffer_size": 1877,
+						"regions":
+						{
+						},
+						"selection":
+						[
+							[
+								0,
+								0
+							]
+						],
+						"settings":
+						{
+							"syntax": "Packages/User/Stino/Arduino.tmLanguage",
+							"tab_size": 2,
+							"translate_tabs_to_spaces": true
+						},
+						"translation.x": 0.0,
+						"translation.y": 0.0,
+						"zoom_level": 1.0
+					},
+					"type": "text"
+				},
+				{
+					"buffer": 1,
+					"file": "Configuration.h",
+					"settings":
+					{
+						"buffer_size": 31837,
+						"regions":
+						{
+						},
+						"selection":
+						[
+							[
+								131,
+								141
+							]
+						],
+						"settings":
+						{
+							"syntax": "Packages/C++/C++.tmLanguage",
+							"tab_size": 2,
+							"translate_tabs_to_spaces": true
+						},
+						"translation.x": 0.0,
+						"translation.y": 0.0,
+						"zoom_level": 1.0
+					},
+					"type": "text"
+				},
+				{
+					"buffer": 2,
+					"file": "Configuration_prusa.h",
+					"settings":
+					{
+						"buffer_size": 6362,
+						"regions":
+						{
+						},
+						"selection":
+						[
+							[
+								0,
+								0
+							]
+						],
+						"settings":
+						{
+							"syntax": "Packages/C++/C++.tmLanguage",
+							"tab_size": 4,
+							"translate_tabs_to_spaces": true
+						},
+						"translation.x": 0.0,
+						"translation.y": 0.0,
+						"zoom_level": 1.0
+					},
+					"type": "text"
+				},
+				{
+					"buffer": 3,
+					"file": "Marlin_main.cpp",
+					"settings":
+					{
+						"buffer_size": 167814,
+						"regions":
+						{
+						},
+						"selection":
+						[
+							[
+								129463,
+								129463
+							]
+						],
+						"settings":
+						{
+							"syntax": "Packages/C++/C++.tmLanguage",
+							"tab_size": 2,
+							"translate_tabs_to_spaces": true
+						},
+						"translation.x": 0.0,
+						"translation.y": 83792.0,
+						"zoom_level": 1.0
+					},
+					"type": "text"
+				},
+				{
+					"buffer": 4,
+					"file": "ultralcd.cpp",
+					"settings":
+					{
+						"buffer_size": 46240,
+						"regions":
+						{
+						},
+						"selection":
+						[
+							[
+								16028,
+								16028
+							]
+						],
+						"settings":
+						{
+							"syntax": "Packages/C++/C++.tmLanguage",
+							"tab_size": 4,
+							"translate_tabs_to_spaces": true
+						},
+						"translation.x": 0.0,
+						"translation.y": 0.0,
+						"zoom_level": 1.0
+					},
+					"type": "text"
+				},
+				{
+					"buffer": 5,
+					"file": "variants/300-1a-cz.h",
+					"settings":
+					{
+						"buffer_size": 6389,
+						"regions":
+						{
+						},
+						"selection":
+						[
+							[
+								231,
+								231
+							]
+						],
+						"settings":
+						{
+							"syntax": "Packages/C++/C++.tmLanguage",
+							"tab_size": 4,
+							"translate_tabs_to_spaces": true
+						},
+						"translation.x": 0.0,
+						"translation.y": 0.0,
+						"zoom_level": 1.0
+					},
+					"type": "text"
+				},
+				{
+					"buffer": 6,
+					"file": "variants/300-1a-en.h",
+					"settings":
+					{
+						"buffer_size": 6389,
+						"regions":
+						{
+						},
+						"selection":
+						[
+							[
+								231,
+								231
+							]
+						],
+						"settings":
+						{
+							"syntax": "Packages/C++/C++.tmLanguage",
+							"tab_size": 4,
+							"translate_tabs_to_spaces": true
+						},
+						"translation.x": 0.0,
+						"translation.y": 0.0,
+						"zoom_level": 1.0
+					},
+					"type": "text"
+				},
+				{
+					"buffer": 7,
+					"file": "variants/300-2a-cz.h",
+					"settings":
+					{
+						"buffer_size": 6389,
+						"regions":
+						{
+						},
+						"selection":
+						[
+							[
+								231,
+								231
+							]
+						],
+						"settings":
+						{
+							"syntax": "Packages/C++/C++.tmLanguage",
+							"tab_size": 4,
+							"translate_tabs_to_spaces": true
+						},
+						"translation.x": 0.0,
+						"translation.y": 0.0,
+						"zoom_level": 1.0
+					},
+					"type": "text"
+				},
+				{
+					"buffer": 8,
+					"file": "variants/300-2a-en.h",
+					"settings":
+					{
+						"buffer_size": 6388,
+						"regions":
+						{
+						},
+						"selection":
+						[
+							[
+								231,
+								231
+							]
+						],
+						"settings":
+						{
+							"syntax": "Packages/C++/C++.tmLanguage",
+							"tab_size": 4,
+							"translate_tabs_to_spaces": true
+						},
+						"translation.x": 0.0,
+						"translation.y": 0.0,
+						"zoom_level": 1.0
+					},
+					"type": "text"
+				},
+				{
+					"buffer": 9,
+					"file": "pins.h",
+					"settings":
+					{
+						"buffer_size": 10841,
+						"regions":
+						{
+						},
+						"selection":
+						[
+							[
+								7690,
+								7690
+							]
+						],
+						"settings":
+						{
+							"syntax": "Packages/C++/C++.tmLanguage",
+							"tab_size": 2,
+							"translate_tabs_to_spaces": true
+						},
+						"translation.x": 0.0,
+						"translation.y": 5792.0,
+						"zoom_level": 1.0
+					},
+					"type": "text"
+				}
+			]
+		}
+	],
+	"incremental_find":
+	{
+		"height": 0.0
+	},
+	"input":
+	{
+		"height": 38.0
+	},
+	"layout":
+	{
+		"cells":
+		[
+			[
+				0,
+				0,
+				1,
+				1
+			]
+		],
+		"cols":
+		[
+			0.0,
+			1.0
+		],
+		"rows":
+		[
+			0.0,
+			1.0
+		]
+	},
+	"menu_visible": true,
+	"output.build|/Applications/arduino.app/Contents/Resources/Java/libraries/Robot_Control|1449489553.26":
+	{
+		"height": 0.0
+	},
+	"output.build|/Users/prusam/Documents/FW cleanup/Marlin1-0-3_RamboMini1-3_EN|1449489469.39":
+	{
+		"height": 142.0
+	},
+	"output.build|/Users/prusam/Documents/FW cleanup/Marlin1-0-3_RamboMini1-3_EN|1449489481.83":
+	{
+		"height": 142.0
+	},
+	"output.build|/Users/prusam/Documents/FW cleanup/Marlin1-0-3_RamboMini1-3_EN|1449489571.95":
+	{
+		"height": 142.0
+	},
+	"output.build|/Users/prusam/Documents/FW cleanup/Marlin1-0-3_RamboMini1-3_EN|1449489902.68":
+	{
+		"height": 142.0
+	},
+	"output.build|/Volumes/Production/Firmware/175-shortY/Marlin1-0-3_RamboMini1-3_CZ|1449773572.73":
+	{
+		"height": 142.0
+	},
+	"output.build|/Volumes/Production/Firmware/175-shortY/Marlin1-0-3_RamboMini1-3_CZ|1449773644.14":
+	{
+		"height": 142.0
+	},
+	"output.build|/Volumes/Production/Firmware/175-shortY/Marlin1-0-3_RamboMini1-3_CZ|1449773671.76":
+	{
+		"height": 142.0
+	},
+	"output.exec":
+	{
+		"height": 142.0
+	},
+	"output.upload|/Volumes/MichalData/Epic Byt/WindowClient/WindowClient|1449273233.47":
+	{
+		"height": 142.0
+	},
+	"output.upload|/Volumes/MichalData/Epic Byt/WindowClient/WindowClient|1449273256.26":
+	{
+		"height": 142.0
+	},
+	"output.upload|/Volumes/MichalData/Epic Byt/WindowClient/WindowClient|1449273276.42":
+	{
+		"height": 142.0
+	},
+	"output.upload|/Volumes/Production/Firmware/175-shortY/Marlin1-0-3_RamboMini1-3_CZ|1449772851.6":
+	{
+		"height": 142.0
+	},
+	"output.upload|/Volumes/Production/Firmware/175-shortY/Marlin1-0-3_RamboMini1-3_CZ|1449773351.61":
+	{
+		"height": 142.0
+	},
+	"output.upload|/Volumes/Production/Firmware/175-shortY/Marlin1-0-3_RamboMini1-3_CZ|1449773547.29":
+	{
+		"height": 142.0
+	},
+	"replace":
+	{
+		"height": 70.0
+	},
+	"save_all_on_build": true,
+	"select_file":
+	{
+		"height": 0.0,
+		"selected_items":
+		[
+		],
+		"width": 0.0
+	},
+	"select_project":
+	{
+		"height": 0.0,
+		"selected_items":
+		[
+		],
+		"width": 0.0
+	},
+	"show_minimap": true,
+	"show_open_files": true,
+	"show_tabs": true,
+	"side_bar_visible": true,
+	"side_bar_width": 304.0,
+	"status_bar_visible": true
+}

+ 402 - 0
LiquidCrystal.cpp

@@ -0,0 +1,402 @@
+#include "LiquidCrystal.h"
+
+#include <stdio.h>
+#include <string.h>
+#include <inttypes.h>
+#include "Arduino.h"
+
+// When the display powers up, it is configured as follows:
+//
+// 1. Display clear
+// 2. Function set: 
+//    DL = 1; 8-bit interface data 
+//    N = 0; 1-line display 
+//    F = 0; 5x8 dot character font 
+// 3. Display on/off control: 
+//    D = 0; Display off 
+//    C = 0; Cursor off 
+//    B = 0; Blinking off 
+// 4. Entry mode set: 
+//    I/D = 1; Increment by 1 
+//    S = 0; No shift 
+//
+// Note, however, that resetting the Arduino doesn't reset the LCD, so we
+// can't assume that it's in that state when a sketch starts (and the
+// LiquidCrystal constructor is called).
+
+LiquidCrystal::LiquidCrystal(uint8_t rs, uint8_t rw, uint8_t enable,
+			     uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3,
+			     uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7)
+{
+  init(0, rs, rw, enable, d0, d1, d2, d3, d4, d5, d6, d7);
+}
+
+LiquidCrystal::LiquidCrystal(uint8_t rs, uint8_t enable,
+			     uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3,
+			     uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7)
+{
+  init(0, rs, 255, enable, d0, d1, d2, d3, d4, d5, d6, d7);
+}
+
+LiquidCrystal::LiquidCrystal(uint8_t rs, uint8_t rw, uint8_t enable,
+			     uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3)
+{
+  init(1, rs, rw, enable, d0, d1, d2, d3, 0, 0, 0, 0);
+}
+
+LiquidCrystal::LiquidCrystal(uint8_t rs,  uint8_t enable,
+			     uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3)
+{
+  init(1, rs, 255, enable, d0, d1, d2, d3, 0, 0, 0, 0);
+}
+
+void LiquidCrystal::init(uint8_t fourbitmode, uint8_t rs, uint8_t rw, uint8_t enable,
+			 uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3,
+			 uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7)
+{
+  _rs_pin = rs;
+  _rw_pin = rw;
+  _enable_pin = enable;
+  
+  _data_pins[0] = d0;
+  _data_pins[1] = d1;
+  _data_pins[2] = d2;
+  _data_pins[3] = d3; 
+  _data_pins[4] = d4;
+  _data_pins[5] = d5;
+  _data_pins[6] = d6;
+  _data_pins[7] = d7; 
+
+  pinMode(_rs_pin, OUTPUT);
+  // we can save 1 pin by not using RW. Indicate by passing 255 instead of pin#
+  if (_rw_pin != 255) { 
+    pinMode(_rw_pin, OUTPUT);
+  }
+  pinMode(_enable_pin, OUTPUT);
+  
+  if (fourbitmode)
+    _displayfunction = LCD_4BITMODE | LCD_1LINE | LCD_5x8DOTS;
+  else 
+    _displayfunction = LCD_8BITMODE | LCD_1LINE | LCD_5x8DOTS;
+  
+  begin(16, 1);  
+}
+
+void LiquidCrystal::begin(uint8_t cols, uint8_t lines, uint8_t dotsize) {
+  if (lines > 1) {
+    _displayfunction |= LCD_2LINE;
+  }
+  _numlines = lines;
+  _currline = 0;
+
+  // for some 1 line displays you can select a 10 pixel high font
+  if ((dotsize != 0) && (lines == 1)) {
+    _displayfunction |= LCD_5x10DOTS;
+  }
+
+  // SEE PAGE 45/46 FOR INITIALIZATION SPECIFICATION!
+  // according to datasheet, we need at least 40ms after power rises above 2.7V
+  // before sending commands. Arduino can turn on way befer 4.5V so we'll wait 50
+  delayMicroseconds(50000); 
+  // Now we pull both RS and R/W low to begin commands
+  digitalWrite(_rs_pin, LOW);
+  digitalWrite(_enable_pin, LOW);
+  if (_rw_pin != 255) { 
+    digitalWrite(_rw_pin, LOW);
+  }
+  
+  //put the LCD into 4 bit or 8 bit mode
+  if (! (_displayfunction & LCD_8BITMODE)) {
+    // this is according to the hitachi HD44780 datasheet
+    // figure 24, pg 46
+
+    // we start in 8bit mode, try to set 4 bit mode
+    write4bits(0x03);
+    delayMicroseconds(4500); // wait min 4.1ms
+
+    // second try
+    write4bits(0x03);
+    delayMicroseconds(4500); // wait min 4.1ms
+    
+    // third go!
+    write4bits(0x03); 
+    delayMicroseconds(150);
+
+    // finally, set to 4-bit interface
+    write4bits(0x02); 
+  } else {
+    // this is according to the hitachi HD44780 datasheet
+    // page 45 figure 23
+
+    // Send function set command sequence
+    command(LCD_FUNCTIONSET | _displayfunction);
+    delayMicroseconds(4500);  // wait more than 4.1ms
+
+    // second try
+    command(LCD_FUNCTIONSET | _displayfunction);
+    delayMicroseconds(150);
+
+    // third go
+    command(LCD_FUNCTIONSET | _displayfunction);
+  }
+
+  // finally, set # lines, font size, etc.
+  command(LCD_FUNCTIONSET | _displayfunction);  
+
+  // turn the display on with no cursor or blinking default
+  _displaycontrol = LCD_DISPLAYON | LCD_CURSOROFF | LCD_BLINKOFF;  
+  display();
+
+  // clear it off
+  clear();
+
+  // Initialize to default text direction (for romance languages)
+  _displaymode = LCD_ENTRYLEFT | LCD_ENTRYSHIFTDECREMENT;
+  // set the entry mode
+  command(LCD_ENTRYMODESET | _displaymode);
+
+}
+
+
+
+void LiquidCrystal::begin_noclear(uint8_t cols, uint8_t lines, uint8_t dotsize) {
+  if (lines > 1) {
+    _displayfunction |= LCD_2LINE;
+  }
+  _numlines = lines;
+  _currline = 0;
+
+  // for some 1 line displays you can select a 10 pixel high font
+  if ((dotsize != 0) && (lines == 1)) {
+    _displayfunction |= LCD_5x10DOTS;
+  }
+
+  // SEE PAGE 45/46 FOR INITIALIZATION SPECIFICATION!
+  // according to datasheet, we need at least 40ms after power rises above 2.7V
+  // before sending commands. Arduino can turn on way befer 4.5V so we'll wait 50
+  delayMicroseconds(50000); 
+  // Now we pull both RS and R/W low to begin commands
+  digitalWrite(_rs_pin, LOW);
+  digitalWrite(_enable_pin, LOW);
+  if (_rw_pin != 255) { 
+    digitalWrite(_rw_pin, LOW);
+  }
+  
+  //put the LCD into 4 bit or 8 bit mode
+  if (! (_displayfunction & LCD_8BITMODE)) {
+    // this is according to the hitachi HD44780 datasheet
+    // figure 24, pg 46
+
+    // we start in 8bit mode, try to set 4 bit mode
+    write4bits(0x03);
+    delayMicroseconds(4500); // wait min 4.1ms
+
+    // second try
+    write4bits(0x03);
+    delayMicroseconds(4500); // wait min 4.1ms
+    
+    // third go!
+    write4bits(0x03); 
+    delayMicroseconds(150);
+
+    // finally, set to 4-bit interface
+    write4bits(0x02); 
+  } else {
+    // this is according to the hitachi HD44780 datasheet
+    // page 45 figure 23
+
+    // Send function set command sequence
+    command(LCD_FUNCTIONSET | _displayfunction);
+    delayMicroseconds(4500);  // wait more than 4.1ms
+
+    // second try
+    command(LCD_FUNCTIONSET | _displayfunction);
+    delayMicroseconds(150);
+
+    // third go
+    command(LCD_FUNCTIONSET | _displayfunction);
+  }
+
+  // finally, set # lines, font size, etc.
+  command(LCD_FUNCTIONSET | _displayfunction);  
+
+  // turn the display on with no cursor or blinking default
+  _displaycontrol = LCD_DISPLAYON | LCD_CURSOROFF | LCD_BLINKOFF;  
+  display();
+
+  // clear it off
+  //clear();
+
+  home();
+
+  // Initialize to default text direction (for romance languages)
+  _displaymode = LCD_ENTRYLEFT | LCD_ENTRYSHIFTDECREMENT;
+  // set the entry mode
+  command(LCD_ENTRYMODESET | _displaymode);
+
+  setCursor(8,0);
+  print("    ");
+  setCursor(8,1);
+  print("    ");
+  setCursor(6,2);
+  print("      ");
+
+
+}
+
+
+
+
+/********** high level commands, for the user! */
+void LiquidCrystal::clear()
+{
+  command(LCD_CLEARDISPLAY);  // clear display, set cursor position to zero
+  delayMicroseconds(1600);  // this command takes a long time
+  
+}
+
+void LiquidCrystal::home()
+{
+  command(LCD_RETURNHOME);  // set cursor position to zero
+  delayMicroseconds(1600);  // this command takes a long time!
+  
+}
+
+void LiquidCrystal::setCursor(uint8_t col, uint8_t row)
+{
+  int row_offsets[] = { 0x00, 0x40, 0x14, 0x54 };
+  if ( row >= _numlines ) {
+    row = _numlines-1;    // we count rows starting w/0
+  }
+  
+  command(LCD_SETDDRAMADDR | (col + row_offsets[row]));
+}
+
+// Turn the display on/off (quickly)
+void LiquidCrystal::noDisplay() {
+  _displaycontrol &= ~LCD_DISPLAYON;
+  command(LCD_DISPLAYCONTROL | _displaycontrol);
+}
+void LiquidCrystal::display() {
+  _displaycontrol |= LCD_DISPLAYON;
+  command(LCD_DISPLAYCONTROL | _displaycontrol);
+}
+
+// Turns the underline cursor on/off
+void LiquidCrystal::noCursor() {
+  _displaycontrol &= ~LCD_CURSORON;
+  command(LCD_DISPLAYCONTROL | _displaycontrol);
+}
+void LiquidCrystal::cursor() {
+  _displaycontrol |= LCD_CURSORON;
+  command(LCD_DISPLAYCONTROL | _displaycontrol);
+}
+
+// Turn on and off the blinking cursor
+void LiquidCrystal::noBlink() {
+  _displaycontrol &= ~LCD_BLINKON;
+  command(LCD_DISPLAYCONTROL | _displaycontrol);
+}
+void LiquidCrystal::blink() {
+  _displaycontrol |= LCD_BLINKON;
+  command(LCD_DISPLAYCONTROL | _displaycontrol);
+}
+
+// These commands scroll the display without changing the RAM
+void LiquidCrystal::scrollDisplayLeft(void) {
+  command(LCD_CURSORSHIFT | LCD_DISPLAYMOVE | LCD_MOVELEFT);
+}
+void LiquidCrystal::scrollDisplayRight(void) {
+  command(LCD_CURSORSHIFT | LCD_DISPLAYMOVE | LCD_MOVERIGHT);
+}
+
+// This is for text that flows Left to Right
+void LiquidCrystal::leftToRight(void) {
+  _displaymode |= LCD_ENTRYLEFT;
+  command(LCD_ENTRYMODESET | _displaymode);
+}
+
+// This is for text that flows Right to Left
+void LiquidCrystal::rightToLeft(void) {
+  _displaymode &= ~LCD_ENTRYLEFT;
+  command(LCD_ENTRYMODESET | _displaymode);
+}
+
+// This will 'right justify' text from the cursor
+void LiquidCrystal::autoscroll(void) {
+  _displaymode |= LCD_ENTRYSHIFTINCREMENT;
+  command(LCD_ENTRYMODESET | _displaymode);
+}
+
+// This will 'left justify' text from the cursor
+void LiquidCrystal::noAutoscroll(void) {
+  _displaymode &= ~LCD_ENTRYSHIFTINCREMENT;
+  command(LCD_ENTRYMODESET | _displaymode);
+}
+
+// Allows us to fill the first 8 CGRAM locations
+// with custom characters
+void LiquidCrystal::createChar(uint8_t location, uint8_t charmap[]) {
+  location &= 0x7; // we only have 8 locations 0-7
+  command(LCD_SETCGRAMADDR | (location << 3));
+  for (int i=0; i<8; i++) {
+    write(charmap[i]);
+  }
+}
+
+/*********** mid level commands, for sending data/cmds */
+
+inline void LiquidCrystal::command(uint8_t value) {
+  send(value, LOW);
+}
+
+inline size_t LiquidCrystal::write(uint8_t value) {
+  send(value, HIGH);
+  return 1; // assume sucess
+}
+
+/************ low level data pushing commands **********/
+
+// write either command or data, with automatic 4/8-bit selection
+void LiquidCrystal::send(uint8_t value, uint8_t mode) {
+  digitalWrite(_rs_pin, mode);
+
+  // if there is a RW pin indicated, set it low to Write
+  if (_rw_pin != 255) { 
+    digitalWrite(_rw_pin, LOW);
+  }
+  
+  if (_displayfunction & LCD_8BITMODE) {
+    write8bits(value); 
+  } else {
+    write4bits(value>>4);
+    write4bits(value);
+  }
+}
+
+void LiquidCrystal::pulseEnable(void) {
+  digitalWrite(_enable_pin, LOW);
+  delayMicroseconds(1);    
+  digitalWrite(_enable_pin, HIGH);
+  delayMicroseconds(1);    // enable pulse must be >450ns
+  digitalWrite(_enable_pin, LOW);
+  delayMicroseconds(100);   // commands need > 37us to settle
+}
+
+void LiquidCrystal::write4bits(uint8_t value) {
+  for (int i = 0; i < 4; i++) {
+    pinMode(_data_pins[i], OUTPUT);
+    digitalWrite(_data_pins[i], (value >> i) & 0x01);
+  }
+
+  pulseEnable();
+}
+
+void LiquidCrystal::write8bits(uint8_t value) {
+  for (int i = 0; i < 8; i++) {
+    pinMode(_data_pins[i], OUTPUT);
+    digitalWrite(_data_pins[i], (value >> i) & 0x01);
+  }
+  
+  pulseEnable();
+}

+ 108 - 0
LiquidCrystal.h

@@ -0,0 +1,108 @@
+#ifndef LiquidCrystal_h
+#define LiquidCrystal_h
+
+#include <inttypes.h>
+#include "Print.h"
+
+// commands
+#define LCD_CLEARDISPLAY 0x01
+#define LCD_RETURNHOME 0x02
+#define LCD_ENTRYMODESET 0x04
+#define LCD_DISPLAYCONTROL 0x08
+#define LCD_CURSORSHIFT 0x10
+#define LCD_FUNCTIONSET 0x20
+#define LCD_SETCGRAMADDR 0x40
+#define LCD_SETDDRAMADDR 0x80
+
+// flags for display entry mode
+#define LCD_ENTRYRIGHT 0x00
+#define LCD_ENTRYLEFT 0x02
+#define LCD_ENTRYSHIFTINCREMENT 0x01
+#define LCD_ENTRYSHIFTDECREMENT 0x00
+
+// flags for display on/off control
+#define LCD_DISPLAYON 0x04
+#define LCD_DISPLAYOFF 0x00
+#define LCD_CURSORON 0x02
+#define LCD_CURSOROFF 0x00
+#define LCD_BLINKON 0x01
+#define LCD_BLINKOFF 0x00
+
+// flags for display/cursor shift
+#define LCD_DISPLAYMOVE 0x08
+#define LCD_CURSORMOVE 0x00
+#define LCD_MOVERIGHT 0x04
+#define LCD_MOVELEFT 0x00
+
+// flags for function set
+#define LCD_8BITMODE 0x10
+#define LCD_4BITMODE 0x00
+#define LCD_2LINE 0x08
+#define LCD_1LINE 0x00
+#define LCD_5x10DOTS 0x04
+#define LCD_5x8DOTS 0x00
+
+class LiquidCrystal : public Print {
+public:
+  LiquidCrystal(uint8_t rs, uint8_t enable,
+		uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3,
+		uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7);
+  LiquidCrystal(uint8_t rs, uint8_t rw, uint8_t enable,
+		uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3,
+		uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7);
+  LiquidCrystal(uint8_t rs, uint8_t rw, uint8_t enable,
+		uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3);
+  LiquidCrystal(uint8_t rs, uint8_t enable,
+		uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3);
+
+  void init(uint8_t fourbitmode, uint8_t rs, uint8_t rw, uint8_t enable,
+	    uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3,
+	    uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7);
+    
+  void begin(uint8_t cols, uint8_t rows, uint8_t charsize = LCD_5x8DOTS);
+
+  void begin_noclear(uint8_t cols, uint8_t rows, uint8_t charsize = LCD_5x8DOTS);
+
+  void clear();
+  void home();
+
+  void noDisplay();
+  void display();
+  void noBlink();
+  void blink();
+  void noCursor();
+  void cursor();
+  void scrollDisplayLeft();
+  void scrollDisplayRight();
+  void leftToRight();
+  void rightToLeft();
+  void autoscroll();
+  void noAutoscroll();
+
+  void createChar(uint8_t, uint8_t[]);
+  void setCursor(uint8_t, uint8_t); 
+  virtual size_t write(uint8_t);
+  void command(uint8_t);
+  
+  using Print::write;
+private:
+  void send(uint8_t, uint8_t);
+  void write4bits(uint8_t);
+  void write8bits(uint8_t);
+  void pulseEnable();
+
+  uint8_t _rs_pin; // LOW: command.  HIGH: character.
+  uint8_t _rw_pin; // LOW: write to LCD.  HIGH: read from LCD.
+  uint8_t _enable_pin; // activated by a HIGH pulse.
+  uint8_t _data_pins[8];
+
+  uint8_t _displayfunction;
+  uint8_t _displaycontrol;
+  uint8_t _displaymode;
+
+  uint8_t _initialized;
+
+  uint8_t _numlines,_currline;
+};
+
+#endif

+ 280 - 0
Marlin.h

@@ -0,0 +1,280 @@
+// Tonokip RepRap firmware rewrite based off of Hydra-mmm firmware.
+// License: GPL
+
+#ifndef MARLIN_H
+#define MARLIN_H
+
+#define  FORCE_INLINE __attribute__((always_inline)) inline
+
+#include <math.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <inttypes.h>
+
+#include <util/delay.h>
+#include <avr/pgmspace.h>
+#include <avr/eeprom.h>
+#include <avr/interrupt.h>
+
+
+#include "fastio.h"
+#include "Configuration.h"
+#include "pins.h"
+
+#ifndef AT90USB
+#define  HardwareSerial_h // trick to disable the standard HWserial
+#endif
+
+#if (ARDUINO >= 100)
+# include "Arduino.h"
+#else
+# include "WProgram.h"
+#endif
+
+// Arduino < 1.0.0 does not define this, so we need to do it ourselves
+#ifndef analogInputToDigitalPin
+# define analogInputToDigitalPin(p) ((p) + A0)
+#endif
+
+#ifdef AT90USB
+#include "HardwareSerial.h"
+#endif
+
+#include "MarlinSerial.h"
+
+#ifndef cbi
+#define cbi(sfr, bit) (_SFR_BYTE(sfr) &= ~_BV(bit))
+#endif
+#ifndef sbi
+#define sbi(sfr, bit) (_SFR_BYTE(sfr) |= _BV(bit))
+#endif
+
+#include "WString.h"
+
+#ifdef AT90USB
+   #ifdef BTENABLED
+         #define MYSERIAL bt
+   #else
+         #define MYSERIAL Serial
+   #endif // BTENABLED
+#else
+  #define MYSERIAL MSerial
+#endif
+
+#define SERIAL_PROTOCOL(x) (MYSERIAL.print(x))
+#define SERIAL_PROTOCOL_F(x,y) (MYSERIAL.print(x,y))
+#define SERIAL_PROTOCOLPGM(x) (serialprintPGM(PSTR(x)))
+#define SERIAL_PROTOCOLLN(x) (MYSERIAL.print(x),MYSERIAL.write('\n'))
+#define SERIAL_PROTOCOLLNPGM(x) (serialprintPGM(PSTR(x)),MYSERIAL.write('\n'))
+
+
+extern const char errormagic[] PROGMEM;
+extern const char echomagic[] PROGMEM;
+
+#define SERIAL_ERROR_START (serialprintPGM(errormagic))
+#define SERIAL_ERROR(x) SERIAL_PROTOCOL(x)
+#define SERIAL_ERRORPGM(x) SERIAL_PROTOCOLPGM(x)
+#define SERIAL_ERRORLN(x) SERIAL_PROTOCOLLN(x)
+#define SERIAL_ERRORLNPGM(x) SERIAL_PROTOCOLLNPGM(x)
+
+#define SERIAL_ECHO_START (serialprintPGM(echomagic))
+#define SERIAL_ECHO(x) SERIAL_PROTOCOL(x)
+#define SERIAL_ECHOPGM(x) SERIAL_PROTOCOLPGM(x)
+#define SERIAL_ECHOLN(x) SERIAL_PROTOCOLLN(x)
+#define SERIAL_ECHOLNPGM(x) SERIAL_PROTOCOLLNPGM(x)
+
+#define SERIAL_ECHOPAIR(name,value) (serial_echopair_P(PSTR(name),(value)))
+
+void serial_echopair_P(const char *s_P, float v);
+void serial_echopair_P(const char *s_P, double v);
+void serial_echopair_P(const char *s_P, unsigned long v);
+
+
+//Things to write to serial from Program memory. Saves 400 to 2k of RAM.
+FORCE_INLINE void serialprintPGM(const char *str)
+{
+  char ch=pgm_read_byte(str);
+  while(ch)
+  {
+    MYSERIAL.write(ch);
+    ch=pgm_read_byte(++str);
+  }
+}
+
+
+void get_command();
+void process_commands();
+
+void manage_inactivity(bool ignore_stepper_queue=false);
+
+#if defined(DUAL_X_CARRIAGE) && defined(X_ENABLE_PIN) && X_ENABLE_PIN > -1 \
+    && defined(X2_ENABLE_PIN) && X2_ENABLE_PIN > -1
+  #define  enable_x() do { WRITE(X_ENABLE_PIN, X_ENABLE_ON); WRITE(X2_ENABLE_PIN, X_ENABLE_ON); } while (0)
+  #define disable_x() do { WRITE(X_ENABLE_PIN,!X_ENABLE_ON); WRITE(X2_ENABLE_PIN,!X_ENABLE_ON); axis_known_position[X_AXIS] = false; } while (0)
+#elif defined(X_ENABLE_PIN) && X_ENABLE_PIN > -1
+  #define  enable_x() WRITE(X_ENABLE_PIN, X_ENABLE_ON)
+  #define disable_x() { WRITE(X_ENABLE_PIN,!X_ENABLE_ON); axis_known_position[X_AXIS] = false; }
+#else
+  #define enable_x() ;
+  #define disable_x() ;
+#endif
+
+#if defined(Y_ENABLE_PIN) && Y_ENABLE_PIN > -1
+  #ifdef Y_DUAL_STEPPER_DRIVERS
+    #define  enable_y() { WRITE(Y_ENABLE_PIN, Y_ENABLE_ON); WRITE(Y2_ENABLE_PIN,  Y_ENABLE_ON); }
+    #define disable_y() { WRITE(Y_ENABLE_PIN,!Y_ENABLE_ON); WRITE(Y2_ENABLE_PIN, !Y_ENABLE_ON); axis_known_position[Y_AXIS] = false; }
+  #else
+    #define  enable_y() WRITE(Y_ENABLE_PIN, Y_ENABLE_ON)
+    #define disable_y() { WRITE(Y_ENABLE_PIN,!Y_ENABLE_ON); axis_known_position[Y_AXIS] = false; }
+  #endif
+#else
+  #define enable_y() ;
+  #define disable_y() ;
+#endif
+
+#if defined(Z_ENABLE_PIN) && Z_ENABLE_PIN > -1
+  #ifdef Z_DUAL_STEPPER_DRIVERS
+    #define  enable_z() { WRITE(Z_ENABLE_PIN, Z_ENABLE_ON); WRITE(Z2_ENABLE_PIN, Z_ENABLE_ON); }
+    #define disable_z() { WRITE(Z_ENABLE_PIN,!Z_ENABLE_ON); WRITE(Z2_ENABLE_PIN,!Z_ENABLE_ON); axis_known_position[Z_AXIS] = false; }
+  #else
+    #define  enable_z() WRITE(Z_ENABLE_PIN, Z_ENABLE_ON)
+    #define disable_z() { WRITE(Z_ENABLE_PIN,!Z_ENABLE_ON); axis_known_position[Z_AXIS] = false; }
+  #endif
+#else
+  #define enable_z() ;
+  #define disable_z() ;
+#endif
+
+#if defined(E0_ENABLE_PIN) && (E0_ENABLE_PIN > -1)
+  #define enable_e0() WRITE(E0_ENABLE_PIN, E_ENABLE_ON)
+  #define disable_e0() WRITE(E0_ENABLE_PIN,!E_ENABLE_ON)
+#else
+  #define enable_e0()  /* nothing */
+  #define disable_e0() /* nothing */
+#endif
+
+#if (EXTRUDERS > 1) && defined(E1_ENABLE_PIN) && (E1_ENABLE_PIN > -1)
+  #define enable_e1() WRITE(E1_ENABLE_PIN, E_ENABLE_ON)
+  #define disable_e1() WRITE(E1_ENABLE_PIN,!E_ENABLE_ON)
+#else
+  #define enable_e1()  /* nothing */
+  #define disable_e1() /* nothing */
+#endif
+
+#if (EXTRUDERS > 2) && defined(E2_ENABLE_PIN) && (E2_ENABLE_PIN > -1)
+  #define enable_e2() WRITE(E2_ENABLE_PIN, E_ENABLE_ON)
+  #define disable_e2() WRITE(E2_ENABLE_PIN,!E_ENABLE_ON)
+#else
+  #define enable_e2()  /* nothing */
+  #define disable_e2() /* nothing */
+#endif
+
+
+enum AxisEnum {X_AXIS=0, Y_AXIS=1, Z_AXIS=2, E_AXIS=3, X_HEAD=4, Y_HEAD=5};
+
+
+void FlushSerialRequestResend();
+void ClearToSend();
+
+void get_coordinates();
+#ifdef DELTA
+void calculate_delta(float cartesian[3]);
+extern float delta[3];
+#endif
+#ifdef SCARA
+void calculate_delta(float cartesian[3]);
+void calculate_SCARA_forward_Transform(float f_scara[3]);
+#endif
+void prepare_move();
+void kill();
+void Stop();
+
+bool IsStopped();
+
+void enquecommand(const char *cmd); //put an ASCII command at the end of the current buffer.
+void enquecommand_P(const char *cmd); //put an ASCII command at the end of the current buffer, read from flash
+void prepare_arc_move(char isclockwise);
+void clamp_to_software_endstops(float target[3]);
+
+void refresh_cmd_timeout(void);
+
+#ifdef FAST_PWM_FAN
+void setPwmFrequency(uint8_t pin, int val);
+#endif
+
+#ifndef CRITICAL_SECTION_START
+  #define CRITICAL_SECTION_START  unsigned char _sreg = SREG; cli();
+  #define CRITICAL_SECTION_END    SREG = _sreg;
+#endif //CRITICAL_SECTION_START
+
+extern float homing_feedrate[];
+extern bool axis_relative_modes[];
+extern int feedmultiply;
+extern int extrudemultiply; // Sets extrude multiply factor (in percent) for all extruders
+extern bool volumetric_enabled;
+extern int extruder_multiply[EXTRUDERS]; // sets extrude multiply factor (in percent) for each extruder individually
+extern float filament_size[EXTRUDERS]; // cross-sectional area of filament (in millimeters), typically around 1.75 or 2.85, 0 disables the volumetric calculations for the extruder.
+extern float volumetric_multiplier[EXTRUDERS]; // reciprocal of cross-sectional area of filament (in square millimeters), stored this way to reduce computational burden in planner
+extern float current_position[NUM_AXIS] ;
+extern float add_homing[3];
+#ifdef DELTA
+extern float endstop_adj[3];
+extern float delta_radius;
+extern float delta_diagonal_rod;
+extern float delta_segments_per_second;
+void recalc_delta_settings(float radius, float diagonal_rod);
+#endif
+#ifdef SCARA
+extern float axis_scaling[3];  // Build size scaling
+#endif
+extern float min_pos[3];
+extern float max_pos[3];
+extern bool axis_known_position[3];
+extern float zprobe_zoffset;
+extern int fanSpeed;
+#ifdef BARICUDA
+extern int ValvePressure;
+extern int EtoPPressure;
+#endif
+
+#ifdef FAN_SOFT_PWM
+extern unsigned char fanSpeedSoftPwm;
+#endif
+
+#ifdef FILAMENT_SENSOR
+  extern float filament_width_nominal;  //holds the theoretical filament diameter ie., 3.00 or 1.75
+  extern bool filament_sensor;  //indicates that filament sensor readings should control extrusion
+  extern float filament_width_meas; //holds the filament diameter as accurately measured
+  extern signed char measurement_delay[];  //ring buffer to delay measurement
+  extern int delay_index1, delay_index2;  //index into ring buffer
+  extern float delay_dist; //delay distance counter
+  extern int meas_delay_cm; //delay distance
+#endif
+
+#ifdef FWRETRACT
+extern bool autoretract_enabled;
+extern bool retracted[EXTRUDERS];
+extern float retract_length, retract_length_swap, retract_feedrate, retract_zlift;
+extern float retract_recover_length, retract_recover_length_swap, retract_recover_feedrate;
+#endif
+
+extern unsigned long starttime;
+extern unsigned long stoptime;
+
+// Handling multiple extruders pins
+extern uint8_t active_extruder;
+
+#ifdef DIGIPOT_I2C
+extern void digipot_i2c_set_current( int channel, float current );
+extern void digipot_i2c_init();
+#endif
+
+#endif
+
+
+
+
+
+extern void calculate_volumetric_multipliers();
+

+ 328 - 0
MarlinSerial.cpp

@@ -0,0 +1,328 @@
+/*
+  HardwareSerial.cpp - Hardware serial library for Wiring
+  Copyright (c) 2006 Nicholas Zambetti.  All right reserved.
+
+  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 St, Fifth Floor, Boston, MA  02110-1301  USA
+  
+  Modified 23 November 2006 by David A. Mellis
+  Modified 28 September 2010 by Mark Sproul
+*/
+
+#include "Marlin.h"
+#include "MarlinSerial.h"
+
+#ifndef AT90USB
+// this next line disables the entire HardwareSerial.cpp, 
+// this is so I can support Attiny series and any other chip without a UART
+#if defined(UBRRH) || defined(UBRR0H) || defined(UBRR1H) || defined(UBRR2H) || defined(UBRR3H)
+
+#if UART_PRESENT(SERIAL_PORT)
+  ring_buffer rx_buffer  =  { { 0 }, 0, 0 };
+#endif
+
+FORCE_INLINE void store_char(unsigned char c)
+{
+  int i = (unsigned int)(rx_buffer.head + 1) % RX_BUFFER_SIZE;
+
+  // if we should be storing the received character into the location
+  // just before the tail (meaning that the head would advance to the
+  // current location of the tail), we're about to overflow the buffer
+  // and so we don't write the character or advance the head.
+  if (i != rx_buffer.tail) {
+    rx_buffer.buffer[rx_buffer.head] = c;
+    rx_buffer.head = i;
+  }
+}
+
+
+//#elif defined(SIG_USART_RECV)
+#if defined(M_USARTx_RX_vect)
+  // fixed by Mark Sproul this is on the 644/644p
+  //SIGNAL(SIG_USART_RECV)
+  SIGNAL(M_USARTx_RX_vect)
+  {
+    unsigned char c  =  M_UDRx;
+    store_char(c);
+  }
+#endif
+
+// Constructors ////////////////////////////////////////////////////////////////
+
+MarlinSerial::MarlinSerial()
+{
+
+}
+
+// Public Methods //////////////////////////////////////////////////////////////
+
+void MarlinSerial::begin(long baud)
+{
+  uint16_t baud_setting;
+  bool useU2X = true;
+
+#if F_CPU == 16000000UL && SERIAL_PORT == 0
+  // hard-coded exception for compatibility with the bootloader shipped
+  // with the Duemilanove and previous boards and the firmware on the 8U2
+  // on the Uno and Mega 2560.
+  if (baud == 57600) {
+    useU2X = false;
+  }
+#endif
+  
+  if (useU2X) {
+    M_UCSRxA = 1 << M_U2Xx;
+    baud_setting = (F_CPU / 4 / baud - 1) / 2;
+  } else {
+    M_UCSRxA = 0;
+    baud_setting = (F_CPU / 8 / baud - 1) / 2;
+  }
+
+  // assign the baud_setting, a.k.a. ubbr (USART Baud Rate Register)
+  M_UBRRxH = baud_setting >> 8;
+  M_UBRRxL = baud_setting;
+
+  sbi(M_UCSRxB, M_RXENx);
+  sbi(M_UCSRxB, M_TXENx);
+  sbi(M_UCSRxB, M_RXCIEx);
+}
+
+void MarlinSerial::end()
+{
+  cbi(M_UCSRxB, M_RXENx);
+  cbi(M_UCSRxB, M_TXENx);
+  cbi(M_UCSRxB, M_RXCIEx);  
+}
+
+
+
+int MarlinSerial::peek(void)
+{
+  if (rx_buffer.head == rx_buffer.tail) {
+    return -1;
+  } else {
+    return rx_buffer.buffer[rx_buffer.tail];
+  }
+}
+
+int MarlinSerial::read(void)
+{
+  // if the head isn't ahead of the tail, we don't have any characters
+  if (rx_buffer.head == rx_buffer.tail) {
+    return -1;
+  } else {
+    unsigned char c = rx_buffer.buffer[rx_buffer.tail];
+    rx_buffer.tail = (unsigned int)(rx_buffer.tail + 1) % RX_BUFFER_SIZE;
+    return c;
+  }
+}
+
+void MarlinSerial::flush()
+{
+  // don't reverse this or there may be problems if the RX interrupt
+  // occurs after reading the value of rx_buffer_head but before writing
+  // the value to rx_buffer_tail; the previous value of rx_buffer_head
+  // may be written to rx_buffer_tail, making it appear as if the buffer
+  // don't reverse this or there may be problems if the RX interrupt
+  // occurs after reading the value of rx_buffer_head but before writing
+  // the value to rx_buffer_tail; the previous value of rx_buffer_head
+  // may be written to rx_buffer_tail, making it appear as if the buffer
+  // were full, not empty.
+  rx_buffer.head = rx_buffer.tail;
+}
+
+
+
+
+/// imports from print.h
+
+
+
+
+void MarlinSerial::print(char c, int base)
+{
+  print((long) c, base);
+}
+
+void MarlinSerial::print(unsigned char b, int base)
+{
+  print((unsigned long) b, base);
+}
+
+void MarlinSerial::print(int n, int base)
+{
+  print((long) n, base);
+}
+
+void MarlinSerial::print(unsigned int n, int base)
+{
+  print((unsigned long) n, base);
+}
+
+void MarlinSerial::print(long n, int base)
+{
+  if (base == 0) {
+    write(n);
+  } else if (base == 10) {
+    if (n < 0) {
+      print('-');
+      n = -n;
+    }
+    printNumber(n, 10);
+  } else {
+    printNumber(n, base);
+  }
+}
+
+void MarlinSerial::print(unsigned long n, int base)
+{
+  if (base == 0) write(n);
+  else printNumber(n, base);
+}
+
+void MarlinSerial::print(double n, int digits)
+{
+  printFloat(n, digits);
+}
+
+void MarlinSerial::println(void)
+{
+  print('\r');
+  print('\n');  
+}
+
+void MarlinSerial::println(const String &s)
+{
+  print(s);
+  println();
+}
+
+void MarlinSerial::println(const char c[])
+{
+  print(c);
+  println();
+}
+
+void MarlinSerial::println(char c, int base)
+{
+  print(c, base);
+  println();
+}
+
+void MarlinSerial::println(unsigned char b, int base)
+{
+  print(b, base);
+  println();
+}
+
+void MarlinSerial::println(int n, int base)
+{
+  print(n, base);
+  println();
+}
+
+void MarlinSerial::println(unsigned int n, int base)
+{
+  print(n, base);
+  println();
+}
+
+void MarlinSerial::println(long n, int base)
+{
+  print(n, base);
+  println();
+}
+
+void MarlinSerial::println(unsigned long n, int base)
+{
+  print(n, base);
+  println();
+}
+
+void MarlinSerial::println(double n, int digits)
+{
+  print(n, digits);
+  println();
+}
+
+// Private Methods /////////////////////////////////////////////////////////////
+
+void MarlinSerial::printNumber(unsigned long n, uint8_t base)
+{
+  unsigned char buf[8 * sizeof(long)]; // Assumes 8-bit chars. 
+  unsigned long i = 0;
+
+  if (n == 0) {
+    print('0');
+    return;
+  } 
+
+  while (n > 0) {
+    buf[i++] = n % base;
+    n /= base;
+  }
+
+  for (; i > 0; i--)
+    print((char) (buf[i - 1] < 10 ?
+      '0' + buf[i - 1] :
+      'A' + buf[i - 1] - 10));
+}
+
+void MarlinSerial::printFloat(double number, uint8_t digits) 
+{ 
+  // Handle negative numbers
+  if (number < 0.0)
+  {
+     print('-');
+     number = -number;
+  }
+
+  // Round correctly so that print(1.999, 2) prints as "2.00"
+  double rounding = 0.5;
+  for (uint8_t i=0; i<digits; ++i)
+    rounding /= 10.0;
+  
+  number += rounding;
+
+  // Extract the integer part of the number and print it
+  unsigned long int_part = (unsigned long)number;
+  double remainder = number - (double)int_part;
+  print(int_part);
+
+  // Print the decimal point, but only if there are digits beyond
+  if (digits > 0)
+    print("."); 
+
+  // Extract digits from the remainder one at a time
+  while (digits-- > 0)
+  {
+    remainder *= 10.0;
+    int toPrint = int(remainder);
+    print(toPrint);
+    remainder -= toPrint; 
+  } 
+}
+// Preinstantiate Objects //////////////////////////////////////////////////////
+
+
+MarlinSerial MSerial;
+
+#endif // whole file
+#endif // !AT90USB
+
+// For AT90USB targets use the UART for BT interfacing
+#if defined(AT90USB) && defined (BTENABLED)
+   HardwareSerial bt;
+#endif
+

+ 189 - 0
MarlinSerial.h

@@ -0,0 +1,189 @@
+/*
+  HardwareSerial.h - Hardware serial library for Wiring
+  Copyright (c) 2006 Nicholas Zambetti.  All right reserved.
+
+  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 St, Fifth Floor, Boston, MA  02110-1301  USA
+
+  Modified 28 September 2010 by Mark Sproul
+*/
+
+#ifndef MarlinSerial_h
+#define MarlinSerial_h
+#include "Marlin.h"
+
+#if !defined(SERIAL_PORT) 
+#define SERIAL_PORT 0
+#endif
+
+// The presence of the UBRRH register is used to detect a UART.
+#define UART_PRESENT(port) ((port == 0 && (defined(UBRRH) || defined(UBRR0H))) || \
+						(port == 1 && defined(UBRR1H)) || (port == 2 && defined(UBRR2H)) || \
+						(port == 3 && defined(UBRR3H)))				
+						
+// These are macros to build serial port register names for the selected SERIAL_PORT (C preprocessor
+// requires two levels of indirection to expand macro values properly)
+#define SERIAL_REGNAME(registerbase,number,suffix) SERIAL_REGNAME_INTERNAL(registerbase,number,suffix)
+#if SERIAL_PORT == 0 && (!defined(UBRR0H) || !defined(UDR0)) // use un-numbered registers if necessary
+#define SERIAL_REGNAME_INTERNAL(registerbase,number,suffix) registerbase##suffix
+#else
+#define SERIAL_REGNAME_INTERNAL(registerbase,number,suffix) registerbase##number##suffix
+#endif
+
+// Registers used by MarlinSerial class (these are expanded 
+// depending on selected serial port
+#define M_UCSRxA SERIAL_REGNAME(UCSR,SERIAL_PORT,A) // defines M_UCSRxA to be UCSRnA where n is the serial port number
+#define M_UCSRxB SERIAL_REGNAME(UCSR,SERIAL_PORT,B) 
+#define M_RXENx SERIAL_REGNAME(RXEN,SERIAL_PORT,)    
+#define M_TXENx SERIAL_REGNAME(TXEN,SERIAL_PORT,)    
+#define M_RXCIEx SERIAL_REGNAME(RXCIE,SERIAL_PORT,)    
+#define M_UDREx SERIAL_REGNAME(UDRE,SERIAL_PORT,)    
+#define M_UDRx SERIAL_REGNAME(UDR,SERIAL_PORT,)  
+#define M_UBRRxH SERIAL_REGNAME(UBRR,SERIAL_PORT,H)
+#define M_UBRRxL SERIAL_REGNAME(UBRR,SERIAL_PORT,L)
+#define M_RXCx SERIAL_REGNAME(RXC,SERIAL_PORT,)
+#define M_USARTx_RX_vect SERIAL_REGNAME(USART,SERIAL_PORT,_RX_vect)
+#define M_U2Xx SERIAL_REGNAME(U2X,SERIAL_PORT,)
+
+
+
+#define DEC 10
+#define HEX 16
+#define OCT 8
+#define BIN 2
+#define BYTE 0
+
+
+#ifndef AT90USB
+// Define constants and variables for buffering incoming serial data.  We're
+// using a ring buffer (I think), in which rx_buffer_head is the index of the
+// location to which to write the next incoming character and rx_buffer_tail
+// is the index of the location from which to read.
+#define RX_BUFFER_SIZE 128
+
+
+struct ring_buffer
+{
+  unsigned char buffer[RX_BUFFER_SIZE];
+  int head;
+  int tail;
+};
+
+#if UART_PRESENT(SERIAL_PORT)
+  extern ring_buffer rx_buffer;
+#endif
+
+class MarlinSerial //: public Stream
+{
+
+  public:
+    MarlinSerial();
+    void begin(long);
+    void end();
+    int peek(void);
+    int read(void);
+    void flush(void);
+    
+    FORCE_INLINE int available(void)
+    {
+      return (unsigned int)(RX_BUFFER_SIZE + rx_buffer.head - rx_buffer.tail) % RX_BUFFER_SIZE;
+    }
+    
+    FORCE_INLINE void write(uint8_t c)
+    {
+      while (!((M_UCSRxA) & (1 << M_UDREx)))
+        ;
+
+      M_UDRx = c;
+    }
+    
+    
+    FORCE_INLINE void checkRx(void)
+    {
+      if((M_UCSRxA & (1<<M_RXCx)) != 0) {
+        unsigned char c  =  M_UDRx;
+        int i = (unsigned int)(rx_buffer.head + 1) % RX_BUFFER_SIZE;
+
+        // if we should be storing the received character into the location
+        // just before the tail (meaning that the head would advance to the
+        // current location of the tail), we're about to overflow the buffer
+        // and so we don't write the character or advance the head.
+        if (i != rx_buffer.tail) {
+          rx_buffer.buffer[rx_buffer.head] = c;
+          rx_buffer.head = i;
+        }
+      }
+    }
+    
+    
+    private:
+    void printNumber(unsigned long, uint8_t);
+    void printFloat(double, uint8_t);
+    
+    
+  public:
+    
+    FORCE_INLINE void write(const char *str)
+    {
+      while (*str)
+        write(*str++);
+    }
+
+
+    FORCE_INLINE void write(const uint8_t *buffer, size_t size)
+    {
+      while (size--)
+        write(*buffer++);
+    }
+
+    FORCE_INLINE void print(const String &s)
+    {
+      for (int i = 0; i < (int)s.length(); i++) {
+        write(s[i]);
+      }
+    }
+    
+    FORCE_INLINE void print(const char *str)
+    {
+      write(str);
+    }
+    void print(char, int = BYTE);
+    void print(unsigned char, int = BYTE);
+    void print(int, int = DEC);
+    void print(unsigned int, int = DEC);
+    void print(long, int = DEC);
+    void print(unsigned long, int = DEC);
+    void print(double, int = 2);
+
+    void println(const String &s);
+    void println(const char[]);
+    void println(char, int = BYTE);
+    void println(unsigned char, int = BYTE);
+    void println(int, int = DEC);
+    void println(unsigned int, int = DEC);
+    void println(long, int = DEC);
+    void println(unsigned long, int = DEC);
+    void println(double, int = 2);
+    void println(void);
+};
+
+extern MarlinSerial MSerial;
+#endif // !AT90USB
+
+// Use the UART for BT in AT90USB configurations
+#if defined(AT90USB) && defined (BTENABLED)
+   extern HardwareSerial bt;
+#endif
+
+#endif

+ 4952 - 0
Marlin_main.cpp

@@ -0,0 +1,4952 @@
+/* -*- c++ -*- */
+
+/*
+    Reprap firmware based on Sprinter and grbl.
+ Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+/*
+ This firmware is a mashup between Sprinter and grbl.
+  (https://github.com/kliment/Sprinter)
+  (https://github.com/simen/grbl/tree)
+
+ It has preliminary support for Matthew Roberts advance algorithm
+    http://reprap.org/pipermail/reprap-dev/2011-May/003323.html
+ */
+
+
+
+
+
+
+
+
+
+#include "Marlin.h"
+
+#ifdef ENABLE_AUTO_BED_LEVELING
+#include "vector_3.h"
+  #ifdef AUTO_BED_LEVELING_GRID
+    #include "qr_solve.h"
+  #endif
+#endif // ENABLE_AUTO_BED_LEVELING
+
+#include "ultralcd.h"
+#include "Configuration_prusa.h"
+#include "planner.h"
+#include "stepper.h"
+#include "temperature.h"
+#include "motion_control.h"
+#include "cardreader.h"
+#include "watchdog.h"
+#include "ConfigurationStore.h"
+#include "language.h"
+#include "pins_arduino.h"
+#include "math.h"
+
+#ifdef BLINKM
+#include "BlinkM.h"
+#include "Wire.h"
+#endif
+
+#ifdef ULTRALCD
+#include "ultralcd.h"
+#endif
+
+#if NUM_SERVOS > 0
+#include "Servo.h"
+#endif
+
+#if defined(DIGIPOTSS_PIN) && DIGIPOTSS_PIN > -1
+#include <SPI.h>
+#endif
+
+#define VERSION_STRING  "1.0.2"
+
+
+#include "ultralcd.h"
+
+
+
+// look here for descriptions of G-codes: http://linuxcnc.org/handbook/gcode/g-code.html
+// http://objects.reprap.org/wiki/Mendel_User_Manual:_RepRapGCodes
+
+//Implemented Codes
+//-------------------
+
+// PRUSA CODES
+// P F - Returns FW versions
+// P R - Returns revision of printer
+
+// G0  -> G1
+// G1  - Coordinated Movement X Y Z E
+// G2  - CW ARC
+// G3  - CCW ARC
+// G4  - Dwell S<seconds> or P<milliseconds>
+// G10 - retract filament according to settings of M207
+// G11 - retract recover filament according to settings of M208
+// G28 - Home all Axis
+// G29 - Detailed Z-Probe, probes the bed at 3 or more points.  Will fail if you haven't homed yet.
+// G30 - Single Z Probe, probes bed at current XY location.
+// G31 - Dock sled (Z_PROBE_SLED only)
+// G32 - Undock sled (Z_PROBE_SLED only)
+// G90 - Use Absolute Coordinates
+// G91 - Use Relative Coordinates
+// G92 - Set current position to coordinates given
+
+// M Codes
+// M0   - Unconditional stop - Wait for user to press a button on the LCD (Only if ULTRA_LCD is enabled)
+// M1   - Same as M0
+// M17  - Enable/Power all stepper motors
+// M18  - Disable all stepper motors; same as M84
+// M20  - List SD card
+// M21  - Init SD card
+// M22  - Release SD card
+// M23  - Select SD file (M23 filename.g)
+// M24  - Start/resume SD print
+// M25  - Pause SD print
+// M26  - Set SD position in bytes (M26 S12345)
+// M27  - Report SD print status
+// M28  - Start SD write (M28 filename.g)
+// M29  - Stop SD write
+// M30  - Delete file from SD (M30 filename.g)
+// M31  - Output time since last M109 or SD card start to serial
+// M32  - Select file and start SD print (Can be used _while_ printing from SD card files):
+//        syntax "M32 /path/filename#", or "M32 S<startpos bytes> !filename#"
+//        Call gcode file : "M32 P !filename#" and return to caller file after finishing (similar to #include).
+//        The '#' is necessary when calling from within sd files, as it stops buffer prereading
+// M42  - Change pin status via gcode Use M42 Px Sy to set pin x to value y, when omitting Px the onboard led will be used.
+// M80  - Turn on Power Supply
+// M81  - Turn off Power Supply
+// M82  - Set E codes absolute (default)
+// M83  - Set E codes relative while in Absolute Coordinates (G90) mode
+// M84  - Disable steppers until next move,
+//        or use S<seconds> to specify an inactivity timeout, after which the steppers will be disabled.  S0 to disable the timeout.
+// M85  - Set inactivity shutdown timer with parameter S<seconds>. To disable set zero (default)
+// M92  - Set axis_steps_per_unit - same syntax as G92
+// M104 - Set extruder target temp
+// M105 - Read current temp
+// M106 - Fan on
+// M107 - Fan off
+// M109 - Sxxx Wait for extruder current temp to reach target temp. Waits only when heating
+//        Rxxx Wait for extruder current temp to reach target temp. Waits when heating and cooling
+//        IF AUTOTEMP is enabled, S<mintemp> B<maxtemp> F<factor>. Exit autotemp by any M109 without F
+// M112 - Emergency stop
+// M114 - Output current position to serial port
+// M115 - Capabilities string
+// M117 - display message
+// M119 - Output Endstop status to serial port
+// M126 - Solenoid Air Valve Open (BariCUDA support by jmil)
+// M127 - Solenoid Air Valve Closed (BariCUDA vent to atmospheric pressure by jmil)
+// M128 - EtoP Open (BariCUDA EtoP = electricity to air pressure transducer by jmil)
+// M129 - EtoP Closed (BariCUDA EtoP = electricity to air pressure transducer by jmil)
+// M140 - Set bed target temp
+// M150 - Set BlinkM Color Output R: Red<0-255> U(!): Green<0-255> B: Blue<0-255> over i2c, G for green does not work.
+// M190 - Sxxx Wait for bed current temp to reach target temp. Waits only when heating
+//        Rxxx Wait for bed current temp to reach target temp. Waits when heating and cooling
+// M200 D<millimeters>- set filament diameter and set E axis units to cubic millimeters (use S0 to set back to millimeters).
+// M201 - Set max acceleration in units/s^2 for print moves (M201 X1000 Y1000)
+// M202 - Set max acceleration in units/s^2 for travel moves (M202 X1000 Y1000) Unused in Marlin!!
+// M203 - Set maximum feedrate that your machine can sustain (M203 X200 Y200 Z300 E10000) in mm/sec
+// M204 - Set default acceleration: S normal moves T filament only moves (M204 S3000 T7000) in mm/sec^2  also sets minimum segment time in ms (B20000) to prevent buffer under-runs and M20 minimum feedrate
+// M205 -  advanced settings:  minimum travel speed S=while printing T=travel only,  B=minimum segment time X= maximum xy jerk, Z=maximum Z jerk, E=maximum E jerk
+// M206 - set additional homing offset
+// M207 - set retract length S[positive mm] F[feedrate mm/min] Z[additional zlift/hop], stays in mm regardless of M200 setting
+// M208 - set recover=unretract length S[positive mm surplus to the M207 S*] F[feedrate mm/sec]
+// M209 - S<1=true/0=false> enable automatic retract detect if the slicer did not support G10/11: every normal extrude-only move will be classified as retract depending on the direction.
+// M218 - set hotend offset (in mm): T<extruder_number> X<offset_on_X> Y<offset_on_Y>
+// M220 S<factor in percent>- set speed factor override percentage
+// M221 S<factor in percent>- set extrude factor override percentage
+// M226 P<pin number> S<pin state>- Wait until the specified pin reaches the state required
+// M240 - Trigger a camera to take a photograph
+// M250 - Set LCD contrast C<contrast value> (value 0..63)
+// M280 - set servo position absolute. P: servo index, S: angle or microseconds
+// M300 - Play beep sound S<frequency Hz> P<duration ms>
+// M301 - Set PID parameters P I and D
+// M302 - Allow cold extrudes, or set the minimum extrude S<temperature>.
+// M303 - PID relay autotune S<temperature> sets the target temperature. (default target temperature = 150C)
+// M304 - Set bed PID parameters P I and D
+// M400 - Finish all moves
+// M401 - Lower z-probe if present
+// M402 - Raise z-probe if present
+// M404 - N<dia in mm> Enter the nominal filament width (3mm, 1.75mm ) or will display nominal filament width without parameters
+// M405 - Turn on Filament Sensor extrusion control.  Optional D<delay in cm> to set delay in centimeters between sensor and extruder 
+// M406 - Turn off Filament Sensor extrusion control 
+// M407 - Displays measured filament diameter 
+// M500 - stores parameters in EEPROM
+// M501 - reads parameters from EEPROM (if you need reset them after you changed them temporarily).
+// M502 - reverts to the default "factory settings".  You still need to store them in EEPROM afterwards if you want to.
+// M503 - print the current settings (from memory not from EEPROM)
+// M540 - Use S[0|1] to enable or disable the stop SD card print on endstop hit (requires ABORT_ON_ENDSTOP_HIT_FEATURE_ENABLED)
+// M600 - Pause for filament change X[pos] Y[pos] Z[relative lift] E[initial retract] L[later retract distance for removal]
+// M665 - set delta configurations
+// M666 - set delta endstop adjustment
+// M605 - Set dual x-carriage movement mode: S<mode> [ X<duplication x-offset> R<duplication temp offset> ]
+// M907 - Set digital trimpot motor current using axis codes.
+// M908 - Control digital trimpot directly.
+// M350 - Set microstepping mode.
+// M351 - Toggle MS1 MS2 pins directly.
+
+// ************ SCARA Specific - This can change to suit future G-code regulations
+// M360 - SCARA calibration: Move to cal-position ThetaA (0 deg calibration)
+// M361 - SCARA calibration: Move to cal-position ThetaB (90 deg calibration - steps per degree)
+// M362 - SCARA calibration: Move to cal-position PsiA (0 deg calibration)
+// M363 - SCARA calibration: Move to cal-position PsiB (90 deg calibration - steps per degree)
+// M364 - SCARA calibration: Move to cal-position PSIC (90 deg to Theta calibration position)
+// M365 - SCARA calibration: Scaling factor, X, Y, Z axis
+//************* SCARA End ***************
+
+// M928 - Start SD logging (M928 filename.g) - ended by M29
+// M999 - Restart after being stopped by error
+
+//Stepper Movement Variables
+
+//===========================================================================
+//=============================imported variables============================
+//===========================================================================
+
+
+//===========================================================================
+//=============================public variables=============================
+//===========================================================================
+#ifdef SDSUPPORT
+CardReader card;
+#endif
+
+
+
+float homing_feedrate[] = HOMING_FEEDRATE;
+bool axis_relative_modes[] = AXIS_RELATIVE_MODES;
+int feedmultiply=100; //100->1 200->2
+int saved_feedmultiply;
+int extrudemultiply=100; //100->1 200->2
+int extruder_multiply[EXTRUDERS] = {100
+  #if EXTRUDERS > 1
+    , 100
+    #if EXTRUDERS > 2
+      , 100
+    #endif
+  #endif
+};
+
+
+int lcd_change_fil_state = 0;
+int feedmultiplyBckp = 100;
+
+bool volumetric_enabled = false;
+float filament_size[EXTRUDERS] = { DEFAULT_NOMINAL_FILAMENT_DIA
+  #if EXTRUDERS > 1
+      , DEFAULT_NOMINAL_FILAMENT_DIA
+    #if EXTRUDERS > 2
+       , DEFAULT_NOMINAL_FILAMENT_DIA
+    #endif
+  #endif
+};
+float volumetric_multiplier[EXTRUDERS] = {1.0
+  #if EXTRUDERS > 1
+    , 1.0
+    #if EXTRUDERS > 2
+      , 1.0
+    #endif
+  #endif
+};
+float current_position[NUM_AXIS] = { 0.0, 0.0, 0.0, 0.0 };
+float add_homing[3]={0,0,0};
+#ifdef DELTA
+float endstop_adj[3]={0,0,0};
+#endif
+
+float min_pos[3] = { X_MIN_POS, Y_MIN_POS, Z_MIN_POS };
+float max_pos[3] = { X_MAX_POS, Y_MAX_POS, Z_MAX_POS };
+bool axis_known_position[3] = {false, false, false};
+float zprobe_zoffset;
+
+// Extruder offset
+#if EXTRUDERS > 1
+#ifndef DUAL_X_CARRIAGE
+  #define NUM_EXTRUDER_OFFSETS 2 // only in XY plane
+#else
+  #define NUM_EXTRUDER_OFFSETS 3 // supports offsets in XYZ plane
+#endif
+float extruder_offset[NUM_EXTRUDER_OFFSETS][EXTRUDERS] = {
+#if defined(EXTRUDER_OFFSET_X) && defined(EXTRUDER_OFFSET_Y)
+  EXTRUDER_OFFSET_X, EXTRUDER_OFFSET_Y
+#endif
+};
+#endif
+uint8_t active_extruder = 0;
+int fanSpeed=0;
+#ifdef SERVO_ENDSTOPS
+  int servo_endstops[] = SERVO_ENDSTOPS;
+  int servo_endstop_angles[] = SERVO_ENDSTOP_ANGLES;
+#endif
+#ifdef BARICUDA
+int ValvePressure=0;
+int EtoPPressure=0;
+#endif
+
+#ifdef FWRETRACT
+  bool autoretract_enabled=false;
+  bool retracted[EXTRUDERS]={false
+    #if EXTRUDERS > 1
+    , false
+     #if EXTRUDERS > 2
+      , false
+     #endif
+  #endif
+  };
+  bool retracted_swap[EXTRUDERS]={false
+    #if EXTRUDERS > 1
+    , false
+     #if EXTRUDERS > 2
+      , false
+     #endif
+  #endif
+  };
+
+  float retract_length = RETRACT_LENGTH;
+  float retract_length_swap = RETRACT_LENGTH_SWAP;
+  float retract_feedrate = RETRACT_FEEDRATE;
+  float retract_zlift = RETRACT_ZLIFT;
+  float retract_recover_length = RETRACT_RECOVER_LENGTH;
+  float retract_recover_length_swap = RETRACT_RECOVER_LENGTH_SWAP;
+  float retract_recover_feedrate = RETRACT_RECOVER_FEEDRATE;
+#endif
+
+#ifdef ULTIPANEL
+  #ifdef PS_DEFAULT_OFF
+    bool powersupply = false;
+  #else
+	  bool powersupply = true;
+  #endif
+#endif
+
+#ifdef DELTA
+  float delta[3] = {0.0, 0.0, 0.0};
+  #define SIN_60 0.8660254037844386
+  #define COS_60 0.5
+  // these are the default values, can be overriden with M665
+  float delta_radius= DELTA_RADIUS;
+  float delta_tower1_x= -SIN_60*delta_radius; // front left tower
+  float delta_tower1_y= -COS_60*delta_radius;	   
+  float delta_tower2_x=  SIN_60*delta_radius; // front right tower
+  float delta_tower2_y= -COS_60*delta_radius;	   
+  float delta_tower3_x= 0.0;                  // back middle tower
+  float delta_tower3_y= delta_radius;
+  float delta_diagonal_rod= DELTA_DIAGONAL_ROD;
+  float delta_diagonal_rod_2= sq(delta_diagonal_rod);
+  float delta_segments_per_second= DELTA_SEGMENTS_PER_SECOND;
+#endif
+
+#ifdef SCARA                              // Build size scaling
+float axis_scaling[3]={1,1,1};  // Build size scaling, default to 1
+#endif				
+
+bool cancel_heatup = false ;
+
+#ifdef FILAMENT_SENSOR
+  //Variables for Filament Sensor input 
+  float filament_width_nominal=DEFAULT_NOMINAL_FILAMENT_DIA;  //Set nominal filament width, can be changed with M404 
+  bool filament_sensor=false;  //M405 turns on filament_sensor control, M406 turns it off 
+  float filament_width_meas=DEFAULT_MEASURED_FILAMENT_DIA; //Stores the measured filament diameter 
+  signed char measurement_delay[MAX_MEASUREMENT_DELAY+1];  //ring buffer to delay measurement  store extruder factor after subtracting 100 
+  int delay_index1=0;  //index into ring buffer
+  int delay_index2=-1;  //index into ring buffer - set to -1 on startup to indicate ring buffer needs to be initialized
+  float delay_dist=0; //delay distance counter  
+  int meas_delay_cm = MEASUREMENT_DELAY_CM;  //distance delay setting
+#endif
+
+const char errormagic[] PROGMEM = "Error:";
+const char echomagic[] PROGMEM = "echo:";
+
+//===========================================================================
+//=============================Private Variables=============================
+//===========================================================================
+const char axis_codes[NUM_AXIS] = {'X', 'Y', 'Z', 'E'};
+static float destination[NUM_AXIS] = {  0.0, 0.0, 0.0, 0.0};
+
+#ifndef DELTA
+static float delta[3] = {0.0, 0.0, 0.0};
+#endif
+
+static float offset[3] = {0.0, 0.0, 0.0};
+static bool home_all_axis = true;
+static float feedrate = 1500.0, next_feedrate, saved_feedrate;
+static long gcode_N, gcode_LastN, Stopped_gcode_LastN = 0;
+
+static bool relative_mode = false;  //Determines Absolute or Relative Coordinates
+
+static char cmdbuffer[BUFSIZE][MAX_CMD_SIZE];
+static bool fromsd[BUFSIZE];
+static int bufindr = 0;
+static int bufindw = 0;
+static int buflen = 0;
+//static int i = 0;
+static char serial_char;
+static int serial_count = 0;
+static boolean comment_mode = false;
+static char *strchr_pointer; // just a pointer to find chars in the command string like X, Y, Z, E, etc
+
+const int sensitive_pins[] = SENSITIVE_PINS; // Sensitive pin list for M42
+
+//static float tt = 0;
+//static float bt = 0;
+
+//Inactivity shutdown variables
+static unsigned long previous_millis_cmd = 0;
+static unsigned long max_inactive_time = 0;
+static unsigned long stepper_inactive_time = DEFAULT_STEPPER_DEACTIVE_TIME*1000l;
+
+unsigned long starttime=0;
+unsigned long stoptime=0;
+
+static uint8_t tmp_extruder;
+
+
+bool Stopped=false;
+
+#if NUM_SERVOS > 0
+  Servo servos[NUM_SERVOS];
+#endif
+
+bool CooldownNoWait = true;
+bool target_direction;
+
+//Insert variables if CHDK is defined
+#ifdef CHDK
+unsigned long chdkHigh = 0;
+boolean chdkActive = false;
+#endif
+
+//===========================================================================
+//=============================Routines======================================
+//===========================================================================
+
+void get_arc_coordinates();
+bool setTargetedHotend(int code);
+
+void serial_echopair_P(const char *s_P, float v)
+    { serialprintPGM(s_P); SERIAL_ECHO(v); }
+void serial_echopair_P(const char *s_P, double v)
+    { serialprintPGM(s_P); SERIAL_ECHO(v); }
+void serial_echopair_P(const char *s_P, unsigned long v)
+    { serialprintPGM(s_P); SERIAL_ECHO(v); }
+
+#ifdef SDSUPPORT
+  #include "SdFatUtil.h"
+  int freeMemory() { return SdFatUtil::FreeRam(); }
+#else
+  extern "C" {
+    extern unsigned int __bss_end;
+    extern unsigned int __heap_start;
+    extern void *__brkval;
+
+    int freeMemory() {
+      int free_memory;
+
+      if ((int)__brkval == 0)
+        free_memory = ((int)&free_memory) - ((int)&__bss_end);
+      else
+        free_memory = ((int)&free_memory) - ((int)__brkval);
+
+      return free_memory;
+    }
+  }
+#endif //!SDSUPPORT
+
+//adds an command to the main command buffer
+//thats really done in a non-safe way.
+//needs overworking someday
+void enquecommand(const char *cmd)
+{
+  if(buflen < BUFSIZE)
+  {
+    //this is dangerous if a mixing of serial and this happens
+    strcpy(&(cmdbuffer[bufindw][0]),cmd);
+    SERIAL_ECHO_START;
+    SERIAL_ECHOPGM(MSG_Enqueing);
+    SERIAL_ECHO(cmdbuffer[bufindw]);
+    SERIAL_ECHOLNPGM("\"");
+    bufindw= (bufindw + 1)%BUFSIZE;
+    buflen += 1;
+  }
+}
+
+void enquecommand_P(const char *cmd)
+{
+  if(buflen < BUFSIZE)
+  {
+    //this is dangerous if a mixing of serial and this happens
+    strcpy_P(&(cmdbuffer[bufindw][0]),cmd);
+    SERIAL_ECHO_START;
+    SERIAL_ECHOPGM(MSG_Enqueing);
+    SERIAL_ECHO(cmdbuffer[bufindw]);
+    SERIAL_ECHOLNPGM("\"");
+    bufindw= (bufindw + 1)%BUFSIZE;
+    buflen += 1;
+  }
+}
+
+void setup_killpin()
+{
+  #if defined(KILL_PIN) && KILL_PIN > -1
+    SET_INPUT(KILL_PIN);
+    WRITE(KILL_PIN,HIGH);
+  #endif
+}
+
+// Set home pin
+void setup_homepin(void)
+{
+#if defined(HOME_PIN) && HOME_PIN > -1
+   SET_INPUT(HOME_PIN);
+   WRITE(HOME_PIN,HIGH);
+#endif
+}
+
+
+void setup_photpin()
+{
+  #if defined(PHOTOGRAPH_PIN) && PHOTOGRAPH_PIN > -1
+    SET_OUTPUT(PHOTOGRAPH_PIN);
+    WRITE(PHOTOGRAPH_PIN, LOW);
+  #endif
+}
+
+void setup_powerhold()
+{
+  #if defined(SUICIDE_PIN) && SUICIDE_PIN > -1
+    SET_OUTPUT(SUICIDE_PIN);
+    WRITE(SUICIDE_PIN, HIGH);
+  #endif
+  #if defined(PS_ON_PIN) && PS_ON_PIN > -1
+    SET_OUTPUT(PS_ON_PIN);
+	#if defined(PS_DEFAULT_OFF)
+	  WRITE(PS_ON_PIN, PS_ON_ASLEEP);
+    #else
+	  WRITE(PS_ON_PIN, PS_ON_AWAKE);
+	#endif
+  #endif
+}
+
+void suicide()
+{
+  #if defined(SUICIDE_PIN) && SUICIDE_PIN > -1
+    SET_OUTPUT(SUICIDE_PIN);
+    WRITE(SUICIDE_PIN, LOW);
+  #endif
+}
+
+void servo_init()
+{
+  #if (NUM_SERVOS >= 1) && defined(SERVO0_PIN) && (SERVO0_PIN > -1)
+    servos[0].attach(SERVO0_PIN);
+  #endif
+  #if (NUM_SERVOS >= 2) && defined(SERVO1_PIN) && (SERVO1_PIN > -1)
+    servos[1].attach(SERVO1_PIN);
+  #endif
+  #if (NUM_SERVOS >= 3) && defined(SERVO2_PIN) && (SERVO2_PIN > -1)
+    servos[2].attach(SERVO2_PIN);
+  #endif
+  #if (NUM_SERVOS >= 4) && defined(SERVO3_PIN) && (SERVO3_PIN > -1)
+    servos[3].attach(SERVO3_PIN);
+  #endif
+  #if (NUM_SERVOS >= 5)
+    #error "TODO: enter initalisation code for more servos"
+  #endif
+
+  // Set position of Servo Endstops that are defined
+  #ifdef SERVO_ENDSTOPS
+  for(int8_t i = 0; i < 3; i++)
+  {
+    if(servo_endstops[i] > -1) {
+      servos[servo_endstops[i]].write(servo_endstop_angles[i * 2 + 1]);
+    }
+  }
+  #endif
+
+  #if defined (ENABLE_AUTO_BED_LEVELING) && (PROBE_SERVO_DEACTIVATION_DELAY > 0)
+  delay(PROBE_SERVO_DEACTIVATION_DELAY);
+  servos[servo_endstops[Z_AXIS]].detach();
+  #endif
+}
+
+
+void setup()
+{
+  setup_killpin();
+  setup_powerhold();
+  MYSERIAL.begin(BAUDRATE);
+  SERIAL_PROTOCOLLNPGM("start");
+  SERIAL_ECHO_START;
+
+  // Check startup - does nothing if bootloader sets MCUSR to 0
+  byte mcu = MCUSR;
+  if(mcu & 1) SERIAL_ECHOLNPGM(MSG_POWERUP);
+  if(mcu & 2) SERIAL_ECHOLNPGM(MSG_EXTERNAL_RESET);
+  if(mcu & 4) SERIAL_ECHOLNPGM(MSG_BROWNOUT_RESET);
+  if(mcu & 8) SERIAL_ECHOLNPGM(MSG_WATCHDOG_RESET);
+  if(mcu & 32) SERIAL_ECHOLNPGM(MSG_SOFTWARE_RESET);
+  MCUSR=0;
+
+  SERIAL_ECHOPGM(MSG_MARLIN);
+  SERIAL_ECHOLNPGM(VERSION_STRING);
+  #ifdef STRING_VERSION_CONFIG_H
+    #ifdef STRING_CONFIG_H_AUTHOR
+      SERIAL_ECHO_START;
+      SERIAL_ECHOPGM(MSG_CONFIGURATION_VER);
+      SERIAL_ECHOPGM(STRING_VERSION_CONFIG_H);
+      SERIAL_ECHOPGM(MSG_AUTHOR);
+      SERIAL_ECHOLNPGM(STRING_CONFIG_H_AUTHOR);
+      SERIAL_ECHOPGM("Compiled: ");
+      SERIAL_ECHOLNPGM(__DATE__);
+    #endif
+  #endif
+  SERIAL_ECHO_START;
+  SERIAL_ECHOPGM(MSG_FREE_MEMORY);
+  SERIAL_ECHO(freeMemory());
+  SERIAL_ECHOPGM(MSG_PLANNER_BUFFER_BYTES);
+  SERIAL_ECHOLN((int)sizeof(block_t)*BLOCK_BUFFER_SIZE);
+  for(int8_t i = 0; i < BUFSIZE; i++)
+  {
+    fromsd[i] = false;
+  }
+
+  // loads data from EEPROM if available else uses defaults (and resets step acceleration rate)
+  Config_RetrieveSettings();
+
+  tp_init();    // Initialize temperature loop
+  plan_init();  // Initialize planner;
+  watchdog_init();
+  st_init();    // Initialize stepper, this enables interrupts!
+  setup_photpin();
+  servo_init();
+  
+
+  lcd_init();
+  _delay_ms(1000);	// wait 1sec to display the splash screen
+
+  #if defined(CONTROLLERFAN_PIN) && CONTROLLERFAN_PIN > -1
+    SET_OUTPUT(CONTROLLERFAN_PIN); //Set pin used for driver cooling fan
+  #endif
+
+  #ifdef DIGIPOT_I2C
+    digipot_i2c_init();
+  #endif
+#ifdef Z_PROBE_SLED
+  pinMode(SERVO0_PIN, OUTPUT);
+  digitalWrite(SERVO0_PIN, LOW); // turn it off
+#endif // Z_PROBE_SLED
+  setup_homepin();
+}
+
+
+void loop()
+{
+  if(buflen < (BUFSIZE-1))
+    get_command();
+  #ifdef SDSUPPORT
+  card.checkautostart(false);
+  #endif
+  if(buflen)
+  {
+    #ifdef SDSUPPORT
+      if(card.saving)
+      {
+        if(strstr_P(cmdbuffer[bufindr], PSTR("M29")) == NULL)
+        {
+          card.write_command(cmdbuffer[bufindr]);
+          if(card.logging)
+          {
+            process_commands();
+          }
+          else
+          {
+            SERIAL_PROTOCOLLNPGM(MSG_OK);
+          }
+        }
+        else
+        {
+          card.closefile();
+          SERIAL_PROTOCOLLNPGM(MSG_FILE_SAVED);
+        }
+      }
+      else
+      {
+        process_commands();
+      }
+    #else
+      process_commands();
+    #endif //SDSUPPORT
+    buflen = (buflen-1);
+    bufindr = (bufindr + 1)%BUFSIZE;
+  }
+  //check heater every n milliseconds
+  manage_heater();
+  manage_inactivity();
+  checkHitEndstops();
+  lcd_update();
+}
+
+void get_command()
+{
+  while( MYSERIAL.available() > 0  && buflen < BUFSIZE) {
+    serial_char = MYSERIAL.read();
+    if(serial_char == '\n' ||
+       serial_char == '\r' ||
+       (serial_char == ':' && comment_mode == false) ||
+       serial_count >= (MAX_CMD_SIZE - 1) )
+    {
+      if(!serial_count) { //if empty line
+        comment_mode = false; //for new command
+        return;
+      }
+      cmdbuffer[bufindw][serial_count] = 0; //terminate string
+      if(!comment_mode){
+        comment_mode = false; //for new command
+        fromsd[bufindw] = false;
+        if(strchr(cmdbuffer[bufindw], 'N') != NULL)
+        {
+          strchr_pointer = strchr(cmdbuffer[bufindw], 'N');
+          gcode_N = (strtol(&cmdbuffer[bufindw][strchr_pointer - cmdbuffer[bufindw] + 1], NULL, 10));
+          if(gcode_N != gcode_LastN+1 && (strstr_P(cmdbuffer[bufindw], PSTR("M110")) == NULL) ) {
+            SERIAL_ERROR_START;
+            SERIAL_ERRORPGM(MSG_ERR_LINE_NO);
+            SERIAL_ERRORLN(gcode_LastN);
+            //Serial.println(gcode_N);
+            FlushSerialRequestResend();
+            serial_count = 0;
+            return;
+          }
+
+          if(strchr(cmdbuffer[bufindw], '*') != NULL)
+          {
+            byte checksum = 0;
+            byte count = 0;
+            while(cmdbuffer[bufindw][count] != '*') checksum = checksum^cmdbuffer[bufindw][count++];
+            strchr_pointer = strchr(cmdbuffer[bufindw], '*');
+
+            if( (int)(strtod(&cmdbuffer[bufindw][strchr_pointer - cmdbuffer[bufindw] + 1], NULL)) != checksum) {
+              SERIAL_ERROR_START;
+              SERIAL_ERRORPGM(MSG_ERR_CHECKSUM_MISMATCH);
+              SERIAL_ERRORLN(gcode_LastN);
+              FlushSerialRequestResend();
+              serial_count = 0;
+              return;
+            }
+            //if no errors, continue parsing
+          }
+          else
+          {
+            SERIAL_ERROR_START;
+            SERIAL_ERRORPGM(MSG_ERR_NO_CHECKSUM);
+            SERIAL_ERRORLN(gcode_LastN);
+            FlushSerialRequestResend();
+            serial_count = 0;
+            return;
+          }
+
+          gcode_LastN = gcode_N;
+          //if no errors, continue parsing
+        }
+        else  // if we don't receive 'N' but still see '*'
+        {
+          if((strchr(cmdbuffer[bufindw], '*') != NULL))
+          {
+            SERIAL_ERROR_START;
+            SERIAL_ERRORPGM(MSG_ERR_NO_LINENUMBER_WITH_CHECKSUM);
+            SERIAL_ERRORLN(gcode_LastN);
+            serial_count = 0;
+            return;
+          }
+        }
+        if((strchr(cmdbuffer[bufindw], 'G') != NULL)){
+          strchr_pointer = strchr(cmdbuffer[bufindw], 'G');
+          switch((int)((strtod(&cmdbuffer[bufindw][strchr_pointer - cmdbuffer[bufindw] + 1], NULL)))){
+          case 0:
+          case 1:
+          case 2:
+          case 3:
+            if (Stopped == true) {
+              SERIAL_ERRORLNPGM(MSG_ERR_STOPPED);
+              LCD_MESSAGEPGM(MSG_STOPPED);
+            }
+            break;
+          default:
+            break;
+          }
+
+        }
+
+        //If command was e-stop process now
+        if(strcmp(cmdbuffer[bufindw], "M112") == 0)
+          kill();
+        
+        bufindw = (bufindw + 1)%BUFSIZE;
+        buflen += 1;
+      }
+      serial_count = 0; //clear buffer
+    }
+    else
+    {
+      if(serial_char == ';') comment_mode = true;
+      if(!comment_mode) cmdbuffer[bufindw][serial_count++] = serial_char;
+    }
+  }
+  #ifdef SDSUPPORT
+  if(!card.sdprinting || serial_count!=0){
+    return;
+  }
+
+  //'#' stops reading from SD to the buffer prematurely, so procedural macro calls are possible
+  // if it occurs, stop_buffering is triggered and the buffer is ran dry.
+  // this character _can_ occur in serial com, due to checksums. however, no checksums are used in SD printing
+
+  static bool stop_buffering=false;
+  if(buflen==0) stop_buffering=false;
+
+  while( !card.eof()  && buflen < BUFSIZE && !stop_buffering) {
+    int16_t n=card.get();
+    serial_char = (char)n;
+    if(serial_char == '\n' ||
+       serial_char == '\r' ||
+       (serial_char == '#' && comment_mode == false) ||
+       (serial_char == ':' && comment_mode == false) ||
+       serial_count >= (MAX_CMD_SIZE - 1)||n==-1)
+    {
+      if(card.eof()){
+        SERIAL_PROTOCOLLNPGM(MSG_FILE_PRINTED);
+        stoptime=millis();
+        char time[30];
+        unsigned long t=(stoptime-starttime)/1000;
+        int hours, minutes;
+        minutes=(t/60)%60;
+        hours=t/60/60;
+        sprintf_P(time, PSTR("%i hours %i minutes"),hours, minutes);
+        SERIAL_ECHO_START;
+        SERIAL_ECHOLN(time);
+        lcd_setstatus(time);
+        card.printingHasFinished();
+        card.checkautostart(true);
+
+      }
+      if(serial_char=='#')
+        stop_buffering=true;
+
+      if(!serial_count)
+      {
+        comment_mode = false; //for new command
+        return; //if empty line
+      }
+      cmdbuffer[bufindw][serial_count] = 0; //terminate string
+//      if(!comment_mode){
+        fromsd[bufindw] = true;
+        buflen += 1;
+        bufindw = (bufindw + 1)%BUFSIZE;
+//      }
+      comment_mode = false; //for new command
+      serial_count = 0; //clear buffer
+    }
+    else
+    {
+      if(serial_char == ';') comment_mode = true;
+      if(!comment_mode) cmdbuffer[bufindw][serial_count++] = serial_char;
+    }
+  }
+
+  #endif //SDSUPPORT
+
+}
+
+
+float code_value()
+{
+  return (strtod(&cmdbuffer[bufindr][strchr_pointer - cmdbuffer[bufindr] + 1], NULL));
+}
+
+long code_value_long()
+{
+  return (strtol(&cmdbuffer[bufindr][strchr_pointer - cmdbuffer[bufindr] + 1], NULL, 10));
+}
+
+bool code_seen(char code)
+{
+  strchr_pointer = strchr(cmdbuffer[bufindr], code);
+  return (strchr_pointer != NULL);  //Return True if a character was found
+}
+
+#define DEFINE_PGM_READ_ANY(type, reader)       \
+    static inline type pgm_read_any(const type *p)  \
+    { return pgm_read_##reader##_near(p); }
+
+DEFINE_PGM_READ_ANY(float,       float);
+DEFINE_PGM_READ_ANY(signed char, byte);
+
+#define XYZ_CONSTS_FROM_CONFIG(type, array, CONFIG) \
+static const PROGMEM type array##_P[3] =        \
+    { X_##CONFIG, Y_##CONFIG, Z_##CONFIG };     \
+static inline type array(int axis)          \
+    { return pgm_read_any(&array##_P[axis]); }
+
+XYZ_CONSTS_FROM_CONFIG(float, base_min_pos,    MIN_POS);
+XYZ_CONSTS_FROM_CONFIG(float, base_max_pos,    MAX_POS);
+XYZ_CONSTS_FROM_CONFIG(float, base_home_pos,   HOME_POS);
+XYZ_CONSTS_FROM_CONFIG(float, max_length,      MAX_LENGTH);
+XYZ_CONSTS_FROM_CONFIG(float, home_retract_mm, HOME_RETRACT_MM);
+XYZ_CONSTS_FROM_CONFIG(signed char, home_dir,  HOME_DIR);
+
+#ifdef DUAL_X_CARRIAGE
+  #if EXTRUDERS == 1 || defined(COREXY) \
+      || !defined(X2_ENABLE_PIN) || !defined(X2_STEP_PIN) || !defined(X2_DIR_PIN) \
+      || !defined(X2_HOME_POS) || !defined(X2_MIN_POS) || !defined(X2_MAX_POS) \
+      || !defined(X_MAX_PIN) || X_MAX_PIN < 0
+    #error "Missing or invalid definitions for DUAL_X_CARRIAGE mode."
+  #endif
+  #if X_HOME_DIR != -1 || X2_HOME_DIR != 1
+    #error "Please use canonical x-carriage assignment" // the x-carriages are defined by their homing directions
+  #endif
+
+#define DXC_FULL_CONTROL_MODE 0
+#define DXC_AUTO_PARK_MODE    1
+#define DXC_DUPLICATION_MODE  2
+static int dual_x_carriage_mode = DEFAULT_DUAL_X_CARRIAGE_MODE;
+
+static float x_home_pos(int extruder) {
+  if (extruder == 0)
+    return base_home_pos(X_AXIS) + add_homing[X_AXIS];
+  else
+    // In dual carriage mode the extruder offset provides an override of the
+    // second X-carriage offset when homed - otherwise X2_HOME_POS is used.
+    // This allow soft recalibration of the second extruder offset position without firmware reflash
+    // (through the M218 command).
+    return (extruder_offset[X_AXIS][1] > 0) ? extruder_offset[X_AXIS][1] : X2_HOME_POS;
+}
+
+static int x_home_dir(int extruder) {
+  return (extruder == 0) ? X_HOME_DIR : X2_HOME_DIR;
+}
+
+static float inactive_extruder_x_pos = X2_MAX_POS; // used in mode 0 & 1
+static bool active_extruder_parked = false; // used in mode 1 & 2
+static float raised_parked_position[NUM_AXIS]; // used in mode 1
+static unsigned long delayed_move_time = 0; // used in mode 1
+static float duplicate_extruder_x_offset = DEFAULT_DUPLICATION_X_OFFSET; // used in mode 2
+static float duplicate_extruder_temp_offset = 0; // used in mode 2
+bool extruder_duplication_enabled = false; // used in mode 2
+#endif //DUAL_X_CARRIAGE
+
+static void axis_is_at_home(int axis) {
+#ifdef DUAL_X_CARRIAGE
+  if (axis == X_AXIS) {
+    if (active_extruder != 0) {
+      current_position[X_AXIS] = x_home_pos(active_extruder);
+      min_pos[X_AXIS] =          X2_MIN_POS;
+      max_pos[X_AXIS] =          max(extruder_offset[X_AXIS][1], X2_MAX_POS);
+      return;
+    }
+    else if (dual_x_carriage_mode == DXC_DUPLICATION_MODE && active_extruder == 0) {
+      current_position[X_AXIS] = base_home_pos(X_AXIS) + add_homing[X_AXIS];
+      min_pos[X_AXIS] =          base_min_pos(X_AXIS) + add_homing[X_AXIS];
+      max_pos[X_AXIS] =          min(base_max_pos(X_AXIS) + add_homing[X_AXIS],
+                                  max(extruder_offset[X_AXIS][1], X2_MAX_POS) - duplicate_extruder_x_offset);
+      return;
+    }
+  }
+#endif
+#ifdef SCARA
+   float homeposition[3];
+   char i;
+   
+   if (axis < 2)
+   {
+   
+     for (i=0; i<3; i++)
+     {
+        homeposition[i] = base_home_pos(i); 
+     }  
+	// SERIAL_ECHOPGM("homeposition[x]= "); SERIAL_ECHO(homeposition[0]);
+   //  SERIAL_ECHOPGM("homeposition[y]= "); SERIAL_ECHOLN(homeposition[1]);
+   // Works out real Homeposition angles using inverse kinematics, 
+   // and calculates homing offset using forward kinematics
+     calculate_delta(homeposition);
+     
+    // SERIAL_ECHOPGM("base Theta= "); SERIAL_ECHO(delta[X_AXIS]);
+    // SERIAL_ECHOPGM(" base Psi+Theta="); SERIAL_ECHOLN(delta[Y_AXIS]);
+     
+     for (i=0; i<2; i++)
+     {
+        delta[i] -= add_homing[i];
+     } 
+     
+    // SERIAL_ECHOPGM("addhome X="); SERIAL_ECHO(add_homing[X_AXIS]);
+	// SERIAL_ECHOPGM(" addhome Y="); SERIAL_ECHO(add_homing[Y_AXIS]);
+    // SERIAL_ECHOPGM(" addhome Theta="); SERIAL_ECHO(delta[X_AXIS]);
+    // SERIAL_ECHOPGM(" addhome Psi+Theta="); SERIAL_ECHOLN(delta[Y_AXIS]);
+      
+     calculate_SCARA_forward_Transform(delta);
+     
+    // SERIAL_ECHOPGM("Delta X="); SERIAL_ECHO(delta[X_AXIS]);
+    // SERIAL_ECHOPGM(" Delta Y="); SERIAL_ECHOLN(delta[Y_AXIS]);
+     
+    current_position[axis] = delta[axis];
+    
+    // SCARA home positions are based on configuration since the actual limits are determined by the 
+    // inverse kinematic transform.
+    min_pos[axis] =          base_min_pos(axis); // + (delta[axis] - base_home_pos(axis));
+    max_pos[axis] =          base_max_pos(axis); // + (delta[axis] - base_home_pos(axis));
+   } 
+   else
+   {
+      current_position[axis] = base_home_pos(axis) + add_homing[axis];
+      min_pos[axis] =          base_min_pos(axis) + add_homing[axis];
+      max_pos[axis] =          base_max_pos(axis) + add_homing[axis];
+   }
+#else
+  current_position[axis] = base_home_pos(axis) + add_homing[axis];
+  min_pos[axis] =          base_min_pos(axis) + add_homing[axis];
+  max_pos[axis] =          base_max_pos(axis) + add_homing[axis];
+#endif
+}
+
+#ifdef ENABLE_AUTO_BED_LEVELING
+#ifdef AUTO_BED_LEVELING_GRID
+static void set_bed_level_equation_lsq(double *plane_equation_coefficients)
+{
+    vector_3 planeNormal = vector_3(-plane_equation_coefficients[0], -plane_equation_coefficients[1], 1);
+    planeNormal.debug("planeNormal");
+    plan_bed_level_matrix = matrix_3x3::create_look_at(planeNormal);
+    //bedLevel.debug("bedLevel");
+
+    //plan_bed_level_matrix.debug("bed level before");
+    //vector_3 uncorrected_position = plan_get_position_mm();
+    //uncorrected_position.debug("position before");
+
+    vector_3 corrected_position = plan_get_position();
+//    corrected_position.debug("position after");
+    current_position[X_AXIS] = corrected_position.x;
+    current_position[Y_AXIS] = corrected_position.y;
+    current_position[Z_AXIS] = corrected_position.z;
+
+    // put the bed at 0 so we don't go below it.
+    current_position[Z_AXIS] = zprobe_zoffset; // in the lsq we reach here after raising the extruder due to the loop structure
+
+    plan_set_position(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS]);
+}
+
+#else // not AUTO_BED_LEVELING_GRID
+
+static void set_bed_level_equation_3pts(float z_at_pt_1, float z_at_pt_2, float z_at_pt_3) {
+
+    plan_bed_level_matrix.set_to_identity();
+
+    vector_3 pt1 = vector_3(ABL_PROBE_PT_1_X, ABL_PROBE_PT_1_Y, z_at_pt_1);
+    vector_3 pt2 = vector_3(ABL_PROBE_PT_2_X, ABL_PROBE_PT_2_Y, z_at_pt_2);
+    vector_3 pt3 = vector_3(ABL_PROBE_PT_3_X, ABL_PROBE_PT_3_Y, z_at_pt_3);
+
+    vector_3 from_2_to_1 = (pt1 - pt2).get_normal();
+    vector_3 from_2_to_3 = (pt3 - pt2).get_normal();
+    vector_3 planeNormal = vector_3::cross(from_2_to_1, from_2_to_3).get_normal();
+    planeNormal = vector_3(planeNormal.x, planeNormal.y, abs(planeNormal.z));
+
+    plan_bed_level_matrix = matrix_3x3::create_look_at(planeNormal);
+
+    vector_3 corrected_position = plan_get_position();
+    current_position[X_AXIS] = corrected_position.x;
+    current_position[Y_AXIS] = corrected_position.y;
+    current_position[Z_AXIS] = corrected_position.z;
+
+    // put the bed at 0 so we don't go below it.
+    current_position[Z_AXIS] = zprobe_zoffset;
+
+    plan_set_position(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS]);
+
+}
+
+#endif // AUTO_BED_LEVELING_GRID
+
+static void run_z_probe() {
+    plan_bed_level_matrix.set_to_identity();
+    feedrate = homing_feedrate[Z_AXIS];
+
+    // move down until you find the bed
+    float zPosition = -10;
+    plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], zPosition, current_position[E_AXIS], feedrate/60, active_extruder);
+    st_synchronize();
+
+        // we have to let the planner know where we are right now as it is not where we said to go.
+    zPosition = st_get_position_mm(Z_AXIS);
+    plan_set_position(current_position[X_AXIS], current_position[Y_AXIS], zPosition, current_position[E_AXIS]);
+
+    // move up the retract distance
+    zPosition += home_retract_mm(Z_AXIS);
+    plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], zPosition, current_position[E_AXIS], feedrate/60, active_extruder);
+    st_synchronize();
+
+    // move back down slowly to find bed
+    feedrate = homing_feedrate[Z_AXIS]/4;
+    zPosition -= home_retract_mm(Z_AXIS) * 2;
+    plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], zPosition, current_position[E_AXIS], feedrate/60, active_extruder);
+    st_synchronize();
+
+    current_position[Z_AXIS] = st_get_position_mm(Z_AXIS);
+    // make sure the planner knows where we are as it may be a bit different than we last said to move to
+    plan_set_position(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS]);
+}
+
+static void do_blocking_move_to(float x, float y, float z) {
+    float oldFeedRate = feedrate;
+
+    feedrate = homing_feedrate[Z_AXIS];
+
+    current_position[Z_AXIS] = z;
+    plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], feedrate/60, active_extruder);
+    st_synchronize();
+
+    feedrate = XY_TRAVEL_SPEED;
+
+    current_position[X_AXIS] = x;
+    current_position[Y_AXIS] = y;
+    plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], feedrate/60, active_extruder);
+    st_synchronize();
+
+    feedrate = oldFeedRate;
+}
+
+static void do_blocking_move_relative(float offset_x, float offset_y, float offset_z) {
+    do_blocking_move_to(current_position[X_AXIS] + offset_x, current_position[Y_AXIS] + offset_y, current_position[Z_AXIS] + offset_z);
+}
+
+static void setup_for_endstop_move() {
+    saved_feedrate = feedrate;
+    saved_feedmultiply = feedmultiply;
+    feedmultiply = 100;
+    previous_millis_cmd = millis();
+
+    enable_endstops(true);
+}
+
+static void clean_up_after_endstop_move() {
+#ifdef ENDSTOPS_ONLY_FOR_HOMING
+    enable_endstops(false);
+#endif
+
+    feedrate = saved_feedrate;
+    feedmultiply = saved_feedmultiply;
+    previous_millis_cmd = millis();
+}
+
+static void engage_z_probe() {
+    // Engage Z Servo endstop if enabled
+    #ifdef SERVO_ENDSTOPS
+    if (servo_endstops[Z_AXIS] > -1) {
+#if defined (ENABLE_AUTO_BED_LEVELING) && (PROBE_SERVO_DEACTIVATION_DELAY > 0)
+        servos[servo_endstops[Z_AXIS]].attach(0);
+#endif
+        servos[servo_endstops[Z_AXIS]].write(servo_endstop_angles[Z_AXIS * 2]);
+#if defined (ENABLE_AUTO_BED_LEVELING) && (PROBE_SERVO_DEACTIVATION_DELAY > 0)
+        delay(PROBE_SERVO_DEACTIVATION_DELAY);
+        servos[servo_endstops[Z_AXIS]].detach();
+#endif
+    }
+    #endif
+}
+
+static void retract_z_probe() {
+    // Retract Z Servo endstop if enabled
+    #ifdef SERVO_ENDSTOPS
+    if (servo_endstops[Z_AXIS] > -1) {
+#if defined (ENABLE_AUTO_BED_LEVELING) && (PROBE_SERVO_DEACTIVATION_DELAY > 0)
+        servos[servo_endstops[Z_AXIS]].attach(0);
+#endif
+        servos[servo_endstops[Z_AXIS]].write(servo_endstop_angles[Z_AXIS * 2 + 1]);
+#if defined (ENABLE_AUTO_BED_LEVELING) && (PROBE_SERVO_DEACTIVATION_DELAY > 0)
+        delay(PROBE_SERVO_DEACTIVATION_DELAY);
+        servos[servo_endstops[Z_AXIS]].detach();
+#endif
+    }
+    #endif
+}
+
+/// Probe bed height at position (x,y), returns the measured z value
+static float probe_pt(float x, float y, float z_before) {
+  // move to right place
+  do_blocking_move_to(current_position[X_AXIS], current_position[Y_AXIS], z_before);
+  do_blocking_move_to(x - X_PROBE_OFFSET_FROM_EXTRUDER, y - Y_PROBE_OFFSET_FROM_EXTRUDER, current_position[Z_AXIS]);
+
+#ifndef Z_PROBE_SLED
+  engage_z_probe();   // Engage Z Servo endstop if available
+#endif // Z_PROBE_SLED
+  run_z_probe();
+  float measured_z = current_position[Z_AXIS];
+#ifndef Z_PROBE_SLED
+  retract_z_probe();
+#endif // Z_PROBE_SLED
+
+  SERIAL_PROTOCOLPGM(MSG_BED);
+  SERIAL_PROTOCOLPGM(" x: ");
+  SERIAL_PROTOCOL(x);
+  SERIAL_PROTOCOLPGM(" y: ");
+  SERIAL_PROTOCOL(y);
+  SERIAL_PROTOCOLPGM(" z: ");
+  SERIAL_PROTOCOL(measured_z);
+  SERIAL_PROTOCOLPGM("\n");
+  return measured_z;
+}
+
+#endif // #ifdef ENABLE_AUTO_BED_LEVELING
+
+static void homeaxis(int axis) {
+#define HOMEAXIS_DO(LETTER) \
+  ((LETTER##_MIN_PIN > -1 && LETTER##_HOME_DIR==-1) || (LETTER##_MAX_PIN > -1 && LETTER##_HOME_DIR==1))
+
+  if (axis==X_AXIS ? HOMEAXIS_DO(X) :
+      axis==Y_AXIS ? HOMEAXIS_DO(Y) :
+      axis==Z_AXIS ? HOMEAXIS_DO(Z) :
+      0) {
+    int axis_home_dir = home_dir(axis);
+#ifdef DUAL_X_CARRIAGE
+    if (axis == X_AXIS)
+      axis_home_dir = x_home_dir(active_extruder);
+#endif
+
+    current_position[axis] = 0;
+    plan_set_position(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS]);
+
+
+#ifndef Z_PROBE_SLED
+    // Engage Servo endstop if enabled
+    #ifdef SERVO_ENDSTOPS
+      #if defined (ENABLE_AUTO_BED_LEVELING) && (PROBE_SERVO_DEACTIVATION_DELAY > 0)
+        if (axis==Z_AXIS) {
+          engage_z_probe();
+        }
+	    else
+      #endif
+      if (servo_endstops[axis] > -1) {
+        servos[servo_endstops[axis]].write(servo_endstop_angles[axis * 2]);
+      }
+    #endif
+#endif // Z_PROBE_SLED
+    destination[axis] = 1.5 * max_length(axis) * axis_home_dir;
+    feedrate = homing_feedrate[axis];
+    plan_buffer_line(destination[X_AXIS], destination[Y_AXIS], destination[Z_AXIS], destination[E_AXIS], feedrate/60, active_extruder);
+    st_synchronize();
+
+    current_position[axis] = 0;
+    plan_set_position(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS]);
+    destination[axis] = -home_retract_mm(axis) * axis_home_dir;
+    plan_buffer_line(destination[X_AXIS], destination[Y_AXIS], destination[Z_AXIS], destination[E_AXIS], feedrate/60, active_extruder);
+    st_synchronize();
+
+    destination[axis] = 2*home_retract_mm(axis) * axis_home_dir;
+#ifdef DELTA
+    feedrate = homing_feedrate[axis]/10;
+#else
+    feedrate = homing_feedrate[axis]/2 ;
+#endif
+    plan_buffer_line(destination[X_AXIS], destination[Y_AXIS], destination[Z_AXIS], destination[E_AXIS], feedrate/60, active_extruder);
+    st_synchronize();
+#ifdef DELTA
+    // retrace by the amount specified in endstop_adj
+    if (endstop_adj[axis] * axis_home_dir < 0) {
+      plan_set_position(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS]);
+      destination[axis] = endstop_adj[axis];
+      plan_buffer_line(destination[X_AXIS], destination[Y_AXIS], destination[Z_AXIS], destination[E_AXIS], feedrate/60, active_extruder);
+      st_synchronize();
+    }
+#endif
+    axis_is_at_home(axis);
+    destination[axis] = current_position[axis];
+    feedrate = 0.0;
+    endstops_hit_on_purpose();
+    axis_known_position[axis] = true;
+
+    // Retract Servo endstop if enabled
+    #ifdef SERVO_ENDSTOPS
+      if (servo_endstops[axis] > -1) {
+        servos[servo_endstops[axis]].write(servo_endstop_angles[axis * 2 + 1]);
+      }
+    #endif
+#if defined (ENABLE_AUTO_BED_LEVELING) && (PROBE_SERVO_DEACTIVATION_DELAY > 0)
+  #ifndef Z_PROBE_SLED
+    if (axis==Z_AXIS) retract_z_probe();
+  #endif
+#endif
+
+  }
+}
+#define HOMEAXIS(LETTER) homeaxis(LETTER##_AXIS)
+
+void refresh_cmd_timeout(void)
+{
+  previous_millis_cmd = millis();
+}
+
+#ifdef FWRETRACT
+  void retract(bool retracting, bool swapretract = false) {
+    if(retracting && !retracted[active_extruder]) {
+      destination[X_AXIS]=current_position[X_AXIS];
+      destination[Y_AXIS]=current_position[Y_AXIS];
+      destination[Z_AXIS]=current_position[Z_AXIS];
+      destination[E_AXIS]=current_position[E_AXIS];
+      if (swapretract) {
+        current_position[E_AXIS]+=retract_length_swap/volumetric_multiplier[active_extruder];
+      } else {
+        current_position[E_AXIS]+=retract_length/volumetric_multiplier[active_extruder];
+      }
+      plan_set_e_position(current_position[E_AXIS]);
+      float oldFeedrate = feedrate;
+      feedrate=retract_feedrate*60;
+      retracted[active_extruder]=true;
+      prepare_move();
+      current_position[Z_AXIS]-=retract_zlift;
+#ifdef DELTA
+      calculate_delta(current_position); // change cartesian kinematic to  delta kinematic;
+      plan_set_position(delta[X_AXIS], delta[Y_AXIS], delta[Z_AXIS], current_position[E_AXIS]);
+#else
+      plan_set_position(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS]);
+#endif
+      prepare_move();
+      feedrate = oldFeedrate;
+    } else if(!retracting && retracted[active_extruder]) {
+      destination[X_AXIS]=current_position[X_AXIS];
+      destination[Y_AXIS]=current_position[Y_AXIS];
+      destination[Z_AXIS]=current_position[Z_AXIS];
+      destination[E_AXIS]=current_position[E_AXIS];
+      current_position[Z_AXIS]+=retract_zlift;
+#ifdef DELTA
+      calculate_delta(current_position); // change cartesian kinematic  to  delta kinematic;
+      plan_set_position(delta[X_AXIS], delta[Y_AXIS], delta[Z_AXIS], current_position[E_AXIS]);
+#else
+      plan_set_position(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS]);
+#endif
+      //prepare_move();
+      if (swapretract) {
+        current_position[E_AXIS]-=(retract_length_swap+retract_recover_length_swap)/volumetric_multiplier[active_extruder]; 
+      } else {
+        current_position[E_AXIS]-=(retract_length+retract_recover_length)/volumetric_multiplier[active_extruder]; 
+      }
+      plan_set_e_position(current_position[E_AXIS]);
+      float oldFeedrate = feedrate;
+      feedrate=retract_recover_feedrate*60;
+      retracted[active_extruder]=false;
+      prepare_move();
+      feedrate = oldFeedrate;
+    }
+  } //retract
+#endif //FWRETRACT
+
+#ifdef Z_PROBE_SLED
+//
+// Method to dock/undock a sled designed by Charles Bell.
+//
+// dock[in]     If true, move to MAX_X and engage the electromagnet
+// offset[in]   The additional distance to move to adjust docking location
+//
+static void dock_sled(bool dock, int offset=0) {
+ int z_loc;
+ 
+ if (!((axis_known_position[X_AXIS]) && (axis_known_position[Y_AXIS]))) {
+   LCD_MESSAGEPGM(MSG_POSITION_UNKNOWN);
+   SERIAL_ECHO_START;
+   SERIAL_ECHOLNPGM(MSG_POSITION_UNKNOWN);
+   return;
+ }
+
+ if (dock) {
+   do_blocking_move_to(X_MAX_POS + SLED_DOCKING_OFFSET + offset,
+                       current_position[Y_AXIS],
+                       current_position[Z_AXIS]);
+   // turn off magnet
+   digitalWrite(SERVO0_PIN, LOW);
+ } else {
+   if (current_position[Z_AXIS] < (Z_RAISE_BEFORE_PROBING + 5))
+     z_loc = Z_RAISE_BEFORE_PROBING;
+   else
+     z_loc = current_position[Z_AXIS];
+   do_blocking_move_to(X_MAX_POS + SLED_DOCKING_OFFSET + offset,
+                       Y_PROBE_OFFSET_FROM_EXTRUDER, z_loc);
+   // turn on magnet
+   digitalWrite(SERVO0_PIN, HIGH);
+ }
+}
+#endif
+
+void process_commands()
+{
+  #ifdef FILAMENT_RUNOUT_SUPPORT
+    SET_INPUT(FR_SENS);
+  #endif
+  
+  
+  unsigned long codenum; //throw away variable
+  char *starpos = NULL;
+#ifdef ENABLE_AUTO_BED_LEVELING
+  float x_tmp, y_tmp, z_tmp, real_z;
+#endif
+
+  // PRUSA GCODES
+
+  if(code_seen('P')){
+    if(code_seen('F')){
+
+      SERIAL_PROTOCOLLN(FW_version);
+
+    } else if(code_seen('R')){
+
+      SERIAL_PROTOCOLLN(REVISION);
+
+    }
+
+  }
+  else if(code_seen('G'))
+  {
+    switch((int)code_value())
+    {
+    case 0: // G0 -> G1
+    case 1: // G1
+      if(Stopped == false) {
+
+        #ifdef FILAMENT_RUNOUT_SUPPORT
+            
+            if(READ(FR_SENS)){
+
+                        feedmultiplyBckp=feedmultiply;
+                        float target[4];
+                        float lastpos[4];
+                        target[X_AXIS]=current_position[X_AXIS];
+                        target[Y_AXIS]=current_position[Y_AXIS];
+                        target[Z_AXIS]=current_position[Z_AXIS];
+                        target[E_AXIS]=current_position[E_AXIS];
+                        lastpos[X_AXIS]=current_position[X_AXIS];
+                        lastpos[Y_AXIS]=current_position[Y_AXIS];
+                        lastpos[Z_AXIS]=current_position[Z_AXIS];
+                        lastpos[E_AXIS]=current_position[E_AXIS];
+                        //retract by E
+                        
+                        target[E_AXIS]+= FILAMENTCHANGE_FIRSTRETRACT ;
+                        
+                        plan_buffer_line(target[X_AXIS], target[Y_AXIS], target[Z_AXIS], target[E_AXIS], 400, active_extruder);
+
+
+                        target[Z_AXIS]+= FILAMENTCHANGE_ZADD ;
+
+                        plan_buffer_line(target[X_AXIS], target[Y_AXIS], target[Z_AXIS], target[E_AXIS], 300, active_extruder);
+
+                        target[X_AXIS]= FILAMENTCHANGE_XPOS ;
+                        
+                        target[Y_AXIS]= FILAMENTCHANGE_YPOS ;
+                         
+                 
+                        plan_buffer_line(target[X_AXIS], target[Y_AXIS], target[Z_AXIS], target[E_AXIS], 70, active_extruder);
+
+                        target[E_AXIS]+= FILAMENTCHANGE_FINALRETRACT ;
+                          
+
+                        plan_buffer_line(target[X_AXIS], target[Y_AXIS], target[Z_AXIS], target[E_AXIS], 20, active_extruder);
+
+                        //finish moves
+                        st_synchronize();
+                        //disable extruder steppers so filament can be removed
+                        disable_e0();
+                        disable_e1();
+                        disable_e2();
+                        delay(100);
+                        
+                        //LCD_ALERTMESSAGEPGM(MSG_FILAMENTCHANGE);
+                        uint8_t cnt=0;
+                        int counterBeep = 0;
+                        lcd_wait_interact();
+                        while(!lcd_clicked()){
+                          cnt++;
+                          manage_heater();
+                          manage_inactivity(true);
+                          //lcd_update();
+                          if(cnt==0)
+                          {
+                          #if BEEPER > 0
+                          
+                            if (counterBeep== 500){
+                              counterBeep = 0;
+                              
+                            }
+                          
+                            
+                            SET_OUTPUT(BEEPER);
+                            if (counterBeep== 0){
+                              WRITE(BEEPER,HIGH);
+                            }
+                            
+                            if (counterBeep== 20){
+                              WRITE(BEEPER,LOW);
+                            }
+                            
+                            
+                            
+                          
+                            counterBeep++;
+                          #else
+                      #if !defined(LCD_FEEDBACK_FREQUENCY_HZ) || !defined(LCD_FEEDBACK_FREQUENCY_DURATION_MS)
+                              lcd_buzz(1000/6,100);
+                      #else
+                        lcd_buzz(LCD_FEEDBACK_FREQUENCY_DURATION_MS,LCD_FEEDBACK_FREQUENCY_HZ);
+                      #endif
+                          #endif
+                          }
+                        }
+                        
+                        WRITE(BEEPER,LOW);
+                        
+                        target[E_AXIS]+= FILAMENTCHANGE_FIRSTFEED ;
+                        plan_buffer_line(target[X_AXIS], target[Y_AXIS], target[Z_AXIS], target[E_AXIS], 20, active_extruder); 
+                        
+                        
+                        target[E_AXIS]+= FILAMENTCHANGE_FINALFEED ;
+                        plan_buffer_line(target[X_AXIS], target[Y_AXIS], target[Z_AXIS], target[E_AXIS], 2, active_extruder); 
+                        
+                 
+                        
+                        
+                        
+                        lcd_change_fil_state = 0;
+                        lcd_loading_filament();
+                        while ((lcd_change_fil_state == 0)||(lcd_change_fil_state != 1)){
+                        
+                          lcd_change_fil_state = 0;
+                          lcd_alright();
+                          switch(lcd_change_fil_state){
+                          
+                             case 2:
+                                     target[E_AXIS]+= FILAMENTCHANGE_FIRSTFEED ;
+                                     plan_buffer_line(target[X_AXIS], target[Y_AXIS], target[Z_AXIS], target[E_AXIS], 20, active_extruder); 
+                        
+                        
+                                     target[E_AXIS]+= FILAMENTCHANGE_FINALFEED ;
+                                     plan_buffer_line(target[X_AXIS], target[Y_AXIS], target[Z_AXIS], target[E_AXIS], 2, active_extruder); 
+                                      
+                                     
+                                     lcd_loading_filament();
+                                     break;
+                             case 3:
+                                     target[E_AXIS]+= FILAMENTCHANGE_FINALFEED ;
+                                     plan_buffer_line(target[X_AXIS], target[Y_AXIS], target[Z_AXIS], target[E_AXIS], 2, active_extruder); 
+                                     lcd_loading_color();
+                                     break;
+                                          
+                             default:
+                                     lcd_change_success();
+                                     break;
+                          }
+                          
+                        }
+                        
+
+                        
+                      target[E_AXIS]+= 5;
+                      plan_buffer_line(target[X_AXIS], target[Y_AXIS], target[Z_AXIS], target[E_AXIS], 2, active_extruder);
+                        
+                      target[E_AXIS]+= FILAMENTCHANGE_FIRSTRETRACT;
+                      plan_buffer_line(target[X_AXIS], target[Y_AXIS], target[Z_AXIS], target[E_AXIS], 400, active_extruder);
+                        
+
+                        //current_position[E_AXIS]=target[E_AXIS]; //the long retract of L is compensated by manual filament feeding
+                        //plan_set_e_position(current_position[E_AXIS]);
+                        plan_buffer_line(target[X_AXIS], target[Y_AXIS], target[Z_AXIS], target[E_AXIS], 70, active_extruder); //should do nothing
+                        plan_buffer_line(lastpos[X_AXIS], lastpos[Y_AXIS], target[Z_AXIS], target[E_AXIS], 70, active_extruder); //move xy back
+                        plan_buffer_line(lastpos[X_AXIS], lastpos[Y_AXIS], lastpos[Z_AXIS], target[E_AXIS], 200, active_extruder); //move z back
+                        
+                        
+                        target[E_AXIS]= target[E_AXIS] - FILAMENTCHANGE_FIRSTRETRACT;
+                        
+                      
+                             
+                        plan_buffer_line(lastpos[X_AXIS], lastpos[Y_AXIS], lastpos[Z_AXIS], target[E_AXIS], 5, active_extruder); //final untretract
+                        
+                        
+                        plan_set_e_position(lastpos[E_AXIS]);
+                        
+                        feedmultiply=feedmultiplyBckp;
+                        
+                     
+                        
+                        char cmd[9];
+
+                        sprintf_P(cmd, PSTR("M220 S%i"), feedmultiplyBckp);
+                        enquecommand(cmd);
+
+            }
+
+
+
+        #endif
+
+
+        get_coordinates(); // For X Y Z E F
+          #ifdef FWRETRACT
+            if(autoretract_enabled)
+            if( !(code_seen('X') || code_seen('Y') || code_seen('Z')) && code_seen('E')) {
+              float echange=destination[E_AXIS]-current_position[E_AXIS];
+
+              if((echange<-MIN_RETRACT && !retracted) || (echange>MIN_RETRACT && retracted)) { //move appears to be an attempt to retract or recover
+                  current_position[E_AXIS] = destination[E_AXIS]; //hide the slicer-generated retract/recover from calculations
+                  plan_set_e_position(current_position[E_AXIS]); //AND from the planner
+                  retract(!retracted);
+                  return;
+              }
+
+
+            }
+          #endif //FWRETRACT
+        prepare_move();
+        //ClearToSend();
+      }
+      break;
+#ifndef SCARA //disable arc support
+    case 2: // G2  - CW ARC
+      if(Stopped == false) {
+        get_arc_coordinates();
+        prepare_arc_move(true);
+      }
+      break;
+    case 3: // G3  - CCW ARC
+      if(Stopped == false) {
+        get_arc_coordinates();
+        prepare_arc_move(false);
+      }
+      break;
+#endif
+    case 4: // G4 dwell
+      LCD_MESSAGEPGM(MSG_DWELL);
+      codenum = 0;
+      if(code_seen('P')) codenum = code_value(); // milliseconds to wait
+      if(code_seen('S')) codenum = code_value() * 1000; // seconds to wait
+
+      st_synchronize();
+      codenum += millis();  // keep track of when we started waiting
+      previous_millis_cmd = millis();
+      while(millis() < codenum) {
+        manage_heater();
+        manage_inactivity();
+        lcd_update();
+      }
+      break;
+      #ifdef FWRETRACT
+      case 10: // G10 retract
+       #if EXTRUDERS > 1
+        retracted_swap[active_extruder]=(code_seen('S') && code_value_long() == 1); // checks for swap retract argument
+        retract(true,retracted_swap[active_extruder]);
+       #else
+        retract(true);
+       #endif
+      break;
+      case 11: // G11 retract_recover
+       #if EXTRUDERS > 1
+        retract(false,retracted_swap[active_extruder]);
+       #else
+        retract(false);
+       #endif 
+      break;
+      #endif //FWRETRACT
+    case 28: //G28 Home all Axis one at a time
+#ifdef ENABLE_AUTO_BED_LEVELING
+      plan_bed_level_matrix.set_to_identity();  //Reset the plane ("erase" all leveling data)
+#endif //ENABLE_AUTO_BED_LEVELING
+
+      saved_feedrate = feedrate;
+      saved_feedmultiply = feedmultiply;
+      feedmultiply = 100;
+      previous_millis_cmd = millis();
+
+      enable_endstops(true);
+
+      for(int8_t i=0; i < NUM_AXIS; i++) {
+        destination[i] = current_position[i];
+      }
+      feedrate = 0.0;
+
+#ifdef DELTA
+          // A delta can only safely home all axis at the same time
+          // all axis have to home at the same time
+
+          // Move all carriages up together until the first endstop is hit.
+          current_position[X_AXIS] = 0;
+          current_position[Y_AXIS] = 0;
+          current_position[Z_AXIS] = 0;
+          plan_set_position(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS]);
+
+          destination[X_AXIS] = 3 * Z_MAX_LENGTH;
+          destination[Y_AXIS] = 3 * Z_MAX_LENGTH;
+          destination[Z_AXIS] = 3 * Z_MAX_LENGTH;
+          feedrate = 1.732 * homing_feedrate[X_AXIS];
+          plan_buffer_line(destination[X_AXIS], destination[Y_AXIS], destination[Z_AXIS], destination[E_AXIS], feedrate/60, active_extruder);
+          st_synchronize();
+          endstops_hit_on_purpose();
+
+          current_position[X_AXIS] = destination[X_AXIS];
+          current_position[Y_AXIS] = destination[Y_AXIS];
+          current_position[Z_AXIS] = destination[Z_AXIS];
+
+          // take care of back off and rehome now we are all at the top
+          HOMEAXIS(X);
+          HOMEAXIS(Y);
+          HOMEAXIS(Z);
+
+          calculate_delta(current_position);
+          plan_set_position(delta[X_AXIS], delta[Y_AXIS], delta[Z_AXIS], current_position[E_AXIS]);
+
+#else // NOT DELTA
+
+      home_all_axis = !((code_seen(axis_codes[X_AXIS])) || (code_seen(axis_codes[Y_AXIS])) || (code_seen(axis_codes[Z_AXIS])));
+
+      #if Z_HOME_DIR > 0                      // If homing away from BED do Z first
+      if((home_all_axis) || (code_seen(axis_codes[Z_AXIS]))) {
+        HOMEAXIS(Z);
+      }
+      #endif
+
+      #ifdef QUICK_HOME
+      if((home_all_axis)||( code_seen(axis_codes[X_AXIS]) && code_seen(axis_codes[Y_AXIS])) )  //first diagonal move
+      {
+        current_position[X_AXIS] = 0;current_position[Y_AXIS] = 0;
+
+       #ifndef DUAL_X_CARRIAGE
+        int x_axis_home_dir = home_dir(X_AXIS);
+       #else
+        int x_axis_home_dir = x_home_dir(active_extruder);
+        extruder_duplication_enabled = false;
+       #endif
+
+        plan_set_position(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS]);
+        destination[X_AXIS] = 1.5 * max_length(X_AXIS) * x_axis_home_dir;destination[Y_AXIS] = 1.5 * max_length(Y_AXIS) * home_dir(Y_AXIS);
+        feedrate = homing_feedrate[X_AXIS];
+        if(homing_feedrate[Y_AXIS]<feedrate)
+          feedrate = homing_feedrate[Y_AXIS];
+        if (max_length(X_AXIS) > max_length(Y_AXIS)) {
+          feedrate *= sqrt(pow(max_length(Y_AXIS) / max_length(X_AXIS), 2) + 1);
+        } else {
+          feedrate *= sqrt(pow(max_length(X_AXIS) / max_length(Y_AXIS), 2) + 1);
+        }
+        plan_buffer_line(destination[X_AXIS], destination[Y_AXIS], destination[Z_AXIS], destination[E_AXIS], feedrate/60, active_extruder);
+        st_synchronize();
+
+        axis_is_at_home(X_AXIS);
+        axis_is_at_home(Y_AXIS);
+        plan_set_position(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS]);
+        destination[X_AXIS] = current_position[X_AXIS];
+        destination[Y_AXIS] = current_position[Y_AXIS];
+        plan_buffer_line(destination[X_AXIS], destination[Y_AXIS], destination[Z_AXIS], destination[E_AXIS], feedrate/60, active_extruder);
+        feedrate = 0.0;
+        st_synchronize();
+        endstops_hit_on_purpose();
+
+        current_position[X_AXIS] = destination[X_AXIS];
+        current_position[Y_AXIS] = destination[Y_AXIS];
+		#ifndef SCARA
+        current_position[Z_AXIS] = destination[Z_AXIS];
+		#endif
+      }
+      #endif
+
+      if((home_all_axis) || (code_seen(axis_codes[X_AXIS])))
+      {
+      #ifdef DUAL_X_CARRIAGE
+        int tmp_extruder = active_extruder;
+        extruder_duplication_enabled = false;
+        active_extruder = !active_extruder;
+        HOMEAXIS(X);
+        inactive_extruder_x_pos = current_position[X_AXIS];
+        active_extruder = tmp_extruder;
+        HOMEAXIS(X);
+        // reset state used by the different modes
+        memcpy(raised_parked_position, current_position, sizeof(raised_parked_position));
+        delayed_move_time = 0;
+        active_extruder_parked = true;
+      #else
+        HOMEAXIS(X);
+      #endif
+      }
+
+      if((home_all_axis) || (code_seen(axis_codes[Y_AXIS]))) {
+        HOMEAXIS(Y);
+      }
+
+      if(code_seen(axis_codes[X_AXIS]))
+      {
+        if(code_value_long() != 0) {
+		#ifdef SCARA
+		   current_position[X_AXIS]=code_value();
+		#else
+		   current_position[X_AXIS]=code_value()+add_homing[X_AXIS];
+		#endif
+        }
+      }
+
+      if(code_seen(axis_codes[Y_AXIS])) {
+        if(code_value_long() != 0) {
+         #ifdef SCARA
+		   current_position[Y_AXIS]=code_value();
+		#else
+		   current_position[Y_AXIS]=code_value()+add_homing[Y_AXIS];
+		#endif
+        }
+      }
+
+      #if Z_HOME_DIR < 0                      // If homing towards BED do Z last
+        #ifndef Z_SAFE_HOMING
+          if((home_all_axis) || (code_seen(axis_codes[Z_AXIS]))) {
+            #if defined (Z_RAISE_BEFORE_HOMING) && (Z_RAISE_BEFORE_HOMING > 0)
+              destination[Z_AXIS] = Z_RAISE_BEFORE_HOMING * home_dir(Z_AXIS) * (-1);    // Set destination away from bed
+              feedrate = max_feedrate[Z_AXIS];
+              plan_buffer_line(destination[X_AXIS], destination[Y_AXIS], destination[Z_AXIS], destination[E_AXIS], feedrate, active_extruder);
+              st_synchronize();
+            #endif
+            HOMEAXIS(Z);
+          }
+        #else                      // Z Safe mode activated.
+          if(home_all_axis) {
+            destination[X_AXIS] = round(Z_SAFE_HOMING_X_POINT - X_PROBE_OFFSET_FROM_EXTRUDER);
+            destination[Y_AXIS] = round(Z_SAFE_HOMING_Y_POINT - Y_PROBE_OFFSET_FROM_EXTRUDER);
+            destination[Z_AXIS] = Z_RAISE_BEFORE_HOMING * home_dir(Z_AXIS) * (-1);    // Set destination away from bed
+            feedrate = XY_TRAVEL_SPEED/60;
+            current_position[Z_AXIS] = 0;
+
+            plan_set_position(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS]);
+            plan_buffer_line(destination[X_AXIS], destination[Y_AXIS], destination[Z_AXIS], destination[E_AXIS], feedrate, active_extruder);
+            st_synchronize();
+            current_position[X_AXIS] = destination[X_AXIS];
+            current_position[Y_AXIS] = destination[Y_AXIS];
+
+            HOMEAXIS(Z);
+          }
+                                                // Let's see if X and Y are homed and probe is inside bed area.
+          if(code_seen(axis_codes[Z_AXIS])) {
+            if ( (axis_known_position[X_AXIS]) && (axis_known_position[Y_AXIS]) \
+              && (current_position[X_AXIS]+X_PROBE_OFFSET_FROM_EXTRUDER >= X_MIN_POS) \
+              && (current_position[X_AXIS]+X_PROBE_OFFSET_FROM_EXTRUDER <= X_MAX_POS) \
+              && (current_position[Y_AXIS]+Y_PROBE_OFFSET_FROM_EXTRUDER >= Y_MIN_POS) \
+              && (current_position[Y_AXIS]+Y_PROBE_OFFSET_FROM_EXTRUDER <= Y_MAX_POS)) {
+
+              current_position[Z_AXIS] = 0;
+              plan_set_position(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS]);
+              destination[Z_AXIS] = Z_RAISE_BEFORE_HOMING * home_dir(Z_AXIS) * (-1);    // Set destination away from bed
+              feedrate = max_feedrate[Z_AXIS];
+              plan_buffer_line(destination[X_AXIS], destination[Y_AXIS], destination[Z_AXIS], destination[E_AXIS], feedrate, active_extruder);
+              st_synchronize();
+
+              HOMEAXIS(Z);
+            } else if (!((axis_known_position[X_AXIS]) && (axis_known_position[Y_AXIS]))) {
+                LCD_MESSAGEPGM(MSG_POSITION_UNKNOWN);
+                SERIAL_ECHO_START;
+                SERIAL_ECHOLNPGM(MSG_POSITION_UNKNOWN);
+            } else {
+                LCD_MESSAGEPGM(MSG_ZPROBE_OUT);
+                SERIAL_ECHO_START;
+                SERIAL_ECHOLNPGM(MSG_ZPROBE_OUT);
+            }
+          }
+        #endif
+      #endif
+
+
+
+      if(code_seen(axis_codes[Z_AXIS])) {
+        if(code_value_long() != 0) {
+          current_position[Z_AXIS]=code_value()+add_homing[Z_AXIS];
+        }
+      }
+      #ifdef ENABLE_AUTO_BED_LEVELING
+        if((home_all_axis) || (code_seen(axis_codes[Z_AXIS]))) {
+          current_position[Z_AXIS] += zprobe_zoffset;  //Add Z_Probe offset (the distance is negative)
+        }
+      #endif
+      plan_set_position(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS]);
+#endif // else DELTA
+
+#ifdef SCARA
+	  calculate_delta(current_position);
+      plan_set_position(delta[X_AXIS], delta[Y_AXIS], delta[Z_AXIS], current_position[E_AXIS]);
+#endif // SCARA
+
+      #ifdef ENDSTOPS_ONLY_FOR_HOMING
+        enable_endstops(false);
+      #endif
+
+      feedrate = saved_feedrate;
+      feedmultiply = saved_feedmultiply;
+      previous_millis_cmd = millis();
+      endstops_hit_on_purpose();
+      break;
+
+#ifdef ENABLE_AUTO_BED_LEVELING
+    case 29: // G29 Detailed Z-Probe, probes the bed at 3 or more points.
+        {
+            #if Z_MIN_PIN == -1
+            #error "You must have a Z_MIN endstop in order to enable Auto Bed Leveling feature!!! Z_MIN_PIN must point to a valid hardware pin."
+            #endif
+
+            // Prevent user from running a G29 without first homing in X and Y
+            if (! (axis_known_position[X_AXIS] && axis_known_position[Y_AXIS]) )
+            {
+                LCD_MESSAGEPGM(MSG_POSITION_UNKNOWN);
+                SERIAL_ECHO_START;
+                SERIAL_ECHOLNPGM(MSG_POSITION_UNKNOWN);
+                break; // abort G29, since we don't know where we are
+            }
+
+#ifdef Z_PROBE_SLED
+            dock_sled(false);
+#endif // Z_PROBE_SLED
+            st_synchronize();
+            // make sure the bed_level_rotation_matrix is identity or the planner will get it incorectly
+            //vector_3 corrected_position = plan_get_position_mm();
+            //corrected_position.debug("position before G29");
+            plan_bed_level_matrix.set_to_identity();
+            vector_3 uncorrected_position = plan_get_position();
+            //uncorrected_position.debug("position durring G29");
+            current_position[X_AXIS] = uncorrected_position.x;
+            current_position[Y_AXIS] = uncorrected_position.y;
+            current_position[Z_AXIS] = uncorrected_position.z;
+            plan_set_position(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS]);
+            setup_for_endstop_move();
+
+            feedrate = homing_feedrate[Z_AXIS];
+#ifdef AUTO_BED_LEVELING_GRID
+            // probe at the points of a lattice grid
+
+            int xGridSpacing = (RIGHT_PROBE_BED_POSITION - LEFT_PROBE_BED_POSITION) / (AUTO_BED_LEVELING_GRID_POINTS-1);
+            int yGridSpacing = (BACK_PROBE_BED_POSITION - FRONT_PROBE_BED_POSITION) / (AUTO_BED_LEVELING_GRID_POINTS-1);
+
+
+            // solve the plane equation ax + by + d = z
+            // A is the matrix with rows [x y 1] for all the probed points
+            // B is the vector of the Z positions
+            // the normal vector to the plane is formed by the coefficients of the plane equation in the standard form, which is Vx*x+Vy*y+Vz*z+d = 0
+            // so Vx = -a Vy = -b Vz = 1 (we want the vector facing towards positive Z
+
+            // "A" matrix of the linear system of equations
+            double eqnAMatrix[AUTO_BED_LEVELING_GRID_POINTS*AUTO_BED_LEVELING_GRID_POINTS*3];
+            // "B" vector of Z points
+            double eqnBVector[AUTO_BED_LEVELING_GRID_POINTS*AUTO_BED_LEVELING_GRID_POINTS];
+
+
+            int probePointCounter = 0;
+            bool zig = true;
+
+            for (int yProbe=FRONT_PROBE_BED_POSITION; yProbe <= BACK_PROBE_BED_POSITION; yProbe += yGridSpacing)
+            {
+              int xProbe, xInc;
+              if (zig)
+              {
+                xProbe = LEFT_PROBE_BED_POSITION;
+                //xEnd = RIGHT_PROBE_BED_POSITION;
+                xInc = xGridSpacing;
+                zig = false;
+              } else // zag
+              {
+                xProbe = RIGHT_PROBE_BED_POSITION;
+                //xEnd = LEFT_PROBE_BED_POSITION;
+                xInc = -xGridSpacing;
+                zig = true;
+              }
+
+              for (int xCount=0; xCount < AUTO_BED_LEVELING_GRID_POINTS; xCount++)
+              {
+                float z_before;
+                if (probePointCounter == 0)
+                {
+                  // raise before probing
+                  z_before = Z_RAISE_BEFORE_PROBING;
+                } else
+                {
+                  // raise extruder
+                  z_before = current_position[Z_AXIS] + Z_RAISE_BETWEEN_PROBINGS;
+                }
+
+                float measured_z = probe_pt(xProbe, yProbe, z_before);
+
+                eqnBVector[probePointCounter] = measured_z;
+
+                eqnAMatrix[probePointCounter + 0*AUTO_BED_LEVELING_GRID_POINTS*AUTO_BED_LEVELING_GRID_POINTS] = xProbe;
+                eqnAMatrix[probePointCounter + 1*AUTO_BED_LEVELING_GRID_POINTS*AUTO_BED_LEVELING_GRID_POINTS] = yProbe;
+                eqnAMatrix[probePointCounter + 2*AUTO_BED_LEVELING_GRID_POINTS*AUTO_BED_LEVELING_GRID_POINTS] = 1;
+                probePointCounter++;
+                xProbe += xInc;
+              }
+            }
+            clean_up_after_endstop_move();
+
+            // solve lsq problem
+            double *plane_equation_coefficients = qr_solve(AUTO_BED_LEVELING_GRID_POINTS*AUTO_BED_LEVELING_GRID_POINTS, 3, eqnAMatrix, eqnBVector);
+
+            SERIAL_PROTOCOLPGM("Eqn coefficients: a: ");
+            SERIAL_PROTOCOL(plane_equation_coefficients[0]);
+            SERIAL_PROTOCOLPGM(" b: ");
+            SERIAL_PROTOCOL(plane_equation_coefficients[1]);
+            SERIAL_PROTOCOLPGM(" d: ");
+            SERIAL_PROTOCOLLN(plane_equation_coefficients[2]);
+
+
+            set_bed_level_equation_lsq(plane_equation_coefficients);
+
+            free(plane_equation_coefficients);
+
+#else // AUTO_BED_LEVELING_GRID not defined
+
+            // Probe at 3 arbitrary points
+            // probe 1
+            float z_at_pt_1 = probe_pt(ABL_PROBE_PT_1_X, ABL_PROBE_PT_1_Y, Z_RAISE_BEFORE_PROBING);
+
+            // probe 2
+            float z_at_pt_2 = probe_pt(ABL_PROBE_PT_2_X, ABL_PROBE_PT_2_Y, current_position[Z_AXIS] + Z_RAISE_BETWEEN_PROBINGS);
+
+            // probe 3
+            float z_at_pt_3 = probe_pt(ABL_PROBE_PT_3_X, ABL_PROBE_PT_3_Y, current_position[Z_AXIS] + Z_RAISE_BETWEEN_PROBINGS);
+
+            clean_up_after_endstop_move();
+
+            set_bed_level_equation_3pts(z_at_pt_1, z_at_pt_2, z_at_pt_3);
+
+
+#endif // AUTO_BED_LEVELING_GRID
+            st_synchronize();
+
+            // The following code correct the Z height difference from z-probe position and hotend tip position.
+            // The Z height on homing is measured by Z-Probe, but the probe is quite far from the hotend.
+            // When the bed is uneven, this height must be corrected.
+            real_z = float(st_get_position(Z_AXIS))/axis_steps_per_unit[Z_AXIS];  //get the real Z (since the auto bed leveling is already correcting the plane)
+            x_tmp = current_position[X_AXIS] + X_PROBE_OFFSET_FROM_EXTRUDER;
+            y_tmp = current_position[Y_AXIS] + Y_PROBE_OFFSET_FROM_EXTRUDER;
+            z_tmp = current_position[Z_AXIS];
+
+            apply_rotation_xyz(plan_bed_level_matrix, x_tmp, y_tmp, z_tmp);         //Apply the correction sending the probe offset
+            current_position[Z_AXIS] = z_tmp - real_z + current_position[Z_AXIS];   //The difference is added to current position and sent to planner.
+            plan_set_position(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS]);
+#ifdef Z_PROBE_SLED
+            dock_sled(true, -SLED_DOCKING_OFFSET); // correct for over travel.
+#endif // Z_PROBE_SLED
+        }
+        break;
+#ifndef Z_PROBE_SLED
+    case 30: // G30 Single Z Probe
+        {
+            engage_z_probe(); // Engage Z Servo endstop if available
+            st_synchronize();
+            // TODO: make sure the bed_level_rotation_matrix is identity or the planner will get set incorectly
+            setup_for_endstop_move();
+
+            feedrate = homing_feedrate[Z_AXIS];
+
+            run_z_probe();
+            SERIAL_PROTOCOLPGM(MSG_BED);
+            SERIAL_PROTOCOLPGM(" X: ");
+            SERIAL_PROTOCOL(current_position[X_AXIS]);
+            SERIAL_PROTOCOLPGM(" Y: ");
+            SERIAL_PROTOCOL(current_position[Y_AXIS]);
+            SERIAL_PROTOCOLPGM(" Z: ");
+            SERIAL_PROTOCOL(current_position[Z_AXIS]);
+            SERIAL_PROTOCOLPGM("\n");
+
+            clean_up_after_endstop_move();
+            retract_z_probe(); // Retract Z Servo endstop if available
+        }
+        break;
+#else
+    case 31: // dock the sled
+        dock_sled(true);
+        break;
+    case 32: // undock the sled
+        dock_sled(false);
+        break;
+#endif // Z_PROBE_SLED
+#endif // ENABLE_AUTO_BED_LEVELING
+    case 90: // G90
+      relative_mode = false;
+      break;
+    case 91: // G91
+      relative_mode = true;
+      break;
+    case 92: // G92
+      if(!code_seen(axis_codes[E_AXIS]))
+        st_synchronize();
+      for(int8_t i=0; i < NUM_AXIS; i++) {
+        if(code_seen(axis_codes[i])) {
+           if(i == E_AXIS) {
+             current_position[i] = code_value();
+             plan_set_e_position(current_position[E_AXIS]);
+           }
+           else {
+#ifdef SCARA
+		if (i == X_AXIS || i == Y_AXIS) {
+                	current_position[i] = code_value();  
+		}
+		else {
+                current_position[i] = code_value()+add_homing[i];  
+            	}  
+#else
+		current_position[i] = code_value()+add_homing[i];
+#endif
+            plan_set_position(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS]);
+           }
+        }
+      }
+      break;
+    }
+  }
+
+  else if(code_seen('M'))
+  {
+    switch( (int)code_value() )
+    {
+#ifdef ULTIPANEL
+    case 0: // M0 - Unconditional stop - Wait for user button press on LCD
+    case 1: // M1 - Conditional stop - Wait for user button press on LCD
+    {
+      char *src = strchr_pointer + 2;
+
+      codenum = 0;
+
+      bool hasP = false, hasS = false;
+      if (code_seen('P')) {
+        codenum = code_value(); // milliseconds to wait
+        hasP = codenum > 0;
+      }
+      if (code_seen('S')) {
+        codenum = code_value() * 1000; // seconds to wait
+        hasS = codenum > 0;
+      }
+      starpos = strchr(src, '*');
+      if (starpos != NULL) *(starpos) = '\0';
+      while (*src == ' ') ++src;
+      if (!hasP && !hasS && *src != '\0') {
+        lcd_setstatus(src);
+      } else {
+        LCD_MESSAGEPGM(MSG_USERWAIT);
+      }
+
+      lcd_ignore_click();
+      st_synchronize();
+      previous_millis_cmd = millis();
+      if (codenum > 0){
+        codenum += millis();  // keep track of when we started waiting
+        while(millis() < codenum && !lcd_clicked()){
+          manage_heater();
+          manage_inactivity();
+          lcd_update();
+        }
+        lcd_ignore_click(false);
+      }else{
+          if (!lcd_detected())
+            break;
+        while(!lcd_clicked()){
+          manage_heater();
+          manage_inactivity();
+          lcd_update();
+        }
+      }
+      if (IS_SD_PRINTING)
+        LCD_MESSAGEPGM(MSG_RESUMING);
+      else
+        LCD_MESSAGEPGM(WELCOME_MSG);
+    }
+    break;
+#endif
+    case 17:
+        LCD_MESSAGEPGM(MSG_NO_MOVE);
+        enable_x();
+        enable_y();
+        enable_z();
+        enable_e0();
+        enable_e1();
+        enable_e2();
+      break;
+
+#ifdef SDSUPPORT
+    case 20: // M20 - list SD card
+      SERIAL_PROTOCOLLNPGM(MSG_BEGIN_FILE_LIST);
+      card.ls();
+      SERIAL_PROTOCOLLNPGM(MSG_END_FILE_LIST);
+      break;
+    case 21: // M21 - init SD card
+
+      card.initsd();
+
+      break;
+    case 22: //M22 - release SD card
+      card.release();
+
+      break;
+    case 23: //M23 - Select file
+      starpos = (strchr(strchr_pointer + 4,'*'));
+      if(starpos!=NULL)
+        *(starpos)='\0';
+      card.openFile(strchr_pointer + 4,true);
+      break;
+    case 24: //M24 - Start SD print
+      card.startFileprint();
+      starttime=millis();
+      break;
+    case 25: //M25 - Pause SD print
+      card.pauseSDPrint();
+      break;
+    case 26: //M26 - Set SD index
+      if(card.cardOK && code_seen('S')) {
+        card.setIndex(code_value_long());
+      }
+      break;
+    case 27: //M27 - Get SD status
+      card.getStatus();
+      break;
+    case 28: //M28 - Start SD write
+      starpos = (strchr(strchr_pointer + 4,'*'));
+      if(starpos != NULL){
+        char* npos = strchr(cmdbuffer[bufindr], 'N');
+        strchr_pointer = strchr(npos,' ') + 1;
+        *(starpos) = '\0';
+      }
+      card.openFile(strchr_pointer+4,false);
+      break;
+    case 29: //M29 - Stop SD write
+      //processed in write to file routine above
+      //card,saving = false;
+      break;
+    case 30: //M30 <filename> Delete File
+      if (card.cardOK){
+        card.closefile();
+        starpos = (strchr(strchr_pointer + 4,'*'));
+        if(starpos != NULL){
+          char* npos = strchr(cmdbuffer[bufindr], 'N');
+          strchr_pointer = strchr(npos,' ') + 1;
+          *(starpos) = '\0';
+        }
+        card.removeFile(strchr_pointer + 4);
+      }
+      break;
+    case 32: //M32 - Select file and start SD print
+    {
+      if(card.sdprinting) {
+        st_synchronize();
+
+      }
+      starpos = (strchr(strchr_pointer + 4,'*'));
+
+      char* namestartpos = (strchr(strchr_pointer + 4,'!'));   //find ! to indicate filename string start.
+      if(namestartpos==NULL)
+      {
+        namestartpos=strchr_pointer + 4; //default name position, 4 letters after the M
+      }
+      else
+        namestartpos++; //to skip the '!'
+
+      if(starpos!=NULL)
+        *(starpos)='\0';
+
+      bool call_procedure=(code_seen('P'));
+
+      if(strchr_pointer>namestartpos)
+        call_procedure=false;  //false alert, 'P' found within filename
+
+      if( card.cardOK )
+      {
+        card.openFile(namestartpos,true,!call_procedure);
+        if(code_seen('S'))
+          if(strchr_pointer<namestartpos) //only if "S" is occuring _before_ the filename
+            card.setIndex(code_value_long());
+        card.startFileprint();
+        if(!call_procedure)
+          starttime=millis(); //procedure calls count as normal print time.
+      }
+    } break;
+    case 928: //M928 - Start SD write
+      starpos = (strchr(strchr_pointer + 5,'*'));
+      if(starpos != NULL){
+        char* npos = strchr(cmdbuffer[bufindr], 'N');
+        strchr_pointer = strchr(npos,' ') + 1;
+        *(starpos) = '\0';
+      }
+      card.openLogFile(strchr_pointer+5);
+      break;
+
+#endif //SDSUPPORT
+
+    case 31: //M31 take time since the start of the SD print or an M109 command
+      {
+      stoptime=millis();
+      char time[30];
+      unsigned long t=(stoptime-starttime)/1000;
+      int sec,min;
+      min=t/60;
+      sec=t%60;
+      sprintf_P(time, PSTR("%i min, %i sec"), min, sec);
+      SERIAL_ECHO_START;
+      SERIAL_ECHOLN(time);
+      lcd_setstatus(time);
+      autotempShutdown();
+      }
+      break;
+    case 42: //M42 -Change pin status via gcode
+      if (code_seen('S'))
+      {
+        int pin_status = code_value();
+        int pin_number = LED_PIN;
+        if (code_seen('P') && pin_status >= 0 && pin_status <= 255)
+          pin_number = code_value();
+        for(int8_t i = 0; i < (int8_t)(sizeof(sensitive_pins)/sizeof(int)); i++)
+        {
+          if (sensitive_pins[i] == pin_number)
+          {
+            pin_number = -1;
+            break;
+          }
+        }
+      #if defined(FAN_PIN) && FAN_PIN > -1
+        if (pin_number == FAN_PIN)
+          fanSpeed = pin_status;
+      #endif
+        if (pin_number > -1)
+        {
+          pinMode(pin_number, OUTPUT);
+          digitalWrite(pin_number, pin_status);
+          analogWrite(pin_number, pin_status);
+        }
+      }
+     break;
+
+// M48 Z-Probe repeatability measurement function.
+//
+// Usage:   M48 <n #_samples> <X X_position_for_samples> <Y Y_position_for_samples> <V Verbose_Level> <Engage_probe_for_each_reading> <L legs_of_movement_prior_to_doing_probe>
+//	
+// This function assumes the bed has been homed.  Specificaly, that a G28 command
+// as been issued prior to invoking the M48 Z-Probe repeatability measurement function.
+// Any information generated by a prior G29 Bed leveling command will be lost and need to be
+// regenerated.
+//
+// The number of samples will default to 10 if not specified.  You can use upper or lower case
+// letters for any of the options EXCEPT n.  n must be in lower case because Marlin uses a capital
+// N for its communication protocol and will get horribly confused if you send it a capital N.
+//
+
+#ifdef ENABLE_AUTO_BED_LEVELING
+#ifdef Z_PROBE_REPEATABILITY_TEST 
+
+    case 48: // M48 Z-Probe repeatability
+        {
+            #if Z_MIN_PIN == -1
+            #error "You must have a Z_MIN endstop in order to enable calculation of Z-Probe repeatability."
+            #endif
+
+	double sum=0.0; 
+	double mean=0.0; 
+	double sigma=0.0;
+	double sample_set[50];
+	int verbose_level=1, n=0, j, n_samples = 10, n_legs=0, engage_probe_for_each_reading=0 ;
+	double X_current, Y_current, Z_current;
+	double X_probe_location, Y_probe_location, Z_start_location, ext_position;
+	
+	if (code_seen('V') || code_seen('v')) {
+        	verbose_level = code_value();
+		if (verbose_level<0 || verbose_level>4 ) {
+			SERIAL_PROTOCOLPGM("?Verbose Level not plausable.\n");
+			goto Sigma_Exit;
+		}
+	}
+
+	if (verbose_level > 0)   {
+		SERIAL_PROTOCOLPGM("M48 Z-Probe Repeatability test.   Version 2.00\n");
+		SERIAL_PROTOCOLPGM("Full support at: http://3dprintboard.com/forum.php\n");
+	}
+
+	if (code_seen('n')) {
+        	n_samples = code_value();
+		if (n_samples<4 || n_samples>50 ) {
+			SERIAL_PROTOCOLPGM("?Specified sample size not plausable.\n");
+			goto Sigma_Exit;
+		}
+	}
+
+	X_current = X_probe_location = st_get_position_mm(X_AXIS);
+	Y_current = Y_probe_location = st_get_position_mm(Y_AXIS);
+	Z_current = st_get_position_mm(Z_AXIS);
+	Z_start_location = st_get_position_mm(Z_AXIS) + Z_RAISE_BEFORE_PROBING;
+	ext_position	 = st_get_position_mm(E_AXIS);
+
+	if (code_seen('E') || code_seen('e') ) 
+		engage_probe_for_each_reading++;
+
+	if (code_seen('X') || code_seen('x') ) {
+        	X_probe_location = code_value() -  X_PROBE_OFFSET_FROM_EXTRUDER;
+		if (X_probe_location<X_MIN_POS || X_probe_location>X_MAX_POS ) {
+			SERIAL_PROTOCOLPGM("?Specified X position out of range.\n");
+			goto Sigma_Exit;
+		}
+	}
+
+	if (code_seen('Y') || code_seen('y') ) {
+        	Y_probe_location = code_value() -  Y_PROBE_OFFSET_FROM_EXTRUDER;
+		if (Y_probe_location<Y_MIN_POS || Y_probe_location>Y_MAX_POS ) {
+			SERIAL_PROTOCOLPGM("?Specified Y position out of range.\n");
+			goto Sigma_Exit;
+		}
+	}
+
+	if (code_seen('L') || code_seen('l') ) {
+        	n_legs = code_value();
+		if ( n_legs==1 ) 
+			n_legs = 2;
+		if ( n_legs<0 || n_legs>15 ) {
+			SERIAL_PROTOCOLPGM("?Specified number of legs in movement not plausable.\n");
+			goto Sigma_Exit;
+		}
+	}
+
+//
+// Do all the preliminary setup work.   First raise the probe.
+//
+
+        st_synchronize();
+        plan_bed_level_matrix.set_to_identity();
+	plan_buffer_line( X_current, Y_current, Z_start_location,
+			ext_position,
+    			homing_feedrate[Z_AXIS]/60,
+			active_extruder);
+        st_synchronize();
+
+//
+// Now get everything to the specified probe point So we can safely do a probe to
+// get us close to the bed.  If the Z-Axis is far from the bed, we don't want to 
+// use that as a starting point for each probe.
+//
+	if (verbose_level > 2) 
+		SERIAL_PROTOCOL("Positioning probe for the test.\n");
+
+	plan_buffer_line( X_probe_location, Y_probe_location, Z_start_location,
+			ext_position,
+    			homing_feedrate[X_AXIS]/60,
+			active_extruder);
+        st_synchronize();
+
+	current_position[X_AXIS] = X_current = st_get_position_mm(X_AXIS);
+	current_position[Y_AXIS] = Y_current = st_get_position_mm(Y_AXIS);
+	current_position[Z_AXIS] = Z_current = st_get_position_mm(Z_AXIS);
+	current_position[E_AXIS] = ext_position = st_get_position_mm(E_AXIS);
+
+// 
+// OK, do the inital probe to get us close to the bed.
+// Then retrace the right amount and use that in subsequent probes
+//
+
+        engage_z_probe();	
+
+	setup_for_endstop_move();
+	run_z_probe();
+
+	current_position[Z_AXIS] = Z_current = st_get_position_mm(Z_AXIS);
+	Z_start_location = st_get_position_mm(Z_AXIS) + Z_RAISE_BEFORE_PROBING;
+
+	plan_buffer_line( X_probe_location, Y_probe_location, Z_start_location,
+			ext_position,
+    			homing_feedrate[X_AXIS]/60,
+			active_extruder);
+        st_synchronize();
+	current_position[Z_AXIS] = Z_current = st_get_position_mm(Z_AXIS);
+
+	if (engage_probe_for_each_reading)
+        	retract_z_probe();
+
+        for( n=0; n<n_samples; n++) {
+
+		do_blocking_move_to( X_probe_location, Y_probe_location, Z_start_location); // Make sure we are at the probe location
+
+		if ( n_legs)  {
+		double radius=0.0, theta=0.0, x_sweep, y_sweep;
+		int rotational_direction, l;
+
+			rotational_direction = (unsigned long) millis() & 0x0001;			// clockwise or counter clockwise
+			radius = (unsigned long) millis() % (long) (X_MAX_LENGTH/4); 			// limit how far out to go 
+			theta = (float) ((unsigned long) millis() % (long) 360) / (360./(2*3.1415926));	// turn into radians
+
+//SERIAL_ECHOPAIR("starting radius: ",radius);
+//SERIAL_ECHOPAIR("   theta: ",theta);
+//SERIAL_ECHOPAIR("   direction: ",rotational_direction);
+//SERIAL_PROTOCOLLNPGM("");
+
+			for( l=0; l<n_legs-1; l++) {
+				if (rotational_direction==1)
+					theta += (float) ((unsigned long) millis() % (long) 20) / (360.0/(2*3.1415926)); // turn into radians
+				else
+					theta -= (float) ((unsigned long) millis() % (long) 20) / (360.0/(2*3.1415926)); // turn into radians
+
+				radius += (float) ( ((long) ((unsigned long) millis() % (long) 10)) - 5);
+				if ( radius<0.0 )
+					radius = -radius;
+
+				X_current = X_probe_location + cos(theta) * radius;
+				Y_current = Y_probe_location + sin(theta) * radius;
+
+				if ( X_current<X_MIN_POS)		// Make sure our X & Y are sane
+					 X_current = X_MIN_POS;
+				if ( X_current>X_MAX_POS)
+					 X_current = X_MAX_POS;
+
+				if ( Y_current<Y_MIN_POS)		// Make sure our X & Y are sane
+					 Y_current = Y_MIN_POS;
+				if ( Y_current>Y_MAX_POS)
+					 Y_current = Y_MAX_POS;
+
+				if (verbose_level>3 ) {
+					SERIAL_ECHOPAIR("x: ", X_current);
+					SERIAL_ECHOPAIR("y: ", Y_current);
+					SERIAL_PROTOCOLLNPGM("");
+				}
+
+				do_blocking_move_to( X_current, Y_current, Z_current );
+			}
+			do_blocking_move_to( X_probe_location, Y_probe_location, Z_start_location); // Go back to the probe location
+		}
+
+		if (engage_probe_for_each_reading)  {
+        		engage_z_probe();	
+          		delay(1000);
+		}
+
+		setup_for_endstop_move();
+                run_z_probe();
+
+		sample_set[n] = current_position[Z_AXIS];
+
+//
+// Get the current mean for the data points we have so far
+//
+		sum=0.0; 
+		for( j=0; j<=n; j++) {
+			sum = sum + sample_set[j];
+		}
+		mean = sum / (double (n+1));
+//
+// Now, use that mean to calculate the standard deviation for the
+// data points we have so far
+//
+
+		sum=0.0; 
+		for( j=0; j<=n; j++) {
+			sum = sum + (sample_set[j]-mean) * (sample_set[j]-mean);
+		}
+		sigma = sqrt( sum / (double (n+1)) );
+
+		if (verbose_level > 1) {
+			SERIAL_PROTOCOL(n+1);
+			SERIAL_PROTOCOL(" of ");
+			SERIAL_PROTOCOL(n_samples);
+			SERIAL_PROTOCOLPGM("   z: ");
+			SERIAL_PROTOCOL_F(current_position[Z_AXIS], 6);
+		}
+
+		if (verbose_level > 2) {
+			SERIAL_PROTOCOL(" mean: ");
+			SERIAL_PROTOCOL_F(mean,6);
+
+			SERIAL_PROTOCOL("   sigma: ");
+			SERIAL_PROTOCOL_F(sigma,6);
+		}
+
+		if (verbose_level > 0) 
+			SERIAL_PROTOCOLPGM("\n");
+
+		plan_buffer_line( X_probe_location, Y_probe_location, Z_start_location, 
+				  current_position[E_AXIS], homing_feedrate[Z_AXIS]/60, active_extruder);
+        	st_synchronize();
+
+		if (engage_probe_for_each_reading)  {
+        		retract_z_probe();	
+          		delay(1000);
+		}
+	}
+
+        retract_z_probe();
+	delay(1000);
+
+        clean_up_after_endstop_move();
+
+//      enable_endstops(true);
+
+	if (verbose_level > 0) {
+		SERIAL_PROTOCOLPGM("Mean: ");
+		SERIAL_PROTOCOL_F(mean, 6);
+		SERIAL_PROTOCOLPGM("\n");
+	}
+
+SERIAL_PROTOCOLPGM("Standard Deviation: ");
+SERIAL_PROTOCOL_F(sigma, 6);
+SERIAL_PROTOCOLPGM("\n\n");
+
+Sigma_Exit:
+        break;
+	}
+#endif		// Z_PROBE_REPEATABILITY_TEST 
+#endif		// ENABLE_AUTO_BED_LEVELING
+
+    case 104: // M104
+      if(setTargetedHotend(104)){
+        break;
+      }
+      if (code_seen('S')) setTargetHotend(code_value(), tmp_extruder);
+#ifdef DUAL_X_CARRIAGE
+      if (dual_x_carriage_mode == DXC_DUPLICATION_MODE && tmp_extruder == 0)
+        setTargetHotend1(code_value() == 0.0 ? 0.0 : code_value() + duplicate_extruder_temp_offset);
+#endif
+      setWatch();
+      break;
+    case 112: //  M112 -Emergency Stop
+      kill();
+      break;
+    case 140: // M140 set bed temp
+      if (code_seen('S')) setTargetBed(code_value());
+      break;
+    case 105 : // M105
+      if(setTargetedHotend(105)){
+        break;
+        }
+      #if defined(TEMP_0_PIN) && TEMP_0_PIN > -1
+        SERIAL_PROTOCOLPGM("ok T:");
+        SERIAL_PROTOCOL_F(degHotend(tmp_extruder),1);
+        SERIAL_PROTOCOLPGM(" /");
+        SERIAL_PROTOCOL_F(degTargetHotend(tmp_extruder),1);
+        #if defined(TEMP_BED_PIN) && TEMP_BED_PIN > -1
+          SERIAL_PROTOCOLPGM(" B:");
+          SERIAL_PROTOCOL_F(degBed(),1);
+          SERIAL_PROTOCOLPGM(" /");
+          SERIAL_PROTOCOL_F(degTargetBed(),1);
+        #endif //TEMP_BED_PIN
+        for (int8_t cur_extruder = 0; cur_extruder < EXTRUDERS; ++cur_extruder) {
+          SERIAL_PROTOCOLPGM(" T");
+          SERIAL_PROTOCOL(cur_extruder);
+          SERIAL_PROTOCOLPGM(":");
+          SERIAL_PROTOCOL_F(degHotend(cur_extruder),1);
+          SERIAL_PROTOCOLPGM(" /");
+          SERIAL_PROTOCOL_F(degTargetHotend(cur_extruder),1);
+        }
+      #else
+        SERIAL_ERROR_START;
+        SERIAL_ERRORLNPGM(MSG_ERR_NO_THERMISTORS);
+      #endif
+
+        SERIAL_PROTOCOLPGM(" @:");
+      #ifdef EXTRUDER_WATTS
+        SERIAL_PROTOCOL((EXTRUDER_WATTS * getHeaterPower(tmp_extruder))/127);
+        SERIAL_PROTOCOLPGM("W");
+      #else
+        SERIAL_PROTOCOL(getHeaterPower(tmp_extruder));
+      #endif
+
+        SERIAL_PROTOCOLPGM(" B@:");
+      #ifdef BED_WATTS
+        SERIAL_PROTOCOL((BED_WATTS * getHeaterPower(-1))/127);
+        SERIAL_PROTOCOLPGM("W");
+      #else
+        SERIAL_PROTOCOL(getHeaterPower(-1));
+      #endif
+
+        #ifdef SHOW_TEMP_ADC_VALUES
+          #if defined(TEMP_BED_PIN) && TEMP_BED_PIN > -1
+            SERIAL_PROTOCOLPGM("    ADC B:");
+            SERIAL_PROTOCOL_F(degBed(),1);
+            SERIAL_PROTOCOLPGM("C->");
+            SERIAL_PROTOCOL_F(rawBedTemp()/OVERSAMPLENR,0);
+          #endif
+          for (int8_t cur_extruder = 0; cur_extruder < EXTRUDERS; ++cur_extruder) {
+            SERIAL_PROTOCOLPGM("  T");
+            SERIAL_PROTOCOL(cur_extruder);
+            SERIAL_PROTOCOLPGM(":");
+            SERIAL_PROTOCOL_F(degHotend(cur_extruder),1);
+            SERIAL_PROTOCOLPGM("C->");
+            SERIAL_PROTOCOL_F(rawHotendTemp(cur_extruder)/OVERSAMPLENR,0);
+          }
+        #endif
+
+        SERIAL_PROTOCOLLN("");
+      return;
+      break;
+    case 109:
+    {// M109 - Wait for extruder heater to reach target.
+      if(setTargetedHotend(109)){
+        break;
+      }
+      LCD_MESSAGEPGM(MSG_HEATING);
+      #ifdef AUTOTEMP
+        autotemp_enabled=false;
+      #endif
+      if (code_seen('S')) {
+        setTargetHotend(code_value(), tmp_extruder);
+      #ifdef DUAL_X_CARRIAGE
+              if (dual_x_carriage_mode == DXC_DUPLICATION_MODE && tmp_extruder == 0)
+                setTargetHotend1(code_value() == 0.0 ? 0.0 : code_value() + duplicate_extruder_temp_offset);
+      #endif
+              CooldownNoWait = true;
+            } else if (code_seen('R')) {
+              setTargetHotend(code_value(), tmp_extruder);
+      #ifdef DUAL_X_CARRIAGE
+              if (dual_x_carriage_mode == DXC_DUPLICATION_MODE && tmp_extruder == 0)
+                setTargetHotend1(code_value() == 0.0 ? 0.0 : code_value() + duplicate_extruder_temp_offset);
+      #endif
+        CooldownNoWait = false;
+      }
+      #ifdef AUTOTEMP
+        if (code_seen('S')) autotemp_min=code_value();
+        if (code_seen('B')) autotemp_max=code_value();
+        if (code_seen('F'))
+        {
+          autotemp_factor=code_value();
+          autotemp_enabled=true;
+        }
+      #endif
+
+      setWatch();
+      codenum = millis();
+
+      /* See if we are heating up or cooling down */
+      target_direction = isHeatingHotend(tmp_extruder); // true if heating, false if cooling
+
+      cancel_heatup = false;
+
+      #ifdef TEMP_RESIDENCY_TIME
+        long residencyStart;
+        residencyStart = -1;
+        /* continue to loop until we have reached the target temp
+          _and_ until TEMP_RESIDENCY_TIME hasn't passed since we reached it */
+        while((!cancel_heatup)&&((residencyStart == -1) ||
+              (residencyStart >= 0 && (((unsigned int) (millis() - residencyStart)) < (TEMP_RESIDENCY_TIME * 1000UL)))) ) {
+      #else
+        while ( target_direction ? (isHeatingHotend(tmp_extruder)) : (isCoolingHotend(tmp_extruder)&&(CooldownNoWait==false)) ) {
+      #endif //TEMP_RESIDENCY_TIME
+          if( (millis() - codenum) > 1000UL )
+          { //Print Temp Reading and remaining time every 1 second while heating up/cooling down
+            SERIAL_PROTOCOLPGM("T:");
+            SERIAL_PROTOCOL_F(degHotend(tmp_extruder),1);
+            SERIAL_PROTOCOLPGM(" E:");
+            SERIAL_PROTOCOL((int)tmp_extruder);
+            #ifdef TEMP_RESIDENCY_TIME
+              SERIAL_PROTOCOLPGM(" W:");
+              if(residencyStart > -1)
+              {
+                 codenum = ((TEMP_RESIDENCY_TIME * 1000UL) - (millis() - residencyStart)) / 1000UL;
+                 SERIAL_PROTOCOLLN( codenum );
+              }
+              else
+              {
+                 SERIAL_PROTOCOLLN( "?" );
+              }
+            #else
+              SERIAL_PROTOCOLLN("");
+            #endif
+            codenum = millis();
+          }
+          manage_heater();
+          manage_inactivity();
+          lcd_update();
+        #ifdef TEMP_RESIDENCY_TIME
+            /* start/restart the TEMP_RESIDENCY_TIME timer whenever we reach target temp for the first time
+              or when current temp falls outside the hysteresis after target temp was reached */
+          if ((residencyStart == -1 &&  target_direction && (degHotend(tmp_extruder) >= (degTargetHotend(tmp_extruder)-TEMP_WINDOW))) ||
+              (residencyStart == -1 && !target_direction && (degHotend(tmp_extruder) <= (degTargetHotend(tmp_extruder)+TEMP_WINDOW))) ||
+              (residencyStart > -1 && labs(degHotend(tmp_extruder) - degTargetHotend(tmp_extruder)) > TEMP_HYSTERESIS) )
+          {
+            residencyStart = millis();
+          }
+        #endif //TEMP_RESIDENCY_TIME
+        }
+        LCD_MESSAGEPGM(MSG_HEATING_COMPLETE);
+
+        if(IS_SD_PRINTING){
+         
+          lcd_setstatus("SD-PRINTING         ");
+        }
+
+        starttime=millis();
+        previous_millis_cmd = millis();
+      }
+      break;
+    case 190: // M190 - Wait for bed heater to reach target.
+    #if defined(TEMP_BED_PIN) && TEMP_BED_PIN > -1
+        LCD_MESSAGEPGM(MSG_BED_HEATING);
+        if (code_seen('S')) {
+          setTargetBed(code_value());
+          CooldownNoWait = true;
+        } else if (code_seen('R')) {
+          setTargetBed(code_value());
+          CooldownNoWait = false;
+        }
+        codenum = millis();
+        
+        cancel_heatup = false;
+        target_direction = isHeatingBed(); // true if heating, false if cooling
+
+        while ( (target_direction)&&(!cancel_heatup) ? (isHeatingBed()) : (isCoolingBed()&&(CooldownNoWait==false)) )
+        {
+          if(( millis() - codenum) > 1000 ) //Print Temp Reading every 1 second while heating up.
+          {
+            float tt=degHotend(active_extruder);
+            SERIAL_PROTOCOLPGM("T:");
+            SERIAL_PROTOCOL(tt);
+            SERIAL_PROTOCOLPGM(" E:");
+            SERIAL_PROTOCOL((int)active_extruder);
+            SERIAL_PROTOCOLPGM(" B:");
+            SERIAL_PROTOCOL_F(degBed(),1);
+            SERIAL_PROTOCOLLN("");
+            codenum = millis();
+          }
+          manage_heater();
+          manage_inactivity();
+          lcd_update();
+        }
+        LCD_MESSAGEPGM(MSG_BED_DONE);
+        if(IS_SD_PRINTING){
+         
+          lcd_setstatus("SD-PRINTING         ");
+        }
+        previous_millis_cmd = millis();
+    #endif
+        break;
+
+    #if defined(FAN_PIN) && FAN_PIN > -1
+      case 106: //M106 Fan On
+        if (code_seen('S')){
+           fanSpeed=constrain(code_value(),0,255);
+        }
+        else {
+          fanSpeed=255;
+        }
+        break;
+      case 107: //M107 Fan Off
+        fanSpeed = 0;
+        break;
+    #endif //FAN_PIN
+    #ifdef BARICUDA
+      // PWM for HEATER_1_PIN
+      #if defined(HEATER_1_PIN) && HEATER_1_PIN > -1
+        case 126: //M126 valve open
+          if (code_seen('S')){
+             ValvePressure=constrain(code_value(),0,255);
+          }
+          else {
+            ValvePressure=255;
+          }
+          break;
+        case 127: //M127 valve closed
+          ValvePressure = 0;
+          break;
+      #endif //HEATER_1_PIN
+
+      // PWM for HEATER_2_PIN
+      #if defined(HEATER_2_PIN) && HEATER_2_PIN > -1
+        case 128: //M128 valve open
+          if (code_seen('S')){
+             EtoPPressure=constrain(code_value(),0,255);
+          }
+          else {
+            EtoPPressure=255;
+          }
+          break;
+        case 129: //M129 valve closed
+          EtoPPressure = 0;
+          break;
+      #endif //HEATER_2_PIN
+    #endif
+
+    #if defined(PS_ON_PIN) && PS_ON_PIN > -1
+      case 80: // M80 - Turn on Power Supply
+        SET_OUTPUT(PS_ON_PIN); //GND
+        WRITE(PS_ON_PIN, PS_ON_AWAKE);
+
+        // If you have a switch on suicide pin, this is useful
+        // if you want to start another print with suicide feature after
+        // a print without suicide...
+        #if defined SUICIDE_PIN && SUICIDE_PIN > -1
+            SET_OUTPUT(SUICIDE_PIN);
+            WRITE(SUICIDE_PIN, HIGH);
+        #endif
+
+        #ifdef ULTIPANEL
+          powersupply = true;
+          LCD_MESSAGEPGM(WELCOME_MSG);
+          lcd_update();
+        #endif
+        break;
+      #endif
+
+      case 81: // M81 - Turn off Power Supply
+        disable_heater();
+        st_synchronize();
+        disable_e0();
+        disable_e1();
+        disable_e2();
+        finishAndDisableSteppers();
+        fanSpeed = 0;
+        delay(1000); // Wait a little before to switch off
+      #if defined(SUICIDE_PIN) && SUICIDE_PIN > -1
+        st_synchronize();
+        suicide();
+      #elif defined(PS_ON_PIN) && PS_ON_PIN > -1
+        SET_OUTPUT(PS_ON_PIN);
+        WRITE(PS_ON_PIN, PS_ON_ASLEEP);
+      #endif
+      #ifdef ULTIPANEL
+        powersupply = false;
+        LCD_MESSAGEPGM(MACHINE_NAME" "MSG_OFF".");
+        lcd_update();
+      #endif
+	  break;
+
+    case 82:
+      axis_relative_modes[3] = false;
+      break;
+    case 83:
+      axis_relative_modes[3] = true;
+      break;
+    case 18: //compatibility
+    case 84: // M84
+      if(code_seen('S')){
+        stepper_inactive_time = code_value() * 1000;
+      }
+      else
+      {
+        bool all_axis = !((code_seen(axis_codes[X_AXIS])) || (code_seen(axis_codes[Y_AXIS])) || (code_seen(axis_codes[Z_AXIS]))|| (code_seen(axis_codes[E_AXIS])));
+        if(all_axis)
+        {
+          st_synchronize();
+          disable_e0();
+          disable_e1();
+          disable_e2();
+          finishAndDisableSteppers();
+        }
+        else
+        {
+          st_synchronize();
+          if(code_seen('X')) disable_x();
+          if(code_seen('Y')) disable_y();
+          if(code_seen('Z')) disable_z();
+          #if ((E0_ENABLE_PIN != X_ENABLE_PIN) && (E1_ENABLE_PIN != Y_ENABLE_PIN)) // Only enable on boards that have seperate ENABLE_PINS
+            if(code_seen('E')) {
+              disable_e0();
+              disable_e1();
+              disable_e2();
+            }
+          #endif
+        }
+      }
+      break;
+    case 85: // M85
+      if(code_seen('S')) {
+        max_inactive_time = code_value() * 1000;
+      }
+      break;
+    case 92: // M92
+      for(int8_t i=0; i < NUM_AXIS; i++)
+      {
+        if(code_seen(axis_codes[i]))
+        {
+          if(i == 3) { // E
+            float value = code_value();
+            if(value < 20.0) {
+              float factor = axis_steps_per_unit[i] / value; // increase e constants if M92 E14 is given for netfab.
+              max_e_jerk *= factor;
+              max_feedrate[i] *= factor;
+              axis_steps_per_sqr_second[i] *= factor;
+            }
+            axis_steps_per_unit[i] = value;
+          }
+          else {
+            axis_steps_per_unit[i] = code_value();
+          }
+        }
+      }
+      break;
+    case 115: // M115
+      SERIAL_PROTOCOLPGM(MSG_M115_REPORT);
+      break;
+    case 117: // M117 display message
+      starpos = (strchr(strchr_pointer + 5,'*'));
+      if(starpos!=NULL)
+        *(starpos)='\0';
+      lcd_setstatus(strchr_pointer + 5);
+      break;
+    case 114: // M114
+      SERIAL_PROTOCOLPGM("X:");
+      SERIAL_PROTOCOL(current_position[X_AXIS]);
+      SERIAL_PROTOCOLPGM(" Y:");
+      SERIAL_PROTOCOL(current_position[Y_AXIS]);
+      SERIAL_PROTOCOLPGM(" Z:");
+      SERIAL_PROTOCOL(current_position[Z_AXIS]);
+      SERIAL_PROTOCOLPGM(" E:");
+      SERIAL_PROTOCOL(current_position[E_AXIS]);
+
+      SERIAL_PROTOCOLPGM(MSG_COUNT_X);
+      SERIAL_PROTOCOL(float(st_get_position(X_AXIS))/axis_steps_per_unit[X_AXIS]);
+      SERIAL_PROTOCOLPGM(" Y:");
+      SERIAL_PROTOCOL(float(st_get_position(Y_AXIS))/axis_steps_per_unit[Y_AXIS]);
+      SERIAL_PROTOCOLPGM(" Z:");
+      SERIAL_PROTOCOL(float(st_get_position(Z_AXIS))/axis_steps_per_unit[Z_AXIS]);
+
+      SERIAL_PROTOCOLLN("");
+#ifdef SCARA
+	  SERIAL_PROTOCOLPGM("SCARA Theta:");
+      SERIAL_PROTOCOL(delta[X_AXIS]);
+      SERIAL_PROTOCOLPGM("   Psi+Theta:");
+      SERIAL_PROTOCOL(delta[Y_AXIS]);
+      SERIAL_PROTOCOLLN("");
+      
+      SERIAL_PROTOCOLPGM("SCARA Cal - Theta:");
+      SERIAL_PROTOCOL(delta[X_AXIS]+add_homing[X_AXIS]);
+      SERIAL_PROTOCOLPGM("   Psi+Theta (90):");
+      SERIAL_PROTOCOL(delta[Y_AXIS]-delta[X_AXIS]-90+add_homing[Y_AXIS]);
+      SERIAL_PROTOCOLLN("");
+      
+      SERIAL_PROTOCOLPGM("SCARA step Cal - Theta:");
+      SERIAL_PROTOCOL(delta[X_AXIS]/90*axis_steps_per_unit[X_AXIS]);
+      SERIAL_PROTOCOLPGM("   Psi+Theta:");
+      SERIAL_PROTOCOL((delta[Y_AXIS]-delta[X_AXIS])/90*axis_steps_per_unit[Y_AXIS]);
+      SERIAL_PROTOCOLLN("");
+      SERIAL_PROTOCOLLN("");
+#endif
+      break;
+    case 120: // M120
+      enable_endstops(false) ;
+      break;
+    case 121: // M121
+      enable_endstops(true) ;
+      break;
+    case 119: // M119
+    SERIAL_PROTOCOLLN(MSG_M119_REPORT);
+      #if defined(X_MIN_PIN) && X_MIN_PIN > -1
+        SERIAL_PROTOCOLPGM(MSG_X_MIN);
+        SERIAL_PROTOCOLLN(((READ(X_MIN_PIN)^X_MIN_ENDSTOP_INVERTING)?MSG_ENDSTOP_HIT:MSG_ENDSTOP_OPEN));
+      #endif
+      #if defined(X_MAX_PIN) && X_MAX_PIN > -1
+        SERIAL_PROTOCOLPGM(MSG_X_MAX);
+        SERIAL_PROTOCOLLN(((READ(X_MAX_PIN)^X_MAX_ENDSTOP_INVERTING)?MSG_ENDSTOP_HIT:MSG_ENDSTOP_OPEN));
+      #endif
+      #if defined(Y_MIN_PIN) && Y_MIN_PIN > -1
+        SERIAL_PROTOCOLPGM(MSG_Y_MIN);
+        SERIAL_PROTOCOLLN(((READ(Y_MIN_PIN)^Y_MIN_ENDSTOP_INVERTING)?MSG_ENDSTOP_HIT:MSG_ENDSTOP_OPEN));
+      #endif
+      #if defined(Y_MAX_PIN) && Y_MAX_PIN > -1
+        SERIAL_PROTOCOLPGM(MSG_Y_MAX);
+        SERIAL_PROTOCOLLN(((READ(Y_MAX_PIN)^Y_MAX_ENDSTOP_INVERTING)?MSG_ENDSTOP_HIT:MSG_ENDSTOP_OPEN));
+      #endif
+      #if defined(Z_MIN_PIN) && Z_MIN_PIN > -1
+        SERIAL_PROTOCOLPGM(MSG_Z_MIN);
+        SERIAL_PROTOCOLLN(((READ(Z_MIN_PIN)^Z_MIN_ENDSTOP_INVERTING)?MSG_ENDSTOP_HIT:MSG_ENDSTOP_OPEN));
+      #endif
+      #if defined(Z_MAX_PIN) && Z_MAX_PIN > -1
+        SERIAL_PROTOCOLPGM(MSG_Z_MAX);
+        SERIAL_PROTOCOLLN(((READ(Z_MAX_PIN)^Z_MAX_ENDSTOP_INVERTING)?MSG_ENDSTOP_HIT:MSG_ENDSTOP_OPEN));
+      #endif
+      break;
+      //TODO: update for all axis, use for loop
+    #ifdef BLINKM
+    case 150: // M150
+      {
+        byte red;
+        byte grn;
+        byte blu;
+
+        if(code_seen('R')) red = code_value();
+        if(code_seen('U')) grn = code_value();
+        if(code_seen('B')) blu = code_value();
+
+        SendColors(red,grn,blu);
+      }
+      break;
+    #endif //BLINKM
+    case 200: // M200 D<millimeters> set filament diameter and set E axis units to cubic millimeters (use S0 to set back to millimeters).
+      {
+
+        tmp_extruder = active_extruder;
+        if(code_seen('T')) {
+          tmp_extruder = code_value();
+          if(tmp_extruder >= EXTRUDERS) {
+            SERIAL_ECHO_START;
+            SERIAL_ECHO(MSG_M200_INVALID_EXTRUDER);
+            break;
+          }
+        }
+
+        float area = .0;
+        if(code_seen('D')) {
+		  float diameter = (float)code_value();
+		  if (diameter == 0.0) {
+			// setting any extruder filament size disables volumetric on the assumption that
+			// slicers either generate in extruder values as cubic mm or as as filament feeds
+			// for all extruders
+		    volumetric_enabled = false;
+		  } else {
+            filament_size[tmp_extruder] = (float)code_value();
+			// make sure all extruders have some sane value for the filament size
+			filament_size[0] = (filament_size[0] == 0.0 ? DEFAULT_NOMINAL_FILAMENT_DIA : filament_size[0]);
+            #if EXTRUDERS > 1
+			filament_size[1] = (filament_size[1] == 0.0 ? DEFAULT_NOMINAL_FILAMENT_DIA : filament_size[1]);
+            #if EXTRUDERS > 2
+			filament_size[2] = (filament_size[2] == 0.0 ? DEFAULT_NOMINAL_FILAMENT_DIA : filament_size[2]);
+            #endif
+            #endif
+			volumetric_enabled = true;
+		  }
+        } else {
+          //reserved for setting filament diameter via UFID or filament measuring device
+          break;
+        }
+		calculate_volumetric_multipliers();
+      }
+      break;
+    case 201: // M201
+      for(int8_t i=0; i < NUM_AXIS; i++)
+      {
+        if(code_seen(axis_codes[i]))
+        {
+          max_acceleration_units_per_sq_second[i] = code_value();
+        }
+      }
+      // steps per sq second need to be updated to agree with the units per sq second (as they are what is used in the planner)
+      reset_acceleration_rates();
+      break;
+    #if 0 // Not used for Sprinter/grbl gen6
+    case 202: // M202
+      for(int8_t i=0; i < NUM_AXIS; i++) {
+        if(code_seen(axis_codes[i])) axis_travel_steps_per_sqr_second[i] = code_value() * axis_steps_per_unit[i];
+      }
+      break;
+    #endif
+    case 203: // M203 max feedrate mm/sec
+      for(int8_t i=0; i < NUM_AXIS; i++) {
+        if(code_seen(axis_codes[i])) max_feedrate[i] = code_value();
+      }
+      break;
+    case 204: // M204 acclereration S normal moves T filmanent only moves
+      {
+        if(code_seen('S')) acceleration = code_value() ;
+        if(code_seen('T')) retract_acceleration = code_value() ;
+      }
+      break;
+    case 205: //M205 advanced settings:  minimum travel speed S=while printing T=travel only,  B=minimum segment time X= maximum xy jerk, Z=maximum Z jerk
+    {
+      if(code_seen('S')) minimumfeedrate = code_value();
+      if(code_seen('T')) mintravelfeedrate = code_value();
+      if(code_seen('B')) minsegmenttime = code_value() ;
+      if(code_seen('X')) max_xy_jerk = code_value() ;
+      if(code_seen('Z')) max_z_jerk = code_value() ;
+      if(code_seen('E')) max_e_jerk = code_value() ;
+    }
+    break;
+    case 206: // M206 additional homing offset
+      for(int8_t i=0; i < 3; i++)
+      {
+        if(code_seen(axis_codes[i])) add_homing[i] = code_value();
+      }
+	  #ifdef SCARA
+	   if(code_seen('T'))       // Theta
+      {
+        add_homing[X_AXIS] = code_value() ;
+      }
+      if(code_seen('P'))       // Psi
+      {
+        add_homing[Y_AXIS] = code_value() ;
+      }
+	  #endif
+      break;
+    #ifdef DELTA
+	case 665: // M665 set delta configurations L<diagonal_rod> R<delta_radius> S<segments_per_sec>
+		if(code_seen('L')) {
+			delta_diagonal_rod= code_value();
+		}
+		if(code_seen('R')) {
+			delta_radius= code_value();
+		}
+		if(code_seen('S')) {
+			delta_segments_per_second= code_value();
+		}
+		
+		recalc_delta_settings(delta_radius, delta_diagonal_rod);
+		break;
+    case 666: // M666 set delta endstop adjustemnt
+      for(int8_t i=0; i < 3; i++)
+      {
+        if(code_seen(axis_codes[i])) endstop_adj[i] = code_value();
+      }
+      break;
+    #endif
+    #ifdef FWRETRACT
+    case 207: //M207 - set retract length S[positive mm] F[feedrate mm/min] Z[additional zlift/hop]
+    {
+      if(code_seen('S'))
+      {
+        retract_length = code_value() ;
+      }
+      if(code_seen('F'))
+      {
+        retract_feedrate = code_value()/60 ;
+      }
+      if(code_seen('Z'))
+      {
+        retract_zlift = code_value() ;
+      }
+    }break;
+    case 208: // M208 - set retract recover length S[positive mm surplus to the M207 S*] F[feedrate mm/min]
+    {
+      if(code_seen('S'))
+      {
+        retract_recover_length = code_value() ;
+      }
+      if(code_seen('F'))
+      {
+        retract_recover_feedrate = code_value()/60 ;
+      }
+    }break;
+    case 209: // M209 - S<1=true/0=false> enable automatic retract detect if the slicer did not support G10/11: every normal extrude-only move will be classified as retract depending on the direction.
+    {
+      if(code_seen('S'))
+      {
+        int t= code_value() ;
+        switch(t)
+        {
+          case 0: 
+          {
+            autoretract_enabled=false;
+            retracted[0]=false;
+            #if EXTRUDERS > 1
+              retracted[1]=false;
+            #endif
+            #if EXTRUDERS > 2
+              retracted[2]=false;
+            #endif
+          }break;
+          case 1: 
+          {
+            autoretract_enabled=true;
+            retracted[0]=false;
+            #if EXTRUDERS > 1
+              retracted[1]=false;
+            #endif
+            #if EXTRUDERS > 2
+              retracted[2]=false;
+            #endif
+          }break;
+          default:
+            SERIAL_ECHO_START;
+            SERIAL_ECHOPGM(MSG_UNKNOWN_COMMAND);
+            SERIAL_ECHO(cmdbuffer[bufindr]);
+            SERIAL_ECHOLNPGM("\"");
+        }
+      }
+
+    }break;
+    #endif // FWRETRACT
+    #if EXTRUDERS > 1
+    case 218: // M218 - set hotend offset (in mm), T<extruder_number> X<offset_on_X> Y<offset_on_Y>
+    {
+      if(setTargetedHotend(218)){
+        break;
+      }
+      if(code_seen('X'))
+      {
+        extruder_offset[X_AXIS][tmp_extruder] = code_value();
+      }
+      if(code_seen('Y'))
+      {
+        extruder_offset[Y_AXIS][tmp_extruder] = code_value();
+      }
+      #ifdef DUAL_X_CARRIAGE
+      if(code_seen('Z'))
+      {
+        extruder_offset[Z_AXIS][tmp_extruder] = code_value();
+      }
+      #endif
+      SERIAL_ECHO_START;
+      SERIAL_ECHOPGM(MSG_HOTEND_OFFSET);
+      for(tmp_extruder = 0; tmp_extruder < EXTRUDERS; tmp_extruder++)
+      {
+         SERIAL_ECHO(" ");
+         SERIAL_ECHO(extruder_offset[X_AXIS][tmp_extruder]);
+         SERIAL_ECHO(",");
+         SERIAL_ECHO(extruder_offset[Y_AXIS][tmp_extruder]);
+      #ifdef DUAL_X_CARRIAGE
+         SERIAL_ECHO(",");
+         SERIAL_ECHO(extruder_offset[Z_AXIS][tmp_extruder]);
+      #endif
+      }
+      SERIAL_ECHOLN("");
+    }break;
+    #endif
+    case 220: // M220 S<factor in percent>- set speed factor override percentage
+    {
+      if(code_seen('S'))
+      {
+        feedmultiply = code_value() ;
+      }
+    }
+    break;
+    case 221: // M221 S<factor in percent>- set extrude factor override percentage
+    {
+      if(code_seen('S'))
+      {
+        int tmp_code = code_value();
+        if (code_seen('T'))
+        {
+          if(setTargetedHotend(221)){
+            break;
+          }
+          extruder_multiply[tmp_extruder] = tmp_code;
+        }
+        else
+        {
+          extrudemultiply = tmp_code ;
+        }
+      }
+    }
+    break;
+
+	case 226: // M226 P<pin number> S<pin state>- Wait until the specified pin reaches the state required
+	{
+      if(code_seen('P')){
+        int pin_number = code_value(); // pin number
+        int pin_state = -1; // required pin state - default is inverted
+
+        if(code_seen('S')) pin_state = code_value(); // required pin state
+
+        if(pin_state >= -1 && pin_state <= 1){
+
+          for(int8_t i = 0; i < (int8_t)(sizeof(sensitive_pins)/sizeof(int)); i++)
+          {
+            if (sensitive_pins[i] == pin_number)
+            {
+              pin_number = -1;
+              break;
+            }
+          }
+
+          if (pin_number > -1)
+          {
+            int target = LOW;
+
+            st_synchronize();
+
+            pinMode(pin_number, INPUT);
+
+            switch(pin_state){
+            case 1:
+              target = HIGH;
+              break;
+
+            case 0:
+              target = LOW;
+              break;
+
+            case -1:
+              target = !digitalRead(pin_number);
+              break;
+            }
+
+            while(digitalRead(pin_number) != target){
+              manage_heater();
+              manage_inactivity();
+              lcd_update();
+            }
+          }
+        }
+      }
+    }
+    break;
+
+    #if NUM_SERVOS > 0
+    case 280: // M280 - set servo position absolute. P: servo index, S: angle or microseconds
+      {
+        int servo_index = -1;
+        int servo_position = 0;
+        if (code_seen('P'))
+          servo_index = code_value();
+        if (code_seen('S')) {
+          servo_position = code_value();
+          if ((servo_index >= 0) && (servo_index < NUM_SERVOS)) {
+#if defined (ENABLE_AUTO_BED_LEVELING) && (PROBE_SERVO_DEACTIVATION_DELAY > 0)
+		      servos[servo_index].attach(0);
+#endif
+            servos[servo_index].write(servo_position);
+#if defined (ENABLE_AUTO_BED_LEVELING) && (PROBE_SERVO_DEACTIVATION_DELAY > 0)
+              delay(PROBE_SERVO_DEACTIVATION_DELAY);
+              servos[servo_index].detach();
+#endif
+          }
+          else {
+            SERIAL_ECHO_START;
+            SERIAL_ECHO("Servo ");
+            SERIAL_ECHO(servo_index);
+            SERIAL_ECHOLN(" out of range");
+          }
+        }
+        else if (servo_index >= 0) {
+          SERIAL_PROTOCOL(MSG_OK);
+          SERIAL_PROTOCOL(" Servo ");
+          SERIAL_PROTOCOL(servo_index);
+          SERIAL_PROTOCOL(": ");
+          SERIAL_PROTOCOL(servos[servo_index].read());
+          SERIAL_PROTOCOLLN("");
+        }
+      }
+      break;
+    #endif // NUM_SERVOS > 0
+
+    #if (LARGE_FLASH == true && ( BEEPER > 0 || defined(ULTRALCD) || defined(LCD_USE_I2C_BUZZER)))
+    case 300: // M300
+    {
+      int beepS = code_seen('S') ? code_value() : 110;
+      int beepP = code_seen('P') ? code_value() : 1000;
+      if (beepS > 0)
+      {
+        #if BEEPER > 0
+          tone(BEEPER, beepS);
+          delay(beepP);
+          noTone(BEEPER);
+        #elif defined(ULTRALCD)
+		  lcd_buzz(beepS, beepP);
+		#elif defined(LCD_USE_I2C_BUZZER)
+		  lcd_buzz(beepP, beepS);
+        #endif
+      }
+      else
+      {
+        delay(beepP);
+      }
+    }
+    break;
+    #endif // M300
+
+    #ifdef PIDTEMP
+    case 301: // M301
+      {
+        if(code_seen('P')) Kp = code_value();
+        if(code_seen('I')) Ki = scalePID_i(code_value());
+        if(code_seen('D')) Kd = scalePID_d(code_value());
+
+        #ifdef PID_ADD_EXTRUSION_RATE
+        if(code_seen('C')) Kc = code_value();
+        #endif
+
+        updatePID();
+        SERIAL_PROTOCOL(MSG_OK);
+        SERIAL_PROTOCOL(" p:");
+        SERIAL_PROTOCOL(Kp);
+        SERIAL_PROTOCOL(" i:");
+        SERIAL_PROTOCOL(unscalePID_i(Ki));
+        SERIAL_PROTOCOL(" d:");
+        SERIAL_PROTOCOL(unscalePID_d(Kd));
+        #ifdef PID_ADD_EXTRUSION_RATE
+        SERIAL_PROTOCOL(" c:");
+        //Kc does not have scaling applied above, or in resetting defaults
+        SERIAL_PROTOCOL(Kc);
+        #endif
+        SERIAL_PROTOCOLLN("");
+      }
+      break;
+    #endif //PIDTEMP
+    #ifdef PIDTEMPBED
+    case 304: // M304
+      {
+        if(code_seen('P')) bedKp = code_value();
+        if(code_seen('I')) bedKi = scalePID_i(code_value());
+        if(code_seen('D')) bedKd = scalePID_d(code_value());
+
+        updatePID();
+        SERIAL_PROTOCOL(MSG_OK);
+        SERIAL_PROTOCOL(" p:");
+        SERIAL_PROTOCOL(bedKp);
+        SERIAL_PROTOCOL(" i:");
+        SERIAL_PROTOCOL(unscalePID_i(bedKi));
+        SERIAL_PROTOCOL(" d:");
+        SERIAL_PROTOCOL(unscalePID_d(bedKd));
+        SERIAL_PROTOCOLLN("");
+      }
+      break;
+    #endif //PIDTEMP
+    case 240: // M240  Triggers a camera by emulating a Canon RC-1 : http://www.doc-diy.net/photo/rc-1_hacked/
+     {
+     	#ifdef CHDK
+       
+         SET_OUTPUT(CHDK);
+         WRITE(CHDK, HIGH);
+         chdkHigh = millis();
+         chdkActive = true;
+       
+       #else
+     	
+      	#if defined(PHOTOGRAPH_PIN) && PHOTOGRAPH_PIN > -1
+	const uint8_t NUM_PULSES=16;
+	const float PULSE_LENGTH=0.01524;
+	for(int i=0; i < NUM_PULSES; i++) {
+        WRITE(PHOTOGRAPH_PIN, HIGH);
+        _delay_ms(PULSE_LENGTH);
+        WRITE(PHOTOGRAPH_PIN, LOW);
+        _delay_ms(PULSE_LENGTH);
+        }
+        delay(7.33);
+        for(int i=0; i < NUM_PULSES; i++) {
+        WRITE(PHOTOGRAPH_PIN, HIGH);
+        _delay_ms(PULSE_LENGTH);
+        WRITE(PHOTOGRAPH_PIN, LOW);
+        _delay_ms(PULSE_LENGTH);
+        }
+      	#endif
+      #endif //chdk end if
+     }
+    break;
+#ifdef DOGLCD
+    case 250: // M250  Set LCD contrast value: C<value> (value 0..63)
+     {
+	  if (code_seen('C')) {
+	   lcd_setcontrast( ((int)code_value())&63 );
+          }
+          SERIAL_PROTOCOLPGM("lcd contrast value: ");
+          SERIAL_PROTOCOL(lcd_contrast);
+          SERIAL_PROTOCOLLN("");
+     }
+    break;
+#endif
+    #ifdef PREVENT_DANGEROUS_EXTRUDE
+    case 302: // allow cold extrudes, or set the minimum extrude temperature
+    {
+	  float temp = .0;
+	  if (code_seen('S')) temp=code_value();
+      set_extrude_min_temp(temp);
+    }
+    break;
+	#endif
+    case 303: // M303 PID autotune
+    {
+      float temp = 150.0;
+      int e=0;
+      int c=5;
+      if (code_seen('E')) e=code_value();
+        if (e<0)
+          temp=70;
+      if (code_seen('S')) temp=code_value();
+      if (code_seen('C')) c=code_value();
+      PID_autotune(temp, e, c);
+    }
+    break;
+	#ifdef SCARA
+	case 360:  // M360 SCARA Theta pos1
+      SERIAL_ECHOLN(" Cal: Theta 0 ");
+      //SoftEndsEnabled = false;              // Ignore soft endstops during calibration
+      //SERIAL_ECHOLN(" Soft endstops disabled ");
+      if(Stopped == false) {
+        //get_coordinates(); // For X Y Z E F
+        delta[X_AXIS] = 0;
+        delta[Y_AXIS] = 120;
+        calculate_SCARA_forward_Transform(delta);
+        destination[X_AXIS] = delta[X_AXIS]/axis_scaling[X_AXIS];
+        destination[Y_AXIS] = delta[Y_AXIS]/axis_scaling[Y_AXIS];
+        
+        prepare_move();
+        //ClearToSend();
+        return;
+      }
+    break;
+
+    case 361:  // SCARA Theta pos2
+      SERIAL_ECHOLN(" Cal: Theta 90 ");
+      //SoftEndsEnabled = false;              // Ignore soft endstops during calibration
+      //SERIAL_ECHOLN(" Soft endstops disabled ");
+      if(Stopped == false) {
+        //get_coordinates(); // For X Y Z E F
+        delta[X_AXIS] = 90;
+        delta[Y_AXIS] = 130;
+        calculate_SCARA_forward_Transform(delta);
+        destination[X_AXIS] = delta[X_AXIS]/axis_scaling[X_AXIS];
+        destination[Y_AXIS] = delta[Y_AXIS]/axis_scaling[Y_AXIS];
+        
+        prepare_move();
+        //ClearToSend();
+        return;
+      }
+    break;
+    case 362:  // SCARA Psi pos1
+      SERIAL_ECHOLN(" Cal: Psi 0 ");
+      //SoftEndsEnabled = false;              // Ignore soft endstops during calibration
+      //SERIAL_ECHOLN(" Soft endstops disabled ");
+      if(Stopped == false) {
+        //get_coordinates(); // For X Y Z E F
+        delta[X_AXIS] = 60;
+        delta[Y_AXIS] = 180;
+        calculate_SCARA_forward_Transform(delta);
+        destination[X_AXIS] = delta[X_AXIS]/axis_scaling[X_AXIS];
+        destination[Y_AXIS] = delta[Y_AXIS]/axis_scaling[Y_AXIS];
+        
+        prepare_move();
+        //ClearToSend();
+        return;
+      }
+    break;
+    case 363:  // SCARA Psi pos2
+      SERIAL_ECHOLN(" Cal: Psi 90 ");
+      //SoftEndsEnabled = false;              // Ignore soft endstops during calibration
+      //SERIAL_ECHOLN(" Soft endstops disabled ");
+      if(Stopped == false) {
+        //get_coordinates(); // For X Y Z E F
+        delta[X_AXIS] = 50;
+        delta[Y_AXIS] = 90;
+        calculate_SCARA_forward_Transform(delta);
+        destination[X_AXIS] = delta[X_AXIS]/axis_scaling[X_AXIS];
+        destination[Y_AXIS] = delta[Y_AXIS]/axis_scaling[Y_AXIS];
+        
+        prepare_move();
+        //ClearToSend();
+        return;
+      }
+    break;
+    case 364:  // SCARA Psi pos3 (90 deg to Theta)
+      SERIAL_ECHOLN(" Cal: Theta-Psi 90 ");
+     // SoftEndsEnabled = false;              // Ignore soft endstops during calibration
+      //SERIAL_ECHOLN(" Soft endstops disabled ");
+      if(Stopped == false) {
+        //get_coordinates(); // For X Y Z E F
+        delta[X_AXIS] = 45;
+        delta[Y_AXIS] = 135;
+        calculate_SCARA_forward_Transform(delta);
+        destination[X_AXIS] = delta[X_AXIS]/axis_scaling[X_AXIS];
+        destination[Y_AXIS] = delta[Y_AXIS]/axis_scaling[Y_AXIS]; 
+        
+        prepare_move();
+        //ClearToSend();
+        return;
+      }
+    break;
+    case 365: // M364  Set SCARA scaling for X Y Z
+      for(int8_t i=0; i < 3; i++) 
+      {
+        if(code_seen(axis_codes[i])) 
+        {
+          
+            axis_scaling[i] = code_value();
+          
+        }
+      }
+      break;
+	#endif
+    case 400: // M400 finish all moves
+    {
+      st_synchronize();
+    }
+    break;
+#if defined(ENABLE_AUTO_BED_LEVELING) && defined(SERVO_ENDSTOPS) && not defined(Z_PROBE_SLED)
+    case 401:
+    {
+        engage_z_probe();    // Engage Z Servo endstop if available
+    }
+    break;
+
+    case 402:
+    {
+        retract_z_probe();    // Retract Z Servo endstop if enabled
+    }
+    break;
+#endif
+
+#ifdef FILAMENT_SENSOR
+case 404:  //M404 Enter the nominal filament width (3mm, 1.75mm ) N<3.0> or display nominal filament width 
+    {
+    #if (FILWIDTH_PIN > -1) 
+    if(code_seen('N')) filament_width_nominal=code_value();
+    else{
+    SERIAL_PROTOCOLPGM("Filament dia (nominal mm):"); 
+    SERIAL_PROTOCOLLN(filament_width_nominal); 
+    }
+    #endif
+    }
+    break; 
+    
+    case 405:  //M405 Turn on filament sensor for control 
+    {
+    
+    
+    if(code_seen('D')) meas_delay_cm=code_value();
+       
+       if(meas_delay_cm> MAX_MEASUREMENT_DELAY)
+       	meas_delay_cm = MAX_MEASUREMENT_DELAY;
+    
+       if(delay_index2 == -1)  //initialize the ring buffer if it has not been done since startup
+    	   {
+    	   int temp_ratio = widthFil_to_size_ratio(); 
+       	    
+       	    for (delay_index1=0; delay_index1<(MAX_MEASUREMENT_DELAY+1); ++delay_index1 ){
+       	              measurement_delay[delay_index1]=temp_ratio-100;  //subtract 100 to scale within a signed byte
+       	        }
+       	    delay_index1=0;
+       	    delay_index2=0;	
+    	   }
+    
+    filament_sensor = true ; 
+    
+    //SERIAL_PROTOCOLPGM("Filament dia (measured mm):"); 
+    //SERIAL_PROTOCOL(filament_width_meas); 
+    //SERIAL_PROTOCOLPGM("Extrusion ratio(%):"); 
+    //SERIAL_PROTOCOL(extrudemultiply); 
+    } 
+    break; 
+    
+    case 406:  //M406 Turn off filament sensor for control 
+    {      
+    filament_sensor = false ; 
+    } 
+    break; 
+  
+    case 407:   //M407 Display measured filament diameter 
+    { 
+     
+    
+    
+    SERIAL_PROTOCOLPGM("Filament dia (measured mm):"); 
+    SERIAL_PROTOCOLLN(filament_width_meas);   
+    } 
+    break; 
+    #endif
+    
+
+
+
+
+    case 500: // M500 Store settings in EEPROM
+    {
+        Config_StoreSettings();
+    }
+    break;
+    case 501: // M501 Read settings from EEPROM
+    {
+        Config_RetrieveSettings();
+    }
+    break;
+    case 502: // M502 Revert to default settings
+    {
+        Config_ResetDefault();
+    }
+    break;
+    case 503: // M503 print settings currently in memory
+    {
+        Config_PrintSettings();
+    }
+    break;
+    #ifdef ABORT_ON_ENDSTOP_HIT_FEATURE_ENABLED
+    case 540:
+    {
+        if(code_seen('S')) abort_on_endstop_hit = code_value() > 0;
+    }
+    break;
+    #endif
+
+    #ifdef CUSTOM_M_CODE_SET_Z_PROBE_OFFSET
+    case CUSTOM_M_CODE_SET_Z_PROBE_OFFSET:
+    {
+      float value;
+      if (code_seen('Z'))
+      {
+        value = code_value();
+        if ((Z_PROBE_OFFSET_RANGE_MIN <= value) && (value <= Z_PROBE_OFFSET_RANGE_MAX))
+        {
+          zprobe_zoffset = -value; // compare w/ line 278 of ConfigurationStore.cpp
+          SERIAL_ECHO_START;
+          SERIAL_ECHOLNPGM(MSG_ZPROBE_ZOFFSET " " MSG_OK);
+          SERIAL_PROTOCOLLN("");
+        }
+        else
+        {
+          SERIAL_ECHO_START;
+          SERIAL_ECHOPGM(MSG_ZPROBE_ZOFFSET);
+          SERIAL_ECHOPGM(MSG_Z_MIN);
+          SERIAL_ECHO(Z_PROBE_OFFSET_RANGE_MIN);
+          SERIAL_ECHOPGM(MSG_Z_MAX);
+          SERIAL_ECHO(Z_PROBE_OFFSET_RANGE_MAX);
+          SERIAL_PROTOCOLLN("");
+        }
+      }
+      else
+      {
+          SERIAL_ECHO_START;
+          SERIAL_ECHOLNPGM(MSG_ZPROBE_ZOFFSET " : ");
+          SERIAL_ECHO(-zprobe_zoffset);
+          SERIAL_PROTOCOLLN("");
+      }
+      break;
+    }
+    #endif // CUSTOM_M_CODE_SET_Z_PROBE_OFFSET
+
+    #ifdef FILAMENTCHANGEENABLE
+    case 600: //Pause for filament change X[pos] Y[pos] Z[relative lift] E[initial retract] L[later retract distance for removal]
+    {
+        feedmultiplyBckp=feedmultiply;
+        float target[4];
+        float lastpos[4];
+        target[X_AXIS]=current_position[X_AXIS];
+        target[Y_AXIS]=current_position[Y_AXIS];
+        target[Z_AXIS]=current_position[Z_AXIS];
+        target[E_AXIS]=current_position[E_AXIS];
+        lastpos[X_AXIS]=current_position[X_AXIS];
+        lastpos[Y_AXIS]=current_position[Y_AXIS];
+        lastpos[Z_AXIS]=current_position[Z_AXIS];
+        lastpos[E_AXIS]=current_position[E_AXIS];
+        //retract by E
+        if(code_seen('E'))
+        {
+          target[E_AXIS]+= code_value();
+        }
+        else
+        {
+          #ifdef FILAMENTCHANGE_FIRSTRETRACT
+            target[E_AXIS]+= FILAMENTCHANGE_FIRSTRETRACT ;
+          #endif
+        }
+        plan_buffer_line(target[X_AXIS], target[Y_AXIS], target[Z_AXIS], target[E_AXIS], 400, active_extruder);
+
+        //lift Z
+        if(code_seen('Z'))
+        {
+          target[Z_AXIS]+= code_value();
+        }
+        else
+        {
+          #ifdef FILAMENTCHANGE_ZADD
+            target[Z_AXIS]+= FILAMENTCHANGE_ZADD ;
+          #endif
+     
+          if(target[Z_AXIS] < 10){
+      
+            target[Z_AXIS]+= 10 ;
+          }
+        }
+        plan_buffer_line(target[X_AXIS], target[Y_AXIS], target[Z_AXIS], target[E_AXIS], 300, active_extruder);
+
+        //move xy
+        if(code_seen('X'))
+        {
+          target[X_AXIS]+= code_value();
+        }
+        else
+        {
+          #ifdef FILAMENTCHANGE_XPOS
+            target[X_AXIS]= FILAMENTCHANGE_XPOS ;
+          #endif
+        }
+        if(code_seen('Y'))
+        {
+          target[Y_AXIS]= code_value();
+        }
+        else
+        {
+          #ifdef FILAMENTCHANGE_YPOS
+            target[Y_AXIS]= FILAMENTCHANGE_YPOS ;
+          #endif
+        }
+ 
+        plan_buffer_line(target[X_AXIS], target[Y_AXIS], target[Z_AXIS], target[E_AXIS], 70, active_extruder);
+
+        if(code_seen('L'))
+        {
+          target[E_AXIS]+= code_value();
+        }
+        else
+        {
+          #ifdef FILAMENTCHANGE_FINALRETRACT
+            target[E_AXIS]+= FILAMENTCHANGE_FINALRETRACT ;
+          #endif
+        }
+
+        plan_buffer_line(target[X_AXIS], target[Y_AXIS], target[Z_AXIS], target[E_AXIS], 20, active_extruder);
+
+        //finish moves
+        st_synchronize();
+        //disable extruder steppers so filament can be removed
+        disable_e0();
+        disable_e1();
+        disable_e2();
+        delay(100);
+        
+        //LCD_ALERTMESSAGEPGM(MSG_FILAMENTCHANGE);
+        uint8_t cnt=0;
+        int counterBeep = 0;
+        lcd_wait_interact();
+        while(!lcd_clicked()){
+          cnt++;
+          manage_heater();
+          manage_inactivity(true);
+          //lcd_update();
+          if(cnt==0)
+          {
+          #if BEEPER > 0
+          
+            if (counterBeep== 500){
+              counterBeep = 0;
+              
+            }
+          
+            
+            SET_OUTPUT(BEEPER);
+            if (counterBeep== 0){
+              WRITE(BEEPER,HIGH);
+            }
+            
+            if (counterBeep== 20){
+              WRITE(BEEPER,LOW);
+            }
+            
+            
+            
+          
+            counterBeep++;
+          #else
+			#if !defined(LCD_FEEDBACK_FREQUENCY_HZ) || !defined(LCD_FEEDBACK_FREQUENCY_DURATION_MS)
+              lcd_buzz(1000/6,100);
+			#else
+			  lcd_buzz(LCD_FEEDBACK_FREQUENCY_DURATION_MS,LCD_FEEDBACK_FREQUENCY_HZ);
+			#endif
+          #endif
+          }
+        }
+        
+        WRITE(BEEPER,LOW);
+        
+        target[E_AXIS]+= FILAMENTCHANGE_FIRSTFEED ;
+        plan_buffer_line(target[X_AXIS], target[Y_AXIS], target[Z_AXIS], target[E_AXIS], 20, active_extruder); 
+        
+        
+        target[E_AXIS]+= FILAMENTCHANGE_FINALFEED ;
+        plan_buffer_line(target[X_AXIS], target[Y_AXIS], target[Z_AXIS], target[E_AXIS], 2, active_extruder); 
+        
+ 
+        
+        
+        
+        lcd_change_fil_state = 0;
+        lcd_loading_filament();
+        while ((lcd_change_fil_state == 0)||(lcd_change_fil_state != 1)){
+        
+          lcd_change_fil_state = 0;
+          lcd_alright();
+          switch(lcd_change_fil_state){
+          
+             case 2:
+                     target[E_AXIS]+= FILAMENTCHANGE_FIRSTFEED ;
+                     plan_buffer_line(target[X_AXIS], target[Y_AXIS], target[Z_AXIS], target[E_AXIS], 20, active_extruder); 
+        
+        
+                     target[E_AXIS]+= FILAMENTCHANGE_FINALFEED ;
+                     plan_buffer_line(target[X_AXIS], target[Y_AXIS], target[Z_AXIS], target[E_AXIS], 2, active_extruder); 
+                      
+                     
+                     lcd_loading_filament();
+                     break;
+             case 3:
+                     target[E_AXIS]+= FILAMENTCHANGE_FINALFEED ;
+                     plan_buffer_line(target[X_AXIS], target[Y_AXIS], target[Z_AXIS], target[E_AXIS], 2, active_extruder); 
+                     lcd_loading_color();
+                     break;
+                          
+             default:
+                     lcd_change_success();
+                     break;
+          }
+          
+        }
+        
+
+        
+      target[E_AXIS]+= 5;
+      plan_buffer_line(target[X_AXIS], target[Y_AXIS], target[Z_AXIS], target[E_AXIS], 2, active_extruder);
+        
+      target[E_AXIS]+= FILAMENTCHANGE_FIRSTRETRACT;
+      plan_buffer_line(target[X_AXIS], target[Y_AXIS], target[Z_AXIS], target[E_AXIS], 400, active_extruder);
+        
+
+        //current_position[E_AXIS]=target[E_AXIS]; //the long retract of L is compensated by manual filament feeding
+        //plan_set_e_position(current_position[E_AXIS]);
+        plan_buffer_line(target[X_AXIS], target[Y_AXIS], target[Z_AXIS], target[E_AXIS], 70, active_extruder); //should do nothing
+        plan_buffer_line(lastpos[X_AXIS], lastpos[Y_AXIS], target[Z_AXIS], target[E_AXIS], 70, active_extruder); //move xy back
+        plan_buffer_line(lastpos[X_AXIS], lastpos[Y_AXIS], lastpos[Z_AXIS], target[E_AXIS], 200, active_extruder); //move z back
+        
+        
+        target[E_AXIS]= target[E_AXIS] - FILAMENTCHANGE_FIRSTRETRACT;
+        
+      
+             
+        plan_buffer_line(lastpos[X_AXIS], lastpos[Y_AXIS], lastpos[Z_AXIS], target[E_AXIS], 5, active_extruder); //final untretract
+        
+        
+        plan_set_e_position(lastpos[E_AXIS]);
+        
+        feedmultiply=feedmultiplyBckp;
+        
+     
+        
+        char cmd[9];
+
+        sprintf_P(cmd, PSTR("M220 S%i"), feedmultiplyBckp);
+        enquecommand(cmd);
+        
+    }
+    break;
+    #endif //FILAMENTCHANGEENABLE
+    #ifdef DUAL_X_CARRIAGE
+    case 605: // Set dual x-carriage movement mode:
+              //    M605 S0: Full control mode. The slicer has full control over x-carriage movement
+              //    M605 S1: Auto-park mode. The inactive head will auto park/unpark without slicer involvement
+              //    M605 S2 [Xnnn] [Rmmm]: Duplication mode. The second extruder will duplicate the first with nnn
+              //                         millimeters x-offset and an optional differential hotend temperature of
+              //                         mmm degrees. E.g., with "M605 S2 X100 R2" the second extruder will duplicate
+              //                         the first with a spacing of 100mm in the x direction and 2 degrees hotter.
+              //
+              //    Note: the X axis should be homed after changing dual x-carriage mode.
+    {
+        st_synchronize();
+
+        if (code_seen('S'))
+          dual_x_carriage_mode = code_value();
+
+        if (dual_x_carriage_mode == DXC_DUPLICATION_MODE)
+        {
+          if (code_seen('X'))
+            duplicate_extruder_x_offset = max(code_value(),X2_MIN_POS - x_home_pos(0));
+
+          if (code_seen('R'))
+            duplicate_extruder_temp_offset = code_value();
+
+          SERIAL_ECHO_START;
+          SERIAL_ECHOPGM(MSG_HOTEND_OFFSET);
+          SERIAL_ECHO(" ");
+          SERIAL_ECHO(extruder_offset[X_AXIS][0]);
+          SERIAL_ECHO(",");
+          SERIAL_ECHO(extruder_offset[Y_AXIS][0]);
+          SERIAL_ECHO(" ");
+          SERIAL_ECHO(duplicate_extruder_x_offset);
+          SERIAL_ECHO(",");
+          SERIAL_ECHOLN(extruder_offset[Y_AXIS][1]);
+        }
+        else if (dual_x_carriage_mode != DXC_FULL_CONTROL_MODE && dual_x_carriage_mode != DXC_AUTO_PARK_MODE)
+        {
+          dual_x_carriage_mode = DEFAULT_DUAL_X_CARRIAGE_MODE;
+        }
+
+        active_extruder_parked = false;
+        extruder_duplication_enabled = false;
+        delayed_move_time = 0;
+    }
+    break;
+    #endif //DUAL_X_CARRIAGE
+
+    case 907: // M907 Set digital trimpot motor current using axis codes.
+    {
+      #if defined(DIGIPOTSS_PIN) && DIGIPOTSS_PIN > -1
+        for(int i=0;i<NUM_AXIS;i++) if(code_seen(axis_codes[i])) digipot_current(i,code_value());
+        if(code_seen('B')) digipot_current(4,code_value());
+        if(code_seen('S')) for(int i=0;i<=4;i++) digipot_current(i,code_value());
+      #endif
+      #ifdef MOTOR_CURRENT_PWM_XY_PIN
+        if(code_seen('X')) digipot_current(0, code_value());
+      #endif
+      #ifdef MOTOR_CURRENT_PWM_Z_PIN
+        if(code_seen('Z')) digipot_current(1, code_value());
+      #endif
+      #ifdef MOTOR_CURRENT_PWM_E_PIN
+        if(code_seen('E')) digipot_current(2, code_value());
+      #endif
+      #ifdef DIGIPOT_I2C
+        // this one uses actual amps in floating point
+        for(int i=0;i<NUM_AXIS;i++) if(code_seen(axis_codes[i])) digipot_i2c_set_current(i, code_value());
+        // for each additional extruder (named B,C,D,E..., channels 4,5,6,7...)
+        for(int i=NUM_AXIS;i<DIGIPOT_I2C_NUM_CHANNELS;i++) if(code_seen('B'+i-NUM_AXIS)) digipot_i2c_set_current(i, code_value());
+      #endif
+    }
+    break;
+    case 908: // M908 Control digital trimpot directly.
+    {
+      #if defined(DIGIPOTSS_PIN) && DIGIPOTSS_PIN > -1
+        uint8_t channel,current;
+        if(code_seen('P')) channel=code_value();
+        if(code_seen('S')) current=code_value();
+        digitalPotWrite(channel, current);
+      #endif
+    }
+    break;
+    case 350: // M350 Set microstepping mode. Warning: Steps per unit remains unchanged. S code sets stepping mode for all drivers.
+    {
+      #if defined(X_MS1_PIN) && X_MS1_PIN > -1
+        if(code_seen('S')) for(int i=0;i<=4;i++) microstep_mode(i,code_value());
+        for(int i=0;i<NUM_AXIS;i++) if(code_seen(axis_codes[i])) microstep_mode(i,(uint8_t)code_value());
+        if(code_seen('B')) microstep_mode(4,code_value());
+        microstep_readings();
+      #endif
+    }
+    break;
+    case 351: // M351 Toggle MS1 MS2 pins directly, S# determines MS1 or MS2, X# sets the pin high/low.
+    {
+      #if defined(X_MS1_PIN) && X_MS1_PIN > -1
+      if(code_seen('S')) switch((int)code_value())
+      {
+        case 1:
+          for(int i=0;i<NUM_AXIS;i++) if(code_seen(axis_codes[i])) microstep_ms(i,code_value(),-1);
+          if(code_seen('B')) microstep_ms(4,code_value(),-1);
+          break;
+        case 2:
+          for(int i=0;i<NUM_AXIS;i++) if(code_seen(axis_codes[i])) microstep_ms(i,-1,code_value());
+          if(code_seen('B')) microstep_ms(4,-1,code_value());
+          break;
+      }
+      microstep_readings();
+      #endif
+    }
+    break;
+    case 999: // M999: Restart after being stopped
+      Stopped = false;
+      lcd_reset_alert_level();
+      gcode_LastN = Stopped_gcode_LastN;
+      FlushSerialRequestResend();
+    break;
+    }
+  }
+
+  else if(code_seen('T'))
+  {
+    tmp_extruder = code_value();
+    if(tmp_extruder >= EXTRUDERS) {
+      SERIAL_ECHO_START;
+      SERIAL_ECHO("T");
+      SERIAL_ECHO(tmp_extruder);
+      SERIAL_ECHOLN(MSG_INVALID_EXTRUDER);
+    }
+    else {
+      boolean make_move = false;
+      if(code_seen('F')) {
+        make_move = true;
+        next_feedrate = code_value();
+        if(next_feedrate > 0.0) {
+          feedrate = next_feedrate;
+        }
+      }
+      #if EXTRUDERS > 1
+      if(tmp_extruder != active_extruder) {
+        // Save current position to return to after applying extruder offset
+        memcpy(destination, current_position, sizeof(destination));
+      #ifdef DUAL_X_CARRIAGE
+        if (dual_x_carriage_mode == DXC_AUTO_PARK_MODE && Stopped == false &&
+            (delayed_move_time != 0 || current_position[X_AXIS] != x_home_pos(active_extruder)))
+        {
+          // Park old head: 1) raise 2) move to park position 3) lower
+          plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS] + TOOLCHANGE_PARK_ZLIFT,
+                current_position[E_AXIS], max_feedrate[Z_AXIS], active_extruder);
+          plan_buffer_line(x_home_pos(active_extruder), current_position[Y_AXIS], current_position[Z_AXIS] + TOOLCHANGE_PARK_ZLIFT,
+                current_position[E_AXIS], max_feedrate[X_AXIS], active_extruder);
+          plan_buffer_line(x_home_pos(active_extruder), current_position[Y_AXIS], current_position[Z_AXIS],
+                current_position[E_AXIS], max_feedrate[Z_AXIS], active_extruder);
+          st_synchronize();
+        }
+
+        // apply Y & Z extruder offset (x offset is already used in determining home pos)
+        current_position[Y_AXIS] = current_position[Y_AXIS] -
+                     extruder_offset[Y_AXIS][active_extruder] +
+                     extruder_offset[Y_AXIS][tmp_extruder];
+        current_position[Z_AXIS] = current_position[Z_AXIS] -
+                     extruder_offset[Z_AXIS][active_extruder] +
+                     extruder_offset[Z_AXIS][tmp_extruder];
+
+        active_extruder = tmp_extruder;
+
+        // This function resets the max/min values - the current position may be overwritten below.
+        axis_is_at_home(X_AXIS);
+
+        if (dual_x_carriage_mode == DXC_FULL_CONTROL_MODE)
+        {
+          current_position[X_AXIS] = inactive_extruder_x_pos;
+          inactive_extruder_x_pos = destination[X_AXIS];
+        }
+        else if (dual_x_carriage_mode == DXC_DUPLICATION_MODE)
+        {
+          active_extruder_parked = (active_extruder == 0); // this triggers the second extruder to move into the duplication position
+          if (active_extruder == 0 || active_extruder_parked)
+            current_position[X_AXIS] = inactive_extruder_x_pos;
+          else
+            current_position[X_AXIS] = destination[X_AXIS] + duplicate_extruder_x_offset;
+          inactive_extruder_x_pos = destination[X_AXIS];
+          extruder_duplication_enabled = false;
+        }
+        else
+        {
+          // record raised toolhead position for use by unpark
+          memcpy(raised_parked_position, current_position, sizeof(raised_parked_position));
+          raised_parked_position[Z_AXIS] += TOOLCHANGE_UNPARK_ZLIFT;
+          active_extruder_parked = true;
+          delayed_move_time = 0;
+        }
+      #else
+        // Offset extruder (only by XY)
+        int i;
+        for(i = 0; i < 2; i++) {
+           current_position[i] = current_position[i] -
+                                 extruder_offset[i][active_extruder] +
+                                 extruder_offset[i][tmp_extruder];
+        }
+        // Set the new active extruder and position
+        active_extruder = tmp_extruder;
+      #endif //else DUAL_X_CARRIAGE
+#ifdef DELTA 
+
+  calculate_delta(current_position); // change cartesian kinematic  to  delta kinematic;
+   //sent position to plan_set_position();
+  plan_set_position(delta[X_AXIS], delta[Y_AXIS], delta[Z_AXIS],current_position[E_AXIS]);
+            
+#else
+        plan_set_position(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS]);
+
+#endif
+        // Move to the old position if 'F' was in the parameters
+        if(make_move && Stopped == false) {
+           prepare_move();
+        }
+      }
+      #endif
+      SERIAL_ECHO_START;
+      SERIAL_ECHO(MSG_ACTIVE_EXTRUDER);
+      SERIAL_PROTOCOLLN((int)active_extruder);
+    }
+  }
+
+  else
+  {
+    SERIAL_ECHO_START;
+    SERIAL_ECHOPGM(MSG_UNKNOWN_COMMAND);
+    SERIAL_ECHO(cmdbuffer[bufindr]);
+    SERIAL_ECHOLNPGM("\"");
+  }
+
+  ClearToSend();
+}
+
+void FlushSerialRequestResend()
+{
+  //char cmdbuffer[bufindr][100]="Resend:";
+  MYSERIAL.flush();
+  SERIAL_PROTOCOLPGM(MSG_RESEND);
+  SERIAL_PROTOCOLLN(gcode_LastN + 1);
+  ClearToSend();
+}
+
+void ClearToSend()
+{
+  previous_millis_cmd = millis();
+  #ifdef SDSUPPORT
+  if(fromsd[bufindr])
+    return;
+  #endif //SDSUPPORT
+  SERIAL_PROTOCOLLNPGM(MSG_OK);
+}
+
+void get_coordinates()
+{
+  bool seen[4]={false,false,false,false};
+  for(int8_t i=0; i < NUM_AXIS; i++) {
+    if(code_seen(axis_codes[i]))
+    {
+      destination[i] = (float)code_value() + (axis_relative_modes[i] || relative_mode)*current_position[i];
+      seen[i]=true;
+    }
+    else destination[i] = current_position[i]; //Are these else lines really needed?
+  }
+  if(code_seen('F')) {
+    next_feedrate = code_value();
+    if(next_feedrate > 0.0) feedrate = next_feedrate;
+  }
+}
+
+void get_arc_coordinates()
+{
+#ifdef SF_ARC_FIX
+   bool relative_mode_backup = relative_mode;
+   relative_mode = true;
+#endif
+   get_coordinates();
+#ifdef SF_ARC_FIX
+   relative_mode=relative_mode_backup;
+#endif
+
+   if(code_seen('I')) {
+     offset[0] = code_value();
+   }
+   else {
+     offset[0] = 0.0;
+   }
+   if(code_seen('J')) {
+     offset[1] = code_value();
+   }
+   else {
+     offset[1] = 0.0;
+   }
+}
+
+void clamp_to_software_endstops(float target[3])
+{
+  if (min_software_endstops) {
+    if (target[X_AXIS] < min_pos[X_AXIS]) target[X_AXIS] = min_pos[X_AXIS];
+    if (target[Y_AXIS] < min_pos[Y_AXIS]) target[Y_AXIS] = min_pos[Y_AXIS];
+    
+    float negative_z_offset = 0;
+    #ifdef ENABLE_AUTO_BED_LEVELING
+      if (Z_PROBE_OFFSET_FROM_EXTRUDER < 0) negative_z_offset = negative_z_offset + Z_PROBE_OFFSET_FROM_EXTRUDER;
+      if (add_homing[Z_AXIS] < 0) negative_z_offset = negative_z_offset + add_homing[Z_AXIS];
+    #endif
+    
+    if (target[Z_AXIS] < min_pos[Z_AXIS]+negative_z_offset) target[Z_AXIS] = min_pos[Z_AXIS]+negative_z_offset;
+  }
+
+  if (max_software_endstops) {
+    if (target[X_AXIS] > max_pos[X_AXIS]) target[X_AXIS] = max_pos[X_AXIS];
+    if (target[Y_AXIS] > max_pos[Y_AXIS]) target[Y_AXIS] = max_pos[Y_AXIS];
+    if (target[Z_AXIS] > max_pos[Z_AXIS]) target[Z_AXIS] = max_pos[Z_AXIS];
+  }
+}
+
+#ifdef DELTA
+void recalc_delta_settings(float radius, float diagonal_rod)
+{
+	 delta_tower1_x= -SIN_60*radius; // front left tower
+	 delta_tower1_y= -COS_60*radius;	   
+	 delta_tower2_x=  SIN_60*radius; // front right tower
+	 delta_tower2_y= -COS_60*radius;	   
+	 delta_tower3_x= 0.0;                  // back middle tower
+	 delta_tower3_y= radius;
+	 delta_diagonal_rod_2= sq(diagonal_rod);
+}
+
+void calculate_delta(float cartesian[3])
+{
+  delta[X_AXIS] = sqrt(delta_diagonal_rod_2
+                       - sq(delta_tower1_x-cartesian[X_AXIS])
+                       - sq(delta_tower1_y-cartesian[Y_AXIS])
+                       ) + cartesian[Z_AXIS];
+  delta[Y_AXIS] = sqrt(delta_diagonal_rod_2
+                       - sq(delta_tower2_x-cartesian[X_AXIS])
+                       - sq(delta_tower2_y-cartesian[Y_AXIS])
+                       ) + cartesian[Z_AXIS];
+  delta[Z_AXIS] = sqrt(delta_diagonal_rod_2
+                       - sq(delta_tower3_x-cartesian[X_AXIS])
+                       - sq(delta_tower3_y-cartesian[Y_AXIS])
+                       ) + cartesian[Z_AXIS];
+  /*
+  SERIAL_ECHOPGM("cartesian x="); SERIAL_ECHO(cartesian[X_AXIS]);
+  SERIAL_ECHOPGM(" y="); SERIAL_ECHO(cartesian[Y_AXIS]);
+  SERIAL_ECHOPGM(" z="); SERIAL_ECHOLN(cartesian[Z_AXIS]);
+
+  SERIAL_ECHOPGM("delta x="); SERIAL_ECHO(delta[X_AXIS]);
+  SERIAL_ECHOPGM(" y="); SERIAL_ECHO(delta[Y_AXIS]);
+  SERIAL_ECHOPGM(" z="); SERIAL_ECHOLN(delta[Z_AXIS]);
+  */
+}
+#endif
+
+void prepare_move()
+{
+  clamp_to_software_endstops(destination);
+  previous_millis_cmd = millis();
+  
+  #ifdef SCARA //for now same as delta-code
+
+float difference[NUM_AXIS];
+for (int8_t i=0; i < NUM_AXIS; i++) {
+	difference[i] = destination[i] - current_position[i];
+}
+
+float cartesian_mm = sqrt(	sq(difference[X_AXIS]) +
+							sq(difference[Y_AXIS]) +
+							sq(difference[Z_AXIS]));
+if (cartesian_mm < 0.000001) { cartesian_mm = abs(difference[E_AXIS]); }
+if (cartesian_mm < 0.000001) { return; }
+float seconds = 6000 * cartesian_mm / feedrate / feedmultiply;
+int steps = max(1, int(scara_segments_per_second * seconds));
+ //SERIAL_ECHOPGM("mm="); SERIAL_ECHO(cartesian_mm);
+ //SERIAL_ECHOPGM(" seconds="); SERIAL_ECHO(seconds);
+ //SERIAL_ECHOPGM(" steps="); SERIAL_ECHOLN(steps);
+for (int s = 1; s <= steps; s++) {
+	float fraction = float(s) / float(steps);
+	for(int8_t i=0; i < NUM_AXIS; i++) {
+		destination[i] = current_position[i] + difference[i] * fraction;
+	}
+
+	
+	calculate_delta(destination);
+         //SERIAL_ECHOPGM("destination[X_AXIS]="); SERIAL_ECHOLN(destination[X_AXIS]);
+         //SERIAL_ECHOPGM("destination[Y_AXIS]="); SERIAL_ECHOLN(destination[Y_AXIS]);
+         //SERIAL_ECHOPGM("destination[Z_AXIS]="); SERIAL_ECHOLN(destination[Z_AXIS]);
+         //SERIAL_ECHOPGM("delta[X_AXIS]="); SERIAL_ECHOLN(delta[X_AXIS]);
+         //SERIAL_ECHOPGM("delta[Y_AXIS]="); SERIAL_ECHOLN(delta[Y_AXIS]);
+         //SERIAL_ECHOPGM("delta[Z_AXIS]="); SERIAL_ECHOLN(delta[Z_AXIS]);
+         
+	plan_buffer_line(delta[X_AXIS], delta[Y_AXIS], delta[Z_AXIS],
+	destination[E_AXIS], feedrate*feedmultiply/60/100.0,
+	active_extruder);
+}
+#endif // SCARA
+  
+#ifdef DELTA
+  float difference[NUM_AXIS];
+  for (int8_t i=0; i < NUM_AXIS; i++) {
+    difference[i] = destination[i] - current_position[i];
+  }
+  float cartesian_mm = sqrt(sq(difference[X_AXIS]) +
+                            sq(difference[Y_AXIS]) +
+                            sq(difference[Z_AXIS]));
+  if (cartesian_mm < 0.000001) { cartesian_mm = abs(difference[E_AXIS]); }
+  if (cartesian_mm < 0.000001) { return; }
+  float seconds = 6000 * cartesian_mm / feedrate / feedmultiply;
+  int steps = max(1, int(delta_segments_per_second * seconds));
+  // SERIAL_ECHOPGM("mm="); SERIAL_ECHO(cartesian_mm);
+  // SERIAL_ECHOPGM(" seconds="); SERIAL_ECHO(seconds);
+  // SERIAL_ECHOPGM(" steps="); SERIAL_ECHOLN(steps);
+  for (int s = 1; s <= steps; s++) {
+    float fraction = float(s) / float(steps);
+    for(int8_t i=0; i < NUM_AXIS; i++) {
+      destination[i] = current_position[i] + difference[i] * fraction;
+    }
+    calculate_delta(destination);
+    plan_buffer_line(delta[X_AXIS], delta[Y_AXIS], delta[Z_AXIS],
+                     destination[E_AXIS], feedrate*feedmultiply/60/100.0,
+                     active_extruder);
+  }
+  
+#endif // DELTA
+
+#ifdef DUAL_X_CARRIAGE
+  if (active_extruder_parked)
+  {
+    if (dual_x_carriage_mode == DXC_DUPLICATION_MODE && active_extruder == 0)
+    {
+      // move duplicate extruder into correct duplication position.
+      plan_set_position(inactive_extruder_x_pos, current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS]);
+      plan_buffer_line(current_position[X_AXIS] + duplicate_extruder_x_offset, current_position[Y_AXIS], current_position[Z_AXIS],
+          current_position[E_AXIS], max_feedrate[X_AXIS], 1);
+      plan_set_position(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS]);
+      st_synchronize();
+      extruder_duplication_enabled = true;
+      active_extruder_parked = false;
+    }
+    else if (dual_x_carriage_mode == DXC_AUTO_PARK_MODE) // handle unparking of head
+    {
+      if (current_position[E_AXIS] == destination[E_AXIS])
+      {
+        // this is a travel move - skit it but keep track of current position (so that it can later
+        // be used as start of first non-travel move)
+        if (delayed_move_time != 0xFFFFFFFFUL)
+        {
+          memcpy(current_position, destination, sizeof(current_position));
+          if (destination[Z_AXIS] > raised_parked_position[Z_AXIS])
+            raised_parked_position[Z_AXIS] = destination[Z_AXIS];
+          delayed_move_time = millis();
+          return;
+        }
+      }
+      delayed_move_time = 0;
+      // unpark extruder: 1) raise, 2) move into starting XY position, 3) lower
+      plan_buffer_line(raised_parked_position[X_AXIS], raised_parked_position[Y_AXIS], raised_parked_position[Z_AXIS],    current_position[E_AXIS], max_feedrate[Z_AXIS], active_extruder);
+      plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], raised_parked_position[Z_AXIS],
+          current_position[E_AXIS], min(max_feedrate[X_AXIS],max_feedrate[Y_AXIS]), active_extruder);
+      plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS],
+          current_position[E_AXIS], max_feedrate[Z_AXIS], active_extruder);
+      active_extruder_parked = false;
+    }
+  }
+#endif //DUAL_X_CARRIAGE
+
+#if ! (defined DELTA || defined SCARA)
+  // Do not use feedmultiply for E or Z only moves
+  if( (current_position[X_AXIS] == destination [X_AXIS]) && (current_position[Y_AXIS] == destination [Y_AXIS])) {
+      plan_buffer_line(destination[X_AXIS], destination[Y_AXIS], destination[Z_AXIS], destination[E_AXIS], feedrate/60, active_extruder);
+  }
+  else {
+    plan_buffer_line(destination[X_AXIS], destination[Y_AXIS], destination[Z_AXIS], destination[E_AXIS], feedrate*feedmultiply/60/100.0, active_extruder);
+  }
+#endif // !(DELTA || SCARA)
+
+  for(int8_t i=0; i < NUM_AXIS; i++) {
+    current_position[i] = destination[i];
+  }
+}
+
+void prepare_arc_move(char isclockwise) {
+  float r = hypot(offset[X_AXIS], offset[Y_AXIS]); // Compute arc radius for mc_arc
+
+  // Trace the arc
+  mc_arc(current_position, destination, offset, X_AXIS, Y_AXIS, Z_AXIS, feedrate*feedmultiply/60/100.0, r, isclockwise, active_extruder);
+
+  // As far as the parser is concerned, the position is now == target. In reality the
+  // motion control system might still be processing the action and the real tool position
+  // in any intermediate location.
+  for(int8_t i=0; i < NUM_AXIS; i++) {
+    current_position[i] = destination[i];
+  }
+  previous_millis_cmd = millis();
+}
+
+#if defined(CONTROLLERFAN_PIN) && CONTROLLERFAN_PIN > -1
+
+#if defined(FAN_PIN)
+  #if CONTROLLERFAN_PIN == FAN_PIN
+    #error "You cannot set CONTROLLERFAN_PIN equal to FAN_PIN"
+  #endif
+#endif
+
+unsigned long lastMotor = 0; //Save the time for when a motor was turned on last
+unsigned long lastMotorCheck = 0;
+
+void controllerFan()
+{
+  if ((millis() - lastMotorCheck) >= 2500) //Not a time critical function, so we only check every 2500ms
+  {
+    lastMotorCheck = millis();
+
+    if(!READ(X_ENABLE_PIN) || !READ(Y_ENABLE_PIN) || !READ(Z_ENABLE_PIN) || (soft_pwm_bed > 0)
+    #if EXTRUDERS > 2
+       || !READ(E2_ENABLE_PIN)
+    #endif
+    #if EXTRUDER > 1
+      #if defined(X2_ENABLE_PIN) && X2_ENABLE_PIN > -1
+       || !READ(X2_ENABLE_PIN)
+      #endif
+       || !READ(E1_ENABLE_PIN)
+    #endif
+       || !READ(E0_ENABLE_PIN)) //If any of the drivers are enabled...
+    {
+      lastMotor = millis(); //... set time to NOW so the fan will turn on
+    }
+
+    if ((millis() - lastMotor) >= (CONTROLLERFAN_SECS*1000UL) || lastMotor == 0) //If the last time any driver was enabled, is longer since than CONTROLLERSEC...
+    {
+        digitalWrite(CONTROLLERFAN_PIN, 0);
+        analogWrite(CONTROLLERFAN_PIN, 0);
+    }
+    else
+    {
+        // allows digital or PWM fan output to be used (see M42 handling)
+        digitalWrite(CONTROLLERFAN_PIN, CONTROLLERFAN_SPEED);
+        analogWrite(CONTROLLERFAN_PIN, CONTROLLERFAN_SPEED);
+    }
+  }
+}
+#endif
+
+#ifdef SCARA
+void calculate_SCARA_forward_Transform(float f_scara[3])
+{
+  // Perform forward kinematics, and place results in delta[3]
+  // The maths and first version has been done by QHARLEY . Integrated into masterbranch 06/2014 and slightly restructured by Joachim Cerny in June 2014
+  
+  float x_sin, x_cos, y_sin, y_cos;
+  
+    //SERIAL_ECHOPGM("f_delta x="); SERIAL_ECHO(f_scara[X_AXIS]);
+    //SERIAL_ECHOPGM(" y="); SERIAL_ECHO(f_scara[Y_AXIS]);
+  
+    x_sin = sin(f_scara[X_AXIS]/SCARA_RAD2DEG) * Linkage_1;
+    x_cos = cos(f_scara[X_AXIS]/SCARA_RAD2DEG) * Linkage_1;
+    y_sin = sin(f_scara[Y_AXIS]/SCARA_RAD2DEG) * Linkage_2;
+    y_cos = cos(f_scara[Y_AXIS]/SCARA_RAD2DEG) * Linkage_2;
+   
+  //  SERIAL_ECHOPGM(" x_sin="); SERIAL_ECHO(x_sin);
+  //  SERIAL_ECHOPGM(" x_cos="); SERIAL_ECHO(x_cos);
+  //  SERIAL_ECHOPGM(" y_sin="); SERIAL_ECHO(y_sin);
+  //  SERIAL_ECHOPGM(" y_cos="); SERIAL_ECHOLN(y_cos);
+  
+    delta[X_AXIS] = x_cos + y_cos + SCARA_offset_x;  //theta
+    delta[Y_AXIS] = x_sin + y_sin + SCARA_offset_y;  //theta+phi
+	
+    //SERIAL_ECHOPGM(" delta[X_AXIS]="); SERIAL_ECHO(delta[X_AXIS]);
+    //SERIAL_ECHOPGM(" delta[Y_AXIS]="); SERIAL_ECHOLN(delta[Y_AXIS]);
+}  
+
+void calculate_delta(float cartesian[3]){
+  //reverse kinematics.
+  // Perform reversed kinematics, and place results in delta[3]
+  // The maths and first version has been done by QHARLEY . Integrated into masterbranch 06/2014 and slightly restructured by Joachim Cerny in June 2014
+  
+  float SCARA_pos[2];
+  static float SCARA_C2, SCARA_S2, SCARA_K1, SCARA_K2, SCARA_theta, SCARA_psi; 
+  
+  SCARA_pos[X_AXIS] = cartesian[X_AXIS] * axis_scaling[X_AXIS] - SCARA_offset_x;  //Translate SCARA to standard X Y
+  SCARA_pos[Y_AXIS] = cartesian[Y_AXIS] * axis_scaling[Y_AXIS] - SCARA_offset_y;  // With scaling factor.
+  
+  #if (Linkage_1 == Linkage_2)
+    SCARA_C2 = ( ( sq(SCARA_pos[X_AXIS]) + sq(SCARA_pos[Y_AXIS]) ) / (2 * (float)L1_2) ) - 1;
+  #else
+    SCARA_C2 =   ( sq(SCARA_pos[X_AXIS]) + sq(SCARA_pos[Y_AXIS]) - (float)L1_2 - (float)L2_2 ) / 45000; 
+  #endif
+  
+  SCARA_S2 = sqrt( 1 - sq(SCARA_C2) );
+  
+  SCARA_K1 = Linkage_1 + Linkage_2 * SCARA_C2;
+  SCARA_K2 = Linkage_2 * SCARA_S2;
+  
+  SCARA_theta = ( atan2(SCARA_pos[X_AXIS],SCARA_pos[Y_AXIS])-atan2(SCARA_K1, SCARA_K2) ) * -1;
+  SCARA_psi   =   atan2(SCARA_S2,SCARA_C2);
+  
+  delta[X_AXIS] = SCARA_theta * SCARA_RAD2DEG;  // Multiply by 180/Pi  -  theta is support arm angle
+  delta[Y_AXIS] = (SCARA_theta + SCARA_psi) * SCARA_RAD2DEG;  //       -  equal to sub arm angle (inverted motor)
+  delta[Z_AXIS] = cartesian[Z_AXIS];
+  
+  /*
+  SERIAL_ECHOPGM("cartesian x="); SERIAL_ECHO(cartesian[X_AXIS]);
+  SERIAL_ECHOPGM(" y="); SERIAL_ECHO(cartesian[Y_AXIS]);
+  SERIAL_ECHOPGM(" z="); SERIAL_ECHOLN(cartesian[Z_AXIS]);
+  
+  SERIAL_ECHOPGM("scara x="); SERIAL_ECHO(SCARA_pos[X_AXIS]);
+  SERIAL_ECHOPGM(" y="); SERIAL_ECHOLN(SCARA_pos[Y_AXIS]);
+  
+  SERIAL_ECHOPGM("delta x="); SERIAL_ECHO(delta[X_AXIS]);
+  SERIAL_ECHOPGM(" y="); SERIAL_ECHO(delta[Y_AXIS]);
+  SERIAL_ECHOPGM(" z="); SERIAL_ECHOLN(delta[Z_AXIS]);
+  
+  SERIAL_ECHOPGM("C2="); SERIAL_ECHO(SCARA_C2);
+  SERIAL_ECHOPGM(" S2="); SERIAL_ECHO(SCARA_S2);
+  SERIAL_ECHOPGM(" Theta="); SERIAL_ECHO(SCARA_theta);
+  SERIAL_ECHOPGM(" Psi="); SERIAL_ECHOLN(SCARA_psi);
+  SERIAL_ECHOLN(" ");*/
+}
+
+#endif
+
+#ifdef TEMP_STAT_LEDS
+static bool blue_led = false;
+static bool red_led = false;
+static uint32_t stat_update = 0;
+
+void handle_status_leds(void) {
+  float max_temp = 0.0;
+  if(millis() > stat_update) {
+    stat_update += 500; // Update every 0.5s
+    for (int8_t cur_extruder = 0; cur_extruder < EXTRUDERS; ++cur_extruder) {
+       max_temp = max(max_temp, degHotend(cur_extruder));
+       max_temp = max(max_temp, degTargetHotend(cur_extruder));
+    }
+    #if defined(TEMP_BED_PIN) && TEMP_BED_PIN > -1
+      max_temp = max(max_temp, degTargetBed());
+      max_temp = max(max_temp, degBed());
+    #endif
+    if((max_temp > 55.0) && (red_led == false)) {
+      digitalWrite(STAT_LED_RED, 1);
+      digitalWrite(STAT_LED_BLUE, 0);
+      red_led = true;
+      blue_led = false;
+    }
+    if((max_temp < 54.0) && (blue_led == false)) {
+      digitalWrite(STAT_LED_RED, 0);
+      digitalWrite(STAT_LED_BLUE, 1);
+      red_led = false;
+      blue_led = true;
+    }
+  }
+}
+#endif
+
+void manage_inactivity(bool ignore_stepper_queue/*=false*/) //default argument set in Marlin.h
+{
+	
+#if defined(KILL_PIN) && KILL_PIN > -1
+	static int killCount = 0;   // make the inactivity button a bit less responsive
+   const int KILL_DELAY = 10000;
+#endif
+
+#if defined(HOME_PIN) && HOME_PIN > -1
+   static int homeDebounceCount = 0;   // poor man's debouncing count
+   const int HOME_DEBOUNCE_DELAY = 10000;
+#endif
+   
+	
+  if(buflen < (BUFSIZE-1))
+    get_command();
+
+  if( (millis() - previous_millis_cmd) >  max_inactive_time )
+    if(max_inactive_time)
+      kill();
+  if(stepper_inactive_time)  {
+    if( (millis() - previous_millis_cmd) >  stepper_inactive_time )
+    {
+      if(blocks_queued() == false && ignore_stepper_queue == false) {
+        disable_x();
+        disable_y();
+        disable_z();
+        disable_e0();
+        disable_e1();
+        disable_e2();
+      }
+    }
+  }
+  
+  #ifdef CHDK //Check if pin should be set to LOW after M240 set it to HIGH
+    if (chdkActive && (millis() - chdkHigh > CHDK_DELAY))
+    {
+      chdkActive = false;
+      WRITE(CHDK, LOW);
+    }
+  #endif
+  
+  #if defined(KILL_PIN) && KILL_PIN > -1
+    
+    // Check if the kill button was pressed and wait just in case it was an accidental
+    // key kill key press
+    // -------------------------------------------------------------------------------
+    if( 0 == READ(KILL_PIN) )
+    {
+       killCount++;
+    }
+    else if (killCount > 0)
+    {
+       killCount--;
+    }
+    // Exceeded threshold and we can confirm that it was not accidental
+    // KILL the machine
+    // ----------------------------------------------------------------
+    if ( killCount >= KILL_DELAY)
+    {
+       kill();
+    }
+  #endif
+
+#if defined(HOME_PIN) && HOME_PIN > -1
+    // Check to see if we have to home, use poor man's debouncer
+    // ---------------------------------------------------------
+    if ( 0 == READ(HOME_PIN) )
+    {
+       if (homeDebounceCount == 0)
+       {
+          enquecommand_P((PSTR("G28")));
+          homeDebounceCount++;
+          LCD_ALERTMESSAGEPGM(MSG_AUTO_HOME);
+       }
+       else if (homeDebounceCount < HOME_DEBOUNCE_DELAY)
+       {
+          homeDebounceCount++;
+       }
+       else
+       {
+          homeDebounceCount = 0;
+       }
+    }
+#endif
+    
+  #if defined(CONTROLLERFAN_PIN) && CONTROLLERFAN_PIN > -1
+    controllerFan(); //Check if fan should be turned on to cool stepper drivers down
+  #endif
+  #ifdef EXTRUDER_RUNOUT_PREVENT
+    if( (millis() - previous_millis_cmd) >  EXTRUDER_RUNOUT_SECONDS*1000 )
+    if(degHotend(active_extruder)>EXTRUDER_RUNOUT_MINTEMP)
+    {
+     bool oldstatus=READ(E0_ENABLE_PIN);
+     enable_e0();
+     float oldepos=current_position[E_AXIS];
+     float oldedes=destination[E_AXIS];
+     plan_buffer_line(destination[X_AXIS], destination[Y_AXIS], destination[Z_AXIS],
+                      destination[E_AXIS]+EXTRUDER_RUNOUT_EXTRUDE*EXTRUDER_RUNOUT_ESTEPS/axis_steps_per_unit[E_AXIS],
+                      EXTRUDER_RUNOUT_SPEED/60.*EXTRUDER_RUNOUT_ESTEPS/axis_steps_per_unit[E_AXIS], active_extruder);
+     current_position[E_AXIS]=oldepos;
+     destination[E_AXIS]=oldedes;
+     plan_set_e_position(oldepos);
+     previous_millis_cmd=millis();
+     st_synchronize();
+     WRITE(E0_ENABLE_PIN,oldstatus);
+    }
+  #endif
+  #if defined(DUAL_X_CARRIAGE)
+    // handle delayed move timeout
+    if (delayed_move_time != 0 && (millis() - delayed_move_time) > 1000 && Stopped == false)
+    {
+      // travel moves have been received so enact them
+      delayed_move_time = 0xFFFFFFFFUL; // force moves to be done
+      memcpy(destination,current_position,sizeof(destination));
+      prepare_move();
+    }
+  #endif
+  #ifdef TEMP_STAT_LEDS
+      handle_status_leds();
+  #endif
+  check_axes_activity();
+}
+
+void kill()
+{
+  cli(); // Stop interrupts
+  disable_heater();
+
+  disable_x();
+  disable_y();
+  disable_z();
+  disable_e0();
+  disable_e1();
+  disable_e2();
+
+#if defined(PS_ON_PIN) && PS_ON_PIN > -1
+  pinMode(PS_ON_PIN,INPUT);
+#endif
+  SERIAL_ERROR_START;
+  SERIAL_ERRORLNPGM(MSG_ERR_KILLED);
+  LCD_ALERTMESSAGEPGM(MSG_KILLED);
+  
+  // FMC small patch to update the LCD before ending
+  sei();   // enable interrupts
+  for ( int i=5; i--; lcd_update())
+  {
+     delay(200);	
+  }
+  cli();   // disable interrupts
+  suicide();
+  while(1) { /* Intentionally left empty */ } // Wait for reset
+}
+
+void Stop()
+{
+  disable_heater();
+  if(Stopped == false) {
+    Stopped = true;
+    Stopped_gcode_LastN = gcode_LastN; // Save last g_code for restart
+    SERIAL_ERROR_START;
+    SERIAL_ERRORLNPGM(MSG_ERR_STOPPED);
+    LCD_MESSAGEPGM(MSG_STOPPED);
+  }
+}
+
+bool IsStopped() { return Stopped; };
+
+#ifdef FAST_PWM_FAN
+void setPwmFrequency(uint8_t pin, int val)
+{
+  val &= 0x07;
+  switch(digitalPinToTimer(pin))
+  {
+
+    #if defined(TCCR0A)
+    case TIMER0A:
+    case TIMER0B:
+//         TCCR0B &= ~(_BV(CS00) | _BV(CS01) | _BV(CS02));
+//         TCCR0B |= val;
+         break;
+    #endif
+
+    #if defined(TCCR1A)
+    case TIMER1A:
+    case TIMER1B:
+//         TCCR1B &= ~(_BV(CS10) | _BV(CS11) | _BV(CS12));
+//         TCCR1B |= val;
+         break;
+    #endif
+
+    #if defined(TCCR2)
+    case TIMER2:
+    case TIMER2:
+         TCCR2 &= ~(_BV(CS10) | _BV(CS11) | _BV(CS12));
+         TCCR2 |= val;
+         break;
+    #endif
+
+    #if defined(TCCR2A)
+    case TIMER2A:
+    case TIMER2B:
+         TCCR2B &= ~(_BV(CS20) | _BV(CS21) | _BV(CS22));
+         TCCR2B |= val;
+         break;
+    #endif
+
+    #if defined(TCCR3A)
+    case TIMER3A:
+    case TIMER3B:
+    case TIMER3C:
+         TCCR3B &= ~(_BV(CS30) | _BV(CS31) | _BV(CS32));
+         TCCR3B |= val;
+         break;
+    #endif
+
+    #if defined(TCCR4A)
+    case TIMER4A:
+    case TIMER4B:
+    case TIMER4C:
+         TCCR4B &= ~(_BV(CS40) | _BV(CS41) | _BV(CS42));
+         TCCR4B |= val;
+         break;
+   #endif
+
+    #if defined(TCCR5A)
+    case TIMER5A:
+    case TIMER5B:
+    case TIMER5C:
+         TCCR5B &= ~(_BV(CS50) | _BV(CS51) | _BV(CS52));
+         TCCR5B |= val;
+         break;
+   #endif
+
+  }
+}
+#endif //FAST_PWM_FAN
+
+bool setTargetedHotend(int code){
+  tmp_extruder = active_extruder;
+  if(code_seen('T')) {
+    tmp_extruder = code_value();
+    if(tmp_extruder >= EXTRUDERS) {
+      SERIAL_ECHO_START;
+      switch(code){
+        case 104:
+          SERIAL_ECHO(MSG_M104_INVALID_EXTRUDER);
+          break;
+        case 105:
+          SERIAL_ECHO(MSG_M105_INVALID_EXTRUDER);
+          break;
+        case 109:
+          SERIAL_ECHO(MSG_M109_INVALID_EXTRUDER);
+          break;
+        case 218:
+          SERIAL_ECHO(MSG_M218_INVALID_EXTRUDER);
+          break;
+        case 221:
+          SERIAL_ECHO(MSG_M221_INVALID_EXTRUDER);
+          break;
+      }
+      SERIAL_ECHOLN(tmp_extruder);
+      return true;
+    }
+  }
+  return false;
+}
+
+
+float calculate_volumetric_multiplier(float diameter) {
+	float area = .0;
+	float radius = .0;
+
+	radius = diameter * .5;
+	if (! volumetric_enabled || radius == 0) {
+		area = 1;
+	}
+	else {
+		area = M_PI * pow(radius, 2);
+	}
+
+	return 1.0 / area;
+}
+
+void calculate_volumetric_multipliers() {
+	volumetric_multiplier[0] = calculate_volumetric_multiplier(filament_size[0]);
+#if EXTRUDERS > 1
+	volumetric_multiplier[1] = calculate_volumetric_multiplier(filament_size[1]);
+#if EXTRUDERS > 2
+	volumetric_multiplier[2] = calculate_volumetric_multiplier(filament_size[2]);
+#endif
+#endif
+}
+

+ 9 - 0
README.md

@@ -0,0 +1,9 @@
+# Original Prusa i3 Plus
+
+
+Original Prusa i3 Plus 3D printer repo managed by PRUSA RESEARCH
+Files in this repo are used by PRUSA RESEARCH and it's matching the current version of printer sold on the e-shop (shop.prusa3d.com)
+
+
+
+

+ 723 - 0
Sd2Card.cpp

@@ -0,0 +1,723 @@
+/* Arduino Sd2Card Library
+ * Copyright (C) 2009 by William Greiman
+ *
+ * This file is part of the Arduino Sd2Card Library
+ *
+ * This Library is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 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 General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with the Arduino Sd2Card Library.  If not, see
+ * <http://www.gnu.org/licenses/>.
+ */
+#include "Marlin.h"
+
+#ifdef SDSUPPORT
+#include "Sd2Card.h"
+//------------------------------------------------------------------------------
+#ifndef SOFTWARE_SPI
+// functions for hardware SPI
+//------------------------------------------------------------------------------
+// make sure SPCR rate is in expected bits
+#if (SPR0 != 0 || SPR1 != 1)
+#error unexpected SPCR bits
+#endif
+/**
+ * Initialize hardware SPI
+ * Set SCK rate to F_CPU/pow(2, 1 + spiRate) for spiRate [0,6]
+ */
+static void spiInit(uint8_t spiRate) {
+  // See avr processor documentation
+  SPCR = (1 << SPE) | (1 << MSTR) | (spiRate >> 1);
+  SPSR = spiRate & 1 || spiRate == 6 ? 0 : 1 << SPI2X;
+}
+//------------------------------------------------------------------------------
+/** SPI receive a byte */
+static uint8_t spiRec() {
+  SPDR = 0XFF;
+  while (!(SPSR & (1 << SPIF))) { /* Intentionally left empty */ }
+  return SPDR;
+}
+//------------------------------------------------------------------------------
+/** SPI read data - only one call so force inline */
+static inline __attribute__((always_inline))
+void spiRead(uint8_t* buf, uint16_t nbyte) {
+  if (nbyte-- == 0) return;
+  SPDR = 0XFF;
+  for (uint16_t i = 0; i < nbyte; i++) {
+    while (!(SPSR & (1 << SPIF))) { /* Intentionally left empty */ }
+    buf[i] = SPDR;
+    SPDR = 0XFF;
+  }
+  while (!(SPSR & (1 << SPIF))) { /* Intentionally left empty */ }
+  buf[nbyte] = SPDR;
+}
+//------------------------------------------------------------------------------
+/** SPI send a byte */
+static void spiSend(uint8_t b) {
+  SPDR = b;
+  while (!(SPSR & (1 << SPIF))) { /* Intentionally left empty */ }
+}
+//------------------------------------------------------------------------------
+/** SPI send block - only one call so force inline */
+static inline __attribute__((always_inline))
+  void spiSendBlock(uint8_t token, const uint8_t* buf) {
+  SPDR = token;
+  for (uint16_t i = 0; i < 512; i += 2) {
+    while (!(SPSR & (1 << SPIF))) { /* Intentionally left empty */ }
+    SPDR = buf[i];
+    while (!(SPSR & (1 << SPIF))) { /* Intentionally left empty */ }
+    SPDR = buf[i + 1];
+  }
+  while (!(SPSR & (1 << SPIF))) { /* Intentionally left empty */ }
+}
+//------------------------------------------------------------------------------
+#else  // SOFTWARE_SPI
+//------------------------------------------------------------------------------
+/** nop to tune soft SPI timing */
+#define nop asm volatile ("nop\n\t")
+//------------------------------------------------------------------------------
+/** Soft SPI receive byte */
+static uint8_t spiRec() {
+  uint8_t data = 0;
+  // no interrupts during byte receive - about 8 us
+  cli();
+  // output pin high - like sending 0XFF
+  fastDigitalWrite(SPI_MOSI_PIN, HIGH);
+
+  for (uint8_t i = 0; i < 8; i++) {
+    fastDigitalWrite(SPI_SCK_PIN, HIGH);
+
+    // adjust so SCK is nice
+    nop;
+    nop;
+
+    data <<= 1;
+
+    if (fastDigitalRead(SPI_MISO_PIN)) data |= 1;
+
+    fastDigitalWrite(SPI_SCK_PIN, LOW);
+  }
+  // enable interrupts
+  sei();
+  return data;
+}
+//------------------------------------------------------------------------------
+/** Soft SPI read data */
+static void spiRead(uint8_t* buf, uint16_t nbyte) {
+  for (uint16_t i = 0; i < nbyte; i++) {
+    buf[i] = spiRec();
+  }
+}
+//------------------------------------------------------------------------------
+/** Soft SPI send byte */
+static void spiSend(uint8_t data) {
+  // no interrupts during byte send - about 8 us
+  cli();
+  for (uint8_t i = 0; i < 8; i++) {
+    fastDigitalWrite(SPI_SCK_PIN, LOW);
+
+    fastDigitalWrite(SPI_MOSI_PIN, data & 0X80);
+
+    data <<= 1;
+
+    fastDigitalWrite(SPI_SCK_PIN, HIGH);
+  }
+  // hold SCK high for a few ns
+  nop;
+  nop;
+  nop;
+  nop;
+
+  fastDigitalWrite(SPI_SCK_PIN, LOW);
+  // enable interrupts
+  sei();
+}
+//------------------------------------------------------------------------------
+/** Soft SPI send block */
+  void spiSendBlock(uint8_t token, const uint8_t* buf) {
+  spiSend(token);
+  for (uint16_t i = 0; i < 512; i++) {
+    spiSend(buf[i]);
+  }
+}
+#endif  // SOFTWARE_SPI
+//------------------------------------------------------------------------------
+// send command and return error code.  Return zero for OK
+uint8_t Sd2Card::cardCommand(uint8_t cmd, uint32_t arg) {
+  // select card
+  chipSelectLow();
+
+  // wait up to 300 ms if busy
+  waitNotBusy(300);
+
+  // send command
+  spiSend(cmd | 0x40);
+
+  // send argument
+  for (int8_t s = 24; s >= 0; s -= 8) spiSend(arg >> s);
+
+  // send CRC
+  uint8_t crc = 0XFF;
+  if (cmd == CMD0) crc = 0X95;  // correct crc for CMD0 with arg 0
+  if (cmd == CMD8) crc = 0X87;  // correct crc for CMD8 with arg 0X1AA
+  spiSend(crc);
+
+  // skip stuff byte for stop read
+  if (cmd == CMD12) spiRec();
+
+  // wait for response
+  for (uint8_t i = 0; ((status_ = spiRec()) & 0X80) && i != 0XFF; i++) { /* Intentionally left empty */ }
+  return status_;
+}
+//------------------------------------------------------------------------------
+/**
+ * Determine the size of an SD flash memory card.
+ *
+ * \return The number of 512 byte data blocks in the card
+ *         or zero if an error occurs.
+ */
+uint32_t Sd2Card::cardSize() {
+  csd_t csd;
+  if (!readCSD(&csd)) return 0;
+  if (csd.v1.csd_ver == 0) {
+    uint8_t read_bl_len = csd.v1.read_bl_len;
+    uint16_t c_size = (csd.v1.c_size_high << 10)
+                      | (csd.v1.c_size_mid << 2) | csd.v1.c_size_low;
+    uint8_t c_size_mult = (csd.v1.c_size_mult_high << 1)
+                          | csd.v1.c_size_mult_low;
+    return (uint32_t)(c_size + 1) << (c_size_mult + read_bl_len - 7);
+  } else if (csd.v2.csd_ver == 1) {
+    uint32_t c_size = ((uint32_t)csd.v2.c_size_high << 16)
+                      | (csd.v2.c_size_mid << 8) | csd.v2.c_size_low;
+    return (c_size + 1) << 10;
+  } else {
+    error(SD_CARD_ERROR_BAD_CSD);
+    return 0;
+  }
+}
+//------------------------------------------------------------------------------
+void Sd2Card::chipSelectHigh() {
+  digitalWrite(chipSelectPin_, HIGH);
+}
+//------------------------------------------------------------------------------
+void Sd2Card::chipSelectLow() {
+#ifndef SOFTWARE_SPI
+  spiInit(spiRate_);
+#endif  // SOFTWARE_SPI
+  digitalWrite(chipSelectPin_, LOW);
+}
+//------------------------------------------------------------------------------
+/** Erase a range of blocks.
+ *
+ * \param[in] firstBlock The address of the first block in the range.
+ * \param[in] lastBlock The address of the last block in the range.
+ *
+ * \note This function requests the SD card to do a flash erase for a
+ * range of blocks.  The data on the card after an erase operation is
+ * either 0 or 1, depends on the card vendor.  The card must support
+ * single block erase.
+ *
+ * \return The value one, true, is returned for success and
+ * the value zero, false, is returned for failure.
+ */
+bool Sd2Card::erase(uint32_t firstBlock, uint32_t lastBlock) {
+  csd_t csd;
+  if (!readCSD(&csd)) goto fail;
+  // check for single block erase
+  if (!csd.v1.erase_blk_en) {
+    // erase size mask
+    uint8_t m = (csd.v1.sector_size_high << 1) | csd.v1.sector_size_low;
+    if ((firstBlock & m) != 0 || ((lastBlock + 1) & m) != 0) {
+      // error card can't erase specified area
+      error(SD_CARD_ERROR_ERASE_SINGLE_BLOCK);
+      goto fail;
+    }
+  }
+  if (type_ != SD_CARD_TYPE_SDHC) {
+    firstBlock <<= 9;
+    lastBlock <<= 9;
+  }
+  if (cardCommand(CMD32, firstBlock)
+    || cardCommand(CMD33, lastBlock)
+    || cardCommand(CMD38, 0)) {
+      error(SD_CARD_ERROR_ERASE);
+      goto fail;
+  }
+  if (!waitNotBusy(SD_ERASE_TIMEOUT)) {
+    error(SD_CARD_ERROR_ERASE_TIMEOUT);
+    goto fail;
+  }
+  chipSelectHigh();
+  return true;
+
+ fail:
+  chipSelectHigh();
+  return false;
+}
+//------------------------------------------------------------------------------
+/** Determine if card supports single block erase.
+ *
+ * \return The value one, true, is returned if single block erase is supported.
+ * The value zero, false, is returned if single block erase is not supported.
+ */
+bool Sd2Card::eraseSingleBlockEnable() {
+  csd_t csd;
+  return readCSD(&csd) ? csd.v1.erase_blk_en : false;
+}
+//------------------------------------------------------------------------------
+/**
+ * Initialize an SD flash memory card.
+ *
+ * \param[in] sckRateID SPI clock rate selector. See setSckRate().
+ * \param[in] chipSelectPin SD chip select pin number.
+ *
+ * \return The value one, true, is returned for success and
+ * the value zero, false, is returned for failure.  The reason for failure
+ * can be determined by calling errorCode() and errorData().
+ */
+bool Sd2Card::init(uint8_t sckRateID, uint8_t chipSelectPin) {
+  errorCode_ = type_ = 0;
+  chipSelectPin_ = chipSelectPin;
+  // 16-bit init start time allows over a minute
+  uint16_t t0 = (uint16_t)millis();
+  uint32_t arg;
+
+  // set pin modes
+  pinMode(chipSelectPin_, OUTPUT);
+  chipSelectHigh();
+  pinMode(SPI_MISO_PIN, INPUT);
+  pinMode(SPI_MOSI_PIN, OUTPUT);
+  pinMode(SPI_SCK_PIN, OUTPUT);
+
+#ifndef SOFTWARE_SPI
+  // SS must be in output mode even it is not chip select
+  pinMode(SS_PIN, OUTPUT);
+  // set SS high - may be chip select for another SPI device
+#if SET_SPI_SS_HIGH
+  digitalWrite(SS_PIN, HIGH);
+#endif  // SET_SPI_SS_HIGH
+  // set SCK rate for initialization commands
+  spiRate_ = SPI_SD_INIT_RATE;
+  spiInit(spiRate_);
+#endif  // SOFTWARE_SPI
+
+  // must supply min of 74 clock cycles with CS high.
+  for (uint8_t i = 0; i < 10; i++) spiSend(0XFF);
+
+  // command to go idle in SPI mode
+  while ((status_ = cardCommand(CMD0, 0)) != R1_IDLE_STATE) {
+    if (((uint16_t)millis() - t0) > SD_INIT_TIMEOUT) {
+      error(SD_CARD_ERROR_CMD0);
+      goto fail;
+    }
+  }
+  // check SD version
+  if ((cardCommand(CMD8, 0x1AA) & R1_ILLEGAL_COMMAND)) {
+    type(SD_CARD_TYPE_SD1);
+  } else {
+    // only need last byte of r7 response
+    for (uint8_t i = 0; i < 4; i++) status_ = spiRec();
+    if (status_ != 0XAA) {
+      error(SD_CARD_ERROR_CMD8);
+      goto fail;
+    }
+    type(SD_CARD_TYPE_SD2);
+  }
+  // initialize card and send host supports SDHC if SD2
+  arg = type() == SD_CARD_TYPE_SD2 ? 0X40000000 : 0;
+
+  while ((status_ = cardAcmd(ACMD41, arg)) != R1_READY_STATE) {
+    // check for timeout
+    if (((uint16_t)millis() - t0) > SD_INIT_TIMEOUT) {
+      error(SD_CARD_ERROR_ACMD41);
+      goto fail;
+    }
+  }
+  // if SD2 read OCR register to check for SDHC card
+  if (type() == SD_CARD_TYPE_SD2) {
+    if (cardCommand(CMD58, 0)) {
+      error(SD_CARD_ERROR_CMD58);
+      goto fail;
+    }
+    if ((spiRec() & 0XC0) == 0XC0) type(SD_CARD_TYPE_SDHC);
+    // discard rest of ocr - contains allowed voltage range
+    for (uint8_t i = 0; i < 3; i++) spiRec();
+  }
+  chipSelectHigh();
+
+#ifndef SOFTWARE_SPI
+  return setSckRate(sckRateID);
+#else  // SOFTWARE_SPI
+  return true;
+#endif  // SOFTWARE_SPI
+
+ fail:
+  chipSelectHigh();
+  return false;
+}
+//------------------------------------------------------------------------------
+/**
+ * Read a 512 byte block from an SD card.
+ *
+ * \param[in] blockNumber Logical block to be read.
+ * \param[out] dst Pointer to the location that will receive the data.
+ * \return The value one, true, is returned for success and
+ * the value zero, false, is returned for failure.
+ */
+bool Sd2Card::readBlock(uint32_t blockNumber, uint8_t* dst) {
+#ifdef SD_CHECK_AND_RETRY
+  uint8_t retryCnt = 3;
+  // use address if not SDHC card
+  if (type()!= SD_CARD_TYPE_SDHC) blockNumber <<= 9;
+ retry2:
+  retryCnt --;
+  if (cardCommand(CMD17, blockNumber)) {
+    error(SD_CARD_ERROR_CMD17);
+    if (retryCnt > 0) goto retry;
+    goto fail;
+  }
+  if (!readData(dst, 512))
+  {
+    if (retryCnt > 0) goto retry;
+    goto fail;
+  }
+  return true;
+ retry:
+   chipSelectHigh();
+   cardCommand(CMD12, 0);//Try sending a stop command, but ignore the result.
+   errorCode_ = 0;
+   goto retry2;
+#else
+  // use address if not SDHC card
+  if (type()!= SD_CARD_TYPE_SDHC) blockNumber <<= 9;
+  if (cardCommand(CMD17, blockNumber)) {
+    error(SD_CARD_ERROR_CMD17);
+    goto fail;
+  }
+  return readData(dst, 512);
+#endif
+
+ fail:
+  chipSelectHigh();
+  return false;
+}
+//------------------------------------------------------------------------------
+/** Read one data block in a multiple block read sequence
+ *
+ * \param[in] dst Pointer to the location for the data to be read.
+ *
+ * \return The value one, true, is returned for success and
+ * the value zero, false, is returned for failure.
+ */
+bool Sd2Card::readData(uint8_t *dst) {
+  chipSelectLow();
+  return readData(dst, 512);
+}
+
+#ifdef SD_CHECK_AND_RETRY
+static const uint16_t crctab[] PROGMEM = {
+  0x0000, 0x1021, 0x2042, 0x3063, 0x4084, 0x50A5, 0x60C6, 0x70E7,
+  0x8108, 0x9129, 0xA14A, 0xB16B, 0xC18C, 0xD1AD, 0xE1CE, 0xF1EF,
+  0x1231, 0x0210, 0x3273, 0x2252, 0x52B5, 0x4294, 0x72F7, 0x62D6,
+  0x9339, 0x8318, 0xB37B, 0xA35A, 0xD3BD, 0xC39C, 0xF3FF, 0xE3DE,
+  0x2462, 0x3443, 0x0420, 0x1401, 0x64E6, 0x74C7, 0x44A4, 0x5485,
+  0xA56A, 0xB54B, 0x8528, 0x9509, 0xE5EE, 0xF5CF, 0xC5AC, 0xD58D,
+  0x3653, 0x2672, 0x1611, 0x0630, 0x76D7, 0x66F6, 0x5695, 0x46B4,
+  0xB75B, 0xA77A, 0x9719, 0x8738, 0xF7DF, 0xE7FE, 0xD79D, 0xC7BC,
+  0x48C4, 0x58E5, 0x6886, 0x78A7, 0x0840, 0x1861, 0x2802, 0x3823,
+  0xC9CC, 0xD9ED, 0xE98E, 0xF9AF, 0x8948, 0x9969, 0xA90A, 0xB92B,
+  0x5AF5, 0x4AD4, 0x7AB7, 0x6A96, 0x1A71, 0x0A50, 0x3A33, 0x2A12,
+  0xDBFD, 0xCBDC, 0xFBBF, 0xEB9E, 0x9B79, 0x8B58, 0xBB3B, 0xAB1A,
+  0x6CA6, 0x7C87, 0x4CE4, 0x5CC5, 0x2C22, 0x3C03, 0x0C60, 0x1C41,
+  0xEDAE, 0xFD8F, 0xCDEC, 0xDDCD, 0xAD2A, 0xBD0B, 0x8D68, 0x9D49,
+  0x7E97, 0x6EB6, 0x5ED5, 0x4EF4, 0x3E13, 0x2E32, 0x1E51, 0x0E70,
+  0xFF9F, 0xEFBE, 0xDFDD, 0xCFFC, 0xBF1B, 0xAF3A, 0x9F59, 0x8F78,
+  0x9188, 0x81A9, 0xB1CA, 0xA1EB, 0xD10C, 0xC12D, 0xF14E, 0xE16F,
+  0x1080, 0x00A1, 0x30C2, 0x20E3, 0x5004, 0x4025, 0x7046, 0x6067,
+  0x83B9, 0x9398, 0xA3FB, 0xB3DA, 0xC33D, 0xD31C, 0xE37F, 0xF35E,
+  0x02B1, 0x1290, 0x22F3, 0x32D2, 0x4235, 0x5214, 0x6277, 0x7256,
+  0xB5EA, 0xA5CB, 0x95A8, 0x8589, 0xF56E, 0xE54F, 0xD52C, 0xC50D,
+  0x34E2, 0x24C3, 0x14A0, 0x0481, 0x7466, 0x6447, 0x5424, 0x4405,
+  0xA7DB, 0xB7FA, 0x8799, 0x97B8, 0xE75F, 0xF77E, 0xC71D, 0xD73C,
+  0x26D3, 0x36F2, 0x0691, 0x16B0, 0x6657, 0x7676, 0x4615, 0x5634,
+  0xD94C, 0xC96D, 0xF90E, 0xE92F, 0x99C8, 0x89E9, 0xB98A, 0xA9AB,
+  0x5844, 0x4865, 0x7806, 0x6827, 0x18C0, 0x08E1, 0x3882, 0x28A3,
+  0xCB7D, 0xDB5C, 0xEB3F, 0xFB1E, 0x8BF9, 0x9BD8, 0xABBB, 0xBB9A,
+  0x4A75, 0x5A54, 0x6A37, 0x7A16, 0x0AF1, 0x1AD0, 0x2AB3, 0x3A92,
+  0xFD2E, 0xED0F, 0xDD6C, 0xCD4D, 0xBDAA, 0xAD8B, 0x9DE8, 0x8DC9,
+  0x7C26, 0x6C07, 0x5C64, 0x4C45, 0x3CA2, 0x2C83, 0x1CE0, 0x0CC1,
+  0xEF1F, 0xFF3E, 0xCF5D, 0xDF7C, 0xAF9B, 0xBFBA, 0x8FD9, 0x9FF8,
+  0x6E17, 0x7E36, 0x4E55, 0x5E74, 0x2E93, 0x3EB2, 0x0ED1, 0x1EF0
+};
+static uint16_t CRC_CCITT(const uint8_t* data, size_t n) {
+  uint16_t crc = 0;
+  for (size_t i = 0; i < n; i++) {
+    crc = pgm_read_word(&crctab[(crc >> 8 ^ data[i]) & 0XFF]) ^ (crc << 8);
+  }
+  return crc;
+}
+#endif
+
+//------------------------------------------------------------------------------
+bool Sd2Card::readData(uint8_t* dst, uint16_t count) {
+  // wait for start block token
+  uint16_t t0 = millis();
+  while ((status_ = spiRec()) == 0XFF) {
+    if (((uint16_t)millis() - t0) > SD_READ_TIMEOUT) {
+      error(SD_CARD_ERROR_READ_TIMEOUT);
+      goto fail;
+    }
+  }
+  if (status_ != DATA_START_BLOCK) {
+    error(SD_CARD_ERROR_READ);
+    goto fail;
+  }
+  // transfer data
+  spiRead(dst, count);
+
+#ifdef SD_CHECK_AND_RETRY
+  {
+    uint16_t calcCrc = CRC_CCITT(dst, count);
+    uint16_t recvCrc = spiRec() << 8;
+    recvCrc |= spiRec();
+    if (calcCrc != recvCrc)
+    {
+        error(SD_CARD_ERROR_CRC);
+        goto fail;
+    }
+  }
+#else
+  // discard CRC
+  spiRec();
+  spiRec();
+#endif
+  chipSelectHigh();
+  return true;
+
+ fail:
+  chipSelectHigh();
+  return false;
+}
+//------------------------------------------------------------------------------
+/** read CID or CSR register */
+bool Sd2Card::readRegister(uint8_t cmd, void* buf) {
+  uint8_t* dst = reinterpret_cast<uint8_t*>(buf);
+  if (cardCommand(cmd, 0)) {
+    error(SD_CARD_ERROR_READ_REG);
+    goto fail;
+  }
+  return readData(dst, 16);
+
+ fail:
+  chipSelectHigh();
+  return false;
+}
+//------------------------------------------------------------------------------
+/** Start a read multiple blocks sequence.
+ *
+ * \param[in] blockNumber Address of first block in sequence.
+ *
+ * \note This function is used with readData() and readStop() for optimized
+ * multiple block reads.  SPI chipSelect must be low for the entire sequence.
+ *
+ * \return The value one, true, is returned for success and
+ * the value zero, false, is returned for failure.
+ */
+bool Sd2Card::readStart(uint32_t blockNumber) {
+  if (type()!= SD_CARD_TYPE_SDHC) blockNumber <<= 9;
+  if (cardCommand(CMD18, blockNumber)) {
+    error(SD_CARD_ERROR_CMD18);
+    goto fail;
+  }
+  chipSelectHigh();
+  return true;
+
+ fail:
+  chipSelectHigh();
+  return false;
+}
+//------------------------------------------------------------------------------
+/** End a read multiple blocks sequence.
+ *
+* \return The value one, true, is returned for success and
+ * the value zero, false, is returned for failure.
+ */
+bool Sd2Card::readStop() {
+  chipSelectLow();
+  if (cardCommand(CMD12, 0)) {
+    error(SD_CARD_ERROR_CMD12);
+    goto fail;
+  }
+  chipSelectHigh();
+  return true;
+
+ fail:
+  chipSelectHigh();
+  return false;
+}
+//------------------------------------------------------------------------------
+/**
+ * Set the SPI clock rate.
+ *
+ * \param[in] sckRateID A value in the range [0, 6].
+ *
+ * The SPI clock will be set to F_CPU/pow(2, 1 + sckRateID). The maximum
+ * SPI rate is F_CPU/2 for \a sckRateID = 0 and the minimum rate is F_CPU/128
+ * for \a scsRateID = 6.
+ *
+ * \return The value one, true, is returned for success and the value zero,
+ * false, is returned for an invalid value of \a sckRateID.
+ */
+bool Sd2Card::setSckRate(uint8_t sckRateID) {
+  if (sckRateID > 6) {
+    error(SD_CARD_ERROR_SCK_RATE);
+    return false;
+  }
+  spiRate_ = sckRateID;
+  return true;
+}
+//------------------------------------------------------------------------------
+// wait for card to go not busy
+bool Sd2Card::waitNotBusy(uint16_t timeoutMillis) {
+  uint16_t t0 = millis();
+  while (spiRec() != 0XFF) {
+    if (((uint16_t)millis() - t0) >= timeoutMillis) goto fail;
+  }
+  return true;
+
+ fail:
+  return false;
+}
+//------------------------------------------------------------------------------
+/**
+ * Writes a 512 byte block to an SD card.
+ *
+ * \param[in] blockNumber Logical block to be written.
+ * \param[in] src Pointer to the location of the data to be written.
+ * \return The value one, true, is returned for success and
+ * the value zero, false, is returned for failure.
+ */
+bool Sd2Card::writeBlock(uint32_t blockNumber, const uint8_t* src) {
+  // use address if not SDHC card
+  if (type() != SD_CARD_TYPE_SDHC) blockNumber <<= 9;
+  if (cardCommand(CMD24, blockNumber)) {
+    error(SD_CARD_ERROR_CMD24);
+    goto fail;
+  }
+  if (!writeData(DATA_START_BLOCK, src)) goto fail;
+
+  // wait for flash programming to complete
+  if (!waitNotBusy(SD_WRITE_TIMEOUT)) {
+    error(SD_CARD_ERROR_WRITE_TIMEOUT);
+    goto fail;
+  }
+  // response is r2 so get and check two bytes for nonzero
+  if (cardCommand(CMD13, 0) || spiRec()) {
+    error(SD_CARD_ERROR_WRITE_PROGRAMMING);
+    goto fail;
+  }
+  chipSelectHigh();
+  return true;
+
+ fail:
+  chipSelectHigh();
+  return false;
+}
+//------------------------------------------------------------------------------
+/** Write one data block in a multiple block write sequence
+ * \param[in] src Pointer to the location of the data to be written.
+ * \return The value one, true, is returned for success and
+ * the value zero, false, is returned for failure.
+ */
+bool Sd2Card::writeData(const uint8_t* src) {
+  chipSelectLow();
+  // wait for previous write to finish
+  if (!waitNotBusy(SD_WRITE_TIMEOUT)) goto fail;
+  if (!writeData(WRITE_MULTIPLE_TOKEN, src)) goto fail;
+  chipSelectHigh();
+  return true;
+
+ fail:
+  error(SD_CARD_ERROR_WRITE_MULTIPLE);
+  chipSelectHigh();
+  return false;
+}
+//------------------------------------------------------------------------------
+// send one block of data for write block or write multiple blocks
+bool Sd2Card::writeData(uint8_t token, const uint8_t* src) {
+  spiSendBlock(token, src);
+
+  spiSend(0xff);  // dummy crc
+  spiSend(0xff);  // dummy crc
+
+  status_ = spiRec();
+  if ((status_ & DATA_RES_MASK) != DATA_RES_ACCEPTED) {
+    error(SD_CARD_ERROR_WRITE);
+    goto fail;
+  }
+  return true;
+
+ fail:
+  chipSelectHigh();
+  return false;
+}
+//------------------------------------------------------------------------------
+/** Start a write multiple blocks sequence.
+ *
+ * \param[in] blockNumber Address of first block in sequence.
+ * \param[in] eraseCount The number of blocks to be pre-erased.
+ *
+ * \note This function is used with writeData() and writeStop()
+ * for optimized multiple block writes.
+ *
+ * \return The value one, true, is returned for success and
+ * the value zero, false, is returned for failure.
+ */
+bool Sd2Card::writeStart(uint32_t blockNumber, uint32_t eraseCount) {
+  // send pre-erase count
+  if (cardAcmd(ACMD23, eraseCount)) {
+    error(SD_CARD_ERROR_ACMD23);
+    goto fail;
+  }
+  // use address if not SDHC card
+  if (type() != SD_CARD_TYPE_SDHC) blockNumber <<= 9;
+  if (cardCommand(CMD25, blockNumber)) {
+    error(SD_CARD_ERROR_CMD25);
+    goto fail;
+  }
+  chipSelectHigh();
+  return true;
+
+ fail:
+  chipSelectHigh();
+  return false;
+}
+//------------------------------------------------------------------------------
+/** End a write multiple blocks sequence.
+ *
+* \return The value one, true, is returned for success and
+ * the value zero, false, is returned for failure.
+ */
+bool Sd2Card::writeStop() {
+  chipSelectLow();
+  if (!waitNotBusy(SD_WRITE_TIMEOUT)) goto fail;
+  spiSend(STOP_TRAN_TOKEN);
+  if (!waitNotBusy(SD_WRITE_TIMEOUT)) goto fail;
+  chipSelectHigh();
+  return true;
+
+ fail:
+  error(SD_CARD_ERROR_STOP_TRAN);
+  chipSelectHigh();
+  return false;
+}
+
+#endif

+ 243 - 0
Sd2Card.h

@@ -0,0 +1,243 @@
+/* Arduino Sd2Card Library
+ * Copyright (C) 2009 by William Greiman
+ *
+ * This file is part of the Arduino Sd2Card Library
+ *
+ * This Library is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 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 General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with the Arduino Sd2Card Library.  If not, see
+ * <http://www.gnu.org/licenses/>.
+ */
+
+#include "Marlin.h"
+#ifdef SDSUPPORT
+
+#ifndef Sd2Card_h
+#define Sd2Card_h
+/**
+ * \file
+ * \brief Sd2Card class for V2 SD/SDHC cards
+ */
+#include "SdFatConfig.h"
+#include "Sd2PinMap.h"
+#include "SdInfo.h"
+//------------------------------------------------------------------------------
+// SPI speed is F_CPU/2^(1 + index), 0 <= index <= 6
+/** Set SCK to max rate of F_CPU/2. See Sd2Card::setSckRate(). */
+uint8_t const SPI_FULL_SPEED = 0;
+/** Set SCK rate to F_CPU/4. See Sd2Card::setSckRate(). */
+uint8_t const SPI_HALF_SPEED = 1;
+/** Set SCK rate to F_CPU/8. See Sd2Card::setSckRate(). */
+uint8_t const SPI_QUARTER_SPEED = 2;
+/** Set SCK rate to F_CPU/16. See Sd2Card::setSckRate(). */
+uint8_t const SPI_EIGHTH_SPEED = 3;
+/** Set SCK rate to F_CPU/32. See Sd2Card::setSckRate(). */
+uint8_t const SPI_SIXTEENTH_SPEED = 4;
+//------------------------------------------------------------------------------
+/** init timeout ms */
+uint16_t const SD_INIT_TIMEOUT = 2000;
+/** erase timeout ms */
+uint16_t const SD_ERASE_TIMEOUT = 10000;
+/** read timeout ms */
+uint16_t const SD_READ_TIMEOUT = 300;
+/** write time out ms */
+uint16_t const SD_WRITE_TIMEOUT = 600;
+//------------------------------------------------------------------------------
+// SD card errors
+/** timeout error for command CMD0 (initialize card in SPI mode) */
+uint8_t const SD_CARD_ERROR_CMD0 = 0X1;
+/** CMD8 was not accepted - not a valid SD card*/
+uint8_t const SD_CARD_ERROR_CMD8 = 0X2;
+/** card returned an error response for CMD12 (write stop) */
+uint8_t const SD_CARD_ERROR_CMD12 = 0X3;
+/** card returned an error response for CMD17 (read block) */
+uint8_t const SD_CARD_ERROR_CMD17 = 0X4;
+/** card returned an error response for CMD18 (read multiple block) */
+uint8_t const SD_CARD_ERROR_CMD18 = 0X5;
+/** card returned an error response for CMD24 (write block) */
+uint8_t const SD_CARD_ERROR_CMD24 = 0X6;
+/**  WRITE_MULTIPLE_BLOCKS command failed */
+uint8_t const SD_CARD_ERROR_CMD25 = 0X7;
+/** card returned an error response for CMD58 (read OCR) */
+uint8_t const SD_CARD_ERROR_CMD58 = 0X8;
+/** SET_WR_BLK_ERASE_COUNT failed */
+uint8_t const SD_CARD_ERROR_ACMD23 = 0X9;
+/** ACMD41 initialization process timeout */
+uint8_t const SD_CARD_ERROR_ACMD41 = 0XA;
+/** card returned a bad CSR version field */
+uint8_t const SD_CARD_ERROR_BAD_CSD = 0XB;
+/** erase block group command failed */
+uint8_t const SD_CARD_ERROR_ERASE = 0XC;
+/** card not capable of single block erase */
+uint8_t const SD_CARD_ERROR_ERASE_SINGLE_BLOCK = 0XD;
+/** Erase sequence timed out */
+uint8_t const SD_CARD_ERROR_ERASE_TIMEOUT = 0XE;
+/** card returned an error token instead of read data */
+uint8_t const SD_CARD_ERROR_READ = 0XF;
+/** read CID or CSD failed */
+uint8_t const SD_CARD_ERROR_READ_REG = 0X10;
+/** timeout while waiting for start of read data */
+uint8_t const SD_CARD_ERROR_READ_TIMEOUT = 0X11;
+/** card did not accept STOP_TRAN_TOKEN */
+uint8_t const SD_CARD_ERROR_STOP_TRAN = 0X12;
+/** card returned an error token as a response to a write operation */
+uint8_t const SD_CARD_ERROR_WRITE = 0X13;
+/** attempt to write protected block zero */
+uint8_t const SD_CARD_ERROR_WRITE_BLOCK_ZERO = 0X14;  // REMOVE - not used
+/** card did not go ready for a multiple block write */
+uint8_t const SD_CARD_ERROR_WRITE_MULTIPLE = 0X15;
+/** card returned an error to a CMD13 status check after a write */
+uint8_t const SD_CARD_ERROR_WRITE_PROGRAMMING = 0X16;
+/** timeout occurred during write programming */
+uint8_t const SD_CARD_ERROR_WRITE_TIMEOUT = 0X17;
+/** incorrect rate selected */
+uint8_t const SD_CARD_ERROR_SCK_RATE = 0X18;
+/** init() not called */
+uint8_t const SD_CARD_ERROR_INIT_NOT_CALLED = 0X19;
+/** crc check error */
+uint8_t const SD_CARD_ERROR_CRC = 0X20;
+//------------------------------------------------------------------------------
+// card types
+/** Standard capacity V1 SD card */
+uint8_t const SD_CARD_TYPE_SD1  = 1;
+/** Standard capacity V2 SD card */
+uint8_t const SD_CARD_TYPE_SD2  = 2;
+/** High Capacity SD card */
+uint8_t const SD_CARD_TYPE_SDHC = 3;
+/**
+ * define SOFTWARE_SPI to use bit-bang SPI
+ */
+//------------------------------------------------------------------------------
+#if MEGA_SOFT_SPI && (defined(__AVR_ATmega1280__)||defined(__AVR_ATmega2560__))
+#define SOFTWARE_SPI
+#elif USE_SOFTWARE_SPI
+#define SOFTWARE_SPI
+#endif  // MEGA_SOFT_SPI
+//------------------------------------------------------------------------------
+// SPI pin definitions - do not edit here - change in SdFatConfig.h
+//
+#ifndef SOFTWARE_SPI
+// hardware pin defs
+/** The default chip select pin for the SD card is SS. */
+uint8_t const  SD_CHIP_SELECT_PIN = SS_PIN;
+// The following three pins must not be redefined for hardware SPI.
+/** SPI Master Out Slave In pin */
+uint8_t const  SPI_MOSI_PIN = MOSI_PIN;
+/** SPI Master In Slave Out pin */
+uint8_t const  SPI_MISO_PIN = MISO_PIN;
+/** SPI Clock pin */
+uint8_t const  SPI_SCK_PIN = SCK_PIN;
+
+#else  // SOFTWARE_SPI
+
+/** SPI chip select pin */
+uint8_t const SD_CHIP_SELECT_PIN = SOFT_SPI_CS_PIN;
+/** SPI Master Out Slave In pin */
+uint8_t const SPI_MOSI_PIN = SOFT_SPI_MOSI_PIN;
+/** SPI Master In Slave Out pin */
+uint8_t const SPI_MISO_PIN = SOFT_SPI_MISO_PIN;
+/** SPI Clock pin */
+uint8_t const SPI_SCK_PIN = SOFT_SPI_SCK_PIN;
+#endif  // SOFTWARE_SPI
+//------------------------------------------------------------------------------
+/**
+ * \class Sd2Card
+ * \brief Raw access to SD and SDHC flash memory cards.
+ */
+class Sd2Card {
+ public:
+  /** Construct an instance of Sd2Card. */
+  Sd2Card() : errorCode_(SD_CARD_ERROR_INIT_NOT_CALLED), type_(0) {}
+  uint32_t cardSize();
+  bool erase(uint32_t firstBlock, uint32_t lastBlock);
+  bool eraseSingleBlockEnable();
+  /**
+   *  Set SD error code.
+   *  \param[in] code value for error code.
+   */
+  void error(uint8_t code) {errorCode_ = code;}
+  /**
+   * \return error code for last error. See Sd2Card.h for a list of error codes.
+   */
+  int errorCode() const {return errorCode_;}
+  /** \return error data for last error. */
+  int errorData() const {return status_;}
+  /**
+   * Initialize an SD flash memory card with default clock rate and chip
+   * select pin.  See sd2Card::init(uint8_t sckRateID, uint8_t chipSelectPin).
+   *
+   * \return true for success or false for failure.
+   */
+  bool init(uint8_t sckRateID = SPI_FULL_SPEED,
+    uint8_t chipSelectPin = SD_CHIP_SELECT_PIN);
+  bool readBlock(uint32_t block, uint8_t* dst);
+  /**
+   * Read a card's CID register. The CID contains card identification
+   * information such as Manufacturer ID, Product name, Product serial
+   * number and Manufacturing date. 
+   *
+   * \param[out] cid pointer to area for returned data.
+   *
+   * \return true for success or false for failure.
+   */
+  bool readCID(cid_t* cid) {
+    return readRegister(CMD10, cid);
+  }
+  /**
+   * Read a card's CSD register. The CSD contains Card-Specific Data that
+   * provides information regarding access to the card's contents.
+   *
+   * \param[out] csd pointer to area for returned data.
+   *
+   * \return true for success or false for failure.
+   */
+  bool readCSD(csd_t* csd) {
+    return readRegister(CMD9, csd);
+  }
+  bool readData(uint8_t *dst);
+  bool readStart(uint32_t blockNumber);
+  bool readStop();
+  bool setSckRate(uint8_t sckRateID);
+  /** Return the card type: SD V1, SD V2 or SDHC
+   * \return 0 - SD V1, 1 - SD V2, or 3 - SDHC.
+   */
+  int type() const {return type_;}
+  bool writeBlock(uint32_t blockNumber, const uint8_t* src);
+  bool writeData(const uint8_t* src);
+  bool writeStart(uint32_t blockNumber, uint32_t eraseCount);
+  bool writeStop();
+ private:
+  //----------------------------------------------------------------------------
+  uint8_t chipSelectPin_;
+  uint8_t errorCode_;
+  uint8_t spiRate_;
+  uint8_t status_;
+  uint8_t type_;
+  // private functions
+  uint8_t cardAcmd(uint8_t cmd, uint32_t arg) {
+    cardCommand(CMD55, 0);
+    return cardCommand(cmd, arg);
+  }
+  uint8_t cardCommand(uint8_t cmd, uint32_t arg);
+
+  bool readData(uint8_t* dst, uint16_t count);
+  bool readRegister(uint8_t cmd, void* buf);
+  void chipSelectHigh();
+  void chipSelectLow();
+  void type(uint8_t value) {type_ = value;}
+  bool waitNotBusy(uint16_t timeoutMillis);
+  bool writeData(uint8_t token, const uint8_t* src);
+};
+#endif  // Sd2Card_h
+
+
+#endif

+ 368 - 0
Sd2PinMap.h

@@ -0,0 +1,368 @@
+/* Arduino SdFat Library
+ * Copyright (C) 2010 by William Greiman
+ *
+ * This file is part of the Arduino SdFat Library
+ *
+ * This Library is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 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 General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with the Arduino SdFat Library.  If not, see
+ * <http://www.gnu.org/licenses/>.
+ */
+// Warning this file was generated by a program.
+#include "Marlin.h"
+#ifdef SDSUPPORT
+
+#ifndef Sd2PinMap_h
+#define Sd2PinMap_h
+#include <avr/io.h>
+//------------------------------------------------------------------------------
+/** struct for mapping digital pins */
+struct pin_map_t {
+  volatile uint8_t* ddr;
+  volatile uint8_t* pin;
+  volatile uint8_t* port;
+  uint8_t bit;
+};
+//------------------------------------------------------------------------------
+#if defined(__AVR_ATmega1280__)\
+|| defined(__AVR_ATmega2560__)
+// Mega
+
+// Two Wire (aka I2C) ports
+uint8_t const SDA_PIN = 20;  // D1
+uint8_t const SCL_PIN = 21;  // D0
+
+#undef MOSI_PIN
+#undef MISO_PIN
+// SPI port
+uint8_t const SS_PIN = 53;    // B0
+uint8_t const MOSI_PIN = 51;  // B2
+uint8_t const MISO_PIN = 50;  // B3
+uint8_t const SCK_PIN = 52;   // B1
+
+static const pin_map_t digitalPinMap[] = {
+  {&DDRE, &PINE, &PORTE, 0},  // E0  0
+  {&DDRE, &PINE, &PORTE, 1},  // E1  1
+  {&DDRE, &PINE, &PORTE, 4},  // E4  2
+  {&DDRE, &PINE, &PORTE, 5},  // E5  3
+  {&DDRG, &PING, &PORTG, 5},  // G5  4
+  {&DDRE, &PINE, &PORTE, 3},  // E3  5
+  {&DDRH, &PINH, &PORTH, 3},  // H3  6
+  {&DDRH, &PINH, &PORTH, 4},  // H4  7
+  {&DDRH, &PINH, &PORTH, 5},  // H5  8
+  {&DDRH, &PINH, &PORTH, 6},  // H6  9
+  {&DDRB, &PINB, &PORTB, 4},  // B4 10
+  {&DDRB, &PINB, &PORTB, 5},  // B5 11
+  {&DDRB, &PINB, &PORTB, 6},  // B6 12
+  {&DDRB, &PINB, &PORTB, 7},  // B7 13
+  {&DDRJ, &PINJ, &PORTJ, 1},  // J1 14
+  {&DDRJ, &PINJ, &PORTJ, 0},  // J0 15
+  {&DDRH, &PINH, &PORTH, 1},  // H1 16
+  {&DDRH, &PINH, &PORTH, 0},  // H0 17
+  {&DDRD, &PIND, &PORTD, 3},  // D3 18
+  {&DDRD, &PIND, &PORTD, 2},  // D2 19
+  {&DDRD, &PIND, &PORTD, 1},  // D1 20
+  {&DDRD, &PIND, &PORTD, 0},  // D0 21
+  {&DDRA, &PINA, &PORTA, 0},  // A0 22
+  {&DDRA, &PINA, &PORTA, 1},  // A1 23
+  {&DDRA, &PINA, &PORTA, 2},  // A2 24
+  {&DDRA, &PINA, &PORTA, 3},  // A3 25
+  {&DDRA, &PINA, &PORTA, 4},  // A4 26
+  {&DDRA, &PINA, &PORTA, 5},  // A5 27
+  {&DDRA, &PINA, &PORTA, 6},  // A6 28
+  {&DDRA, &PINA, &PORTA, 7},  // A7 29
+  {&DDRC, &PINC, &PORTC, 7},  // C7 30
+  {&DDRC, &PINC, &PORTC, 6},  // C6 31
+  {&DDRC, &PINC, &PORTC, 5},  // C5 32
+  {&DDRC, &PINC, &PORTC, 4},  // C4 33
+  {&DDRC, &PINC, &PORTC, 3},  // C3 34
+  {&DDRC, &PINC, &PORTC, 2},  // C2 35
+  {&DDRC, &PINC, &PORTC, 1},  // C1 36
+  {&DDRC, &PINC, &PORTC, 0},  // C0 37
+  {&DDRD, &PIND, &PORTD, 7},  // D7 38
+  {&DDRG, &PING, &PORTG, 2},  // G2 39
+  {&DDRG, &PING, &PORTG, 1},  // G1 40
+  {&DDRG, &PING, &PORTG, 0},  // G0 41
+  {&DDRL, &PINL, &PORTL, 7},  // L7 42
+  {&DDRL, &PINL, &PORTL, 6},  // L6 43
+  {&DDRL, &PINL, &PORTL, 5},  // L5 44
+  {&DDRL, &PINL, &PORTL, 4},  // L4 45
+  {&DDRL, &PINL, &PORTL, 3},  // L3 46
+  {&DDRL, &PINL, &PORTL, 2},  // L2 47
+  {&DDRL, &PINL, &PORTL, 1},  // L1 48
+  {&DDRL, &PINL, &PORTL, 0},  // L0 49
+  {&DDRB, &PINB, &PORTB, 3},  // B3 50
+  {&DDRB, &PINB, &PORTB, 2},  // B2 51
+  {&DDRB, &PINB, &PORTB, 1},  // B1 52
+  {&DDRB, &PINB, &PORTB, 0},  // B0 53
+  {&DDRF, &PINF, &PORTF, 0},  // F0 54
+  {&DDRF, &PINF, &PORTF, 1},  // F1 55
+  {&DDRF, &PINF, &PORTF, 2},  // F2 56
+  {&DDRF, &PINF, &PORTF, 3},  // F3 57
+  {&DDRF, &PINF, &PORTF, 4},  // F4 58
+  {&DDRF, &PINF, &PORTF, 5},  // F5 59
+  {&DDRF, &PINF, &PORTF, 6},  // F6 60
+  {&DDRF, &PINF, &PORTF, 7},  // F7 61
+  {&DDRK, &PINK, &PORTK, 0},  // K0 62
+  {&DDRK, &PINK, &PORTK, 1},  // K1 63
+  {&DDRK, &PINK, &PORTK, 2},  // K2 64
+  {&DDRK, &PINK, &PORTK, 3},  // K3 65
+  {&DDRK, &PINK, &PORTK, 4},  // K4 66
+  {&DDRK, &PINK, &PORTK, 5},  // K5 67
+  {&DDRK, &PINK, &PORTK, 6},  // K6 68
+  {&DDRK, &PINK, &PORTK, 7}   // K7 69
+};
+//------------------------------------------------------------------------------
+#elif defined(__AVR_ATmega644P__)\
+|| defined(__AVR_ATmega644__)\
+|| defined(__AVR_ATmega1284P__)
+// Sanguino
+
+// Two Wire (aka I2C) ports
+uint8_t const SDA_PIN = 17;  // C1
+uint8_t const SCL_PIN = 18;  // C2
+
+// SPI port
+uint8_t const SS_PIN = 4;    // B4
+uint8_t const MOSI_PIN = 5;  // B5
+uint8_t const MISO_PIN = 6;  // B6
+uint8_t const SCK_PIN = 7;   // B7
+
+static const pin_map_t digitalPinMap[] = {
+  {&DDRB, &PINB, &PORTB, 0},  // B0  0
+  {&DDRB, &PINB, &PORTB, 1},  // B1  1
+  {&DDRB, &PINB, &PORTB, 2},  // B2  2
+  {&DDRB, &PINB, &PORTB, 3},  // B3  3
+  {&DDRB, &PINB, &PORTB, 4},  // B4  4
+  {&DDRB, &PINB, &PORTB, 5},  // B5  5
+  {&DDRB, &PINB, &PORTB, 6},  // B6  6
+  {&DDRB, &PINB, &PORTB, 7},  // B7  7
+  {&DDRD, &PIND, &PORTD, 0},  // D0  8
+  {&DDRD, &PIND, &PORTD, 1},  // D1  9
+  {&DDRD, &PIND, &PORTD, 2},  // D2 10
+  {&DDRD, &PIND, &PORTD, 3},  // D3 11
+  {&DDRD, &PIND, &PORTD, 4},  // D4 12
+  {&DDRD, &PIND, &PORTD, 5},  // D5 13
+  {&DDRD, &PIND, &PORTD, 6},  // D6 14
+  {&DDRD, &PIND, &PORTD, 7},  // D7 15
+  {&DDRC, &PINC, &PORTC, 0},  // C0 16
+  {&DDRC, &PINC, &PORTC, 1},  // C1 17
+  {&DDRC, &PINC, &PORTC, 2},  // C2 18
+  {&DDRC, &PINC, &PORTC, 3},  // C3 19
+  {&DDRC, &PINC, &PORTC, 4},  // C4 20
+  {&DDRC, &PINC, &PORTC, 5},  // C5 21
+  {&DDRC, &PINC, &PORTC, 6},  // C6 22
+  {&DDRC, &PINC, &PORTC, 7},  // C7 23
+  {&DDRA, &PINA, &PORTA, 7},  // A7 24
+  {&DDRA, &PINA, &PORTA, 6},  // A6 25
+  {&DDRA, &PINA, &PORTA, 5},  // A5 26
+  {&DDRA, &PINA, &PORTA, 4},  // A4 27
+  {&DDRA, &PINA, &PORTA, 3},  // A3 28
+  {&DDRA, &PINA, &PORTA, 2},  // A2 29
+  {&DDRA, &PINA, &PORTA, 1},  // A1 30
+  {&DDRA, &PINA, &PORTA, 0}   // A0 31
+};
+//------------------------------------------------------------------------------
+#elif defined(__AVR_ATmega32U4__)
+// Teensy 2.0
+
+// Two Wire (aka I2C) ports
+uint8_t const SDA_PIN = 6;  // D1
+uint8_t const SCL_PIN = 5;  // D0
+
+// SPI port
+uint8_t const SS_PIN = 0;    // B0
+uint8_t const MOSI_PIN = 2;  // B2
+uint8_t const MISO_PIN = 3;  // B3
+uint8_t const SCK_PIN = 1;   // B1
+
+static const pin_map_t digitalPinMap[] = {
+  {&DDRB, &PINB, &PORTB, 0},  // B0  0
+  {&DDRB, &PINB, &PORTB, 1},  // B1  1
+  {&DDRB, &PINB, &PORTB, 2},  // B2  2
+  {&DDRB, &PINB, &PORTB, 3},  // B3  3
+  {&DDRB, &PINB, &PORTB, 7},  // B7  4
+  {&DDRD, &PIND, &PORTD, 0},  // D0  5
+  {&DDRD, &PIND, &PORTD, 1},  // D1  6
+  {&DDRD, &PIND, &PORTD, 2},  // D2  7
+  {&DDRD, &PIND, &PORTD, 3},  // D3  8
+  {&DDRC, &PINC, &PORTC, 6},  // C6  9
+  {&DDRC, &PINC, &PORTC, 7},  // C7 10
+  {&DDRD, &PIND, &PORTD, 6},  // D6 11
+  {&DDRD, &PIND, &PORTD, 7},  // D7 12
+  {&DDRB, &PINB, &PORTB, 4},  // B4 13
+  {&DDRB, &PINB, &PORTB, 5},  // B5 14
+  {&DDRB, &PINB, &PORTB, 6},  // B6 15
+  {&DDRF, &PINF, &PORTF, 7},  // F7 16
+  {&DDRF, &PINF, &PORTF, 6},  // F6 17
+  {&DDRF, &PINF, &PORTF, 5},  // F5 18
+  {&DDRF, &PINF, &PORTF, 4},  // F4 19
+  {&DDRF, &PINF, &PORTF, 1},  // F1 20
+  {&DDRF, &PINF, &PORTF, 0},  // F0 21
+  {&DDRD, &PIND, &PORTD, 4},  // D4 22
+  {&DDRD, &PIND, &PORTD, 5},  // D5 23
+  {&DDRE, &PINE, &PORTE, 6}   // E6 24
+};
+//------------------------------------------------------------------------------
+#elif defined(__AVR_AT90USB646__)\
+|| defined(__AVR_AT90USB1286__)
+// Teensy++ 1.0 & 2.0
+
+// Two Wire (aka I2C) ports
+uint8_t const SDA_PIN = 1;  // D1
+uint8_t const SCL_PIN = 0;  // D0
+
+// SPI port
+uint8_t const SS_PIN    = 20;    // B0
+uint8_t const MOSI_PIN  = 22;    // B2
+uint8_t const MISO_PIN  = 23;    // B3
+uint8_t const SCK_PIN   = 21;    // B1
+
+static const pin_map_t digitalPinMap[] = {
+  {&DDRD, &PIND, &PORTD, 0},  // D0  0
+  {&DDRD, &PIND, &PORTD, 1},  // D1  1
+  {&DDRD, &PIND, &PORTD, 2},  // D2  2
+  {&DDRD, &PIND, &PORTD, 3},  // D3  3
+  {&DDRD, &PIND, &PORTD, 4},  // D4  4
+  {&DDRD, &PIND, &PORTD, 5},  // D5  5
+  {&DDRD, &PIND, &PORTD, 6},  // D6  6
+  {&DDRD, &PIND, &PORTD, 7},  // D7  7
+  {&DDRE, &PINE, &PORTE, 0},  // E0  8
+  {&DDRE, &PINE, &PORTE, 1},  // E1  9
+  {&DDRC, &PINC, &PORTC, 0},  // C0 10
+  {&DDRC, &PINC, &PORTC, 1},  // C1 11
+  {&DDRC, &PINC, &PORTC, 2},  // C2 12
+  {&DDRC, &PINC, &PORTC, 3},  // C3 13
+  {&DDRC, &PINC, &PORTC, 4},  // C4 14
+  {&DDRC, &PINC, &PORTC, 5},  // C5 15
+  {&DDRC, &PINC, &PORTC, 6},  // C6 16
+  {&DDRC, &PINC, &PORTC, 7},  // C7 17
+  {&DDRE, &PINE, &PORTE, 6},  // E6 18
+  {&DDRE, &PINE, &PORTE, 7},  // E7 19
+  {&DDRB, &PINB, &PORTB, 0},  // B0 20
+  {&DDRB, &PINB, &PORTB, 1},  // B1 21
+  {&DDRB, &PINB, &PORTB, 2},  // B2 22
+  {&DDRB, &PINB, &PORTB, 3},  // B3 23
+  {&DDRB, &PINB, &PORTB, 4},  // B4 24
+  {&DDRB, &PINB, &PORTB, 5},  // B5 25
+  {&DDRB, &PINB, &PORTB, 6},  // B6 26
+  {&DDRB, &PINB, &PORTB, 7},  // B7 27
+  {&DDRA, &PINA, &PORTA, 0},  // A0 28
+  {&DDRA, &PINA, &PORTA, 1},  // A1 29
+  {&DDRA, &PINA, &PORTA, 2},  // A2 30
+  {&DDRA, &PINA, &PORTA, 3},  // A3 31
+  {&DDRA, &PINA, &PORTA, 4},  // A4 32
+  {&DDRA, &PINA, &PORTA, 5},  // A5 33
+  {&DDRA, &PINA, &PORTA, 6},  // A6 34
+  {&DDRA, &PINA, &PORTA, 7},  // A7 35
+  {&DDRE, &PINE, &PORTE, 4},  // E4 36
+  {&DDRE, &PINE, &PORTE, 5},  // E5 37
+  {&DDRF, &PINF, &PORTF, 0},  // F0 38
+  {&DDRF, &PINF, &PORTF, 1},  // F1 39
+  {&DDRF, &PINF, &PORTF, 2},  // F2 40
+  {&DDRF, &PINF, &PORTF, 3},  // F3 41
+  {&DDRF, &PINF, &PORTF, 4},  // F4 42
+  {&DDRF, &PINF, &PORTF, 5},  // F5 43
+  {&DDRF, &PINF, &PORTF, 6},  // F6 44
+  {&DDRF, &PINF, &PORTF, 7}   // F7 45
+};
+//------------------------------------------------------------------------------
+#elif defined(__AVR_ATmega168__)\
+||defined(__AVR_ATmega168P__)\
+||defined(__AVR_ATmega328P__)
+// 168 and 328 Arduinos
+
+// Two Wire (aka I2C) ports
+uint8_t const SDA_PIN = 18;  // C4
+uint8_t const SCL_PIN = 19;  // C5
+
+// SPI port
+uint8_t const SS_PIN = 10;    // B2
+uint8_t const MOSI_PIN = 11;  // B3
+uint8_t const MISO_PIN = 12;  // B4
+uint8_t const SCK_PIN = 13;   // B5
+
+static const pin_map_t digitalPinMap[] = {
+  {&DDRD, &PIND, &PORTD, 0},  // D0  0
+  {&DDRD, &PIND, &PORTD, 1},  // D1  1
+  {&DDRD, &PIND, &PORTD, 2},  // D2  2
+  {&DDRD, &PIND, &PORTD, 3},  // D3  3
+  {&DDRD, &PIND, &PORTD, 4},  // D4  4
+  {&DDRD, &PIND, &PORTD, 5},  // D5  5
+  {&DDRD, &PIND, &PORTD, 6},  // D6  6
+  {&DDRD, &PIND, &PORTD, 7},  // D7  7
+  {&DDRB, &PINB, &PORTB, 0},  // B0  8
+  {&DDRB, &PINB, &PORTB, 1},  // B1  9
+  {&DDRB, &PINB, &PORTB, 2},  // B2 10
+  {&DDRB, &PINB, &PORTB, 3},  // B3 11
+  {&DDRB, &PINB, &PORTB, 4},  // B4 12
+  {&DDRB, &PINB, &PORTB, 5},  // B5 13
+  {&DDRC, &PINC, &PORTC, 0},  // C0 14
+  {&DDRC, &PINC, &PORTC, 1},  // C1 15
+  {&DDRC, &PINC, &PORTC, 2},  // C2 16
+  {&DDRC, &PINC, &PORTC, 3},  // C3 17
+  {&DDRC, &PINC, &PORTC, 4},  // C4 18
+  {&DDRC, &PINC, &PORTC, 5}   // C5 19
+};
+#else  // defined(__AVR_ATmega1280__)
+#error unknown chip
+#endif  // defined(__AVR_ATmega1280__)
+//------------------------------------------------------------------------------
+static const uint8_t digitalPinCount = sizeof(digitalPinMap)/sizeof(pin_map_t);
+
+uint8_t badPinNumber(void)
+  __attribute__((error("Pin number is too large or not a constant")));
+
+static inline __attribute__((always_inline))
+  bool getPinMode(uint8_t pin) {
+  if (__builtin_constant_p(pin) && pin < digitalPinCount) {
+    return (*digitalPinMap[pin].ddr >> digitalPinMap[pin].bit) & 1;
+  } else {
+    return badPinNumber();
+  }
+}
+static inline __attribute__((always_inline))
+  void setPinMode(uint8_t pin, uint8_t mode) {
+  if (__builtin_constant_p(pin) && pin < digitalPinCount) {
+    if (mode) {
+      *digitalPinMap[pin].ddr |= 1 << digitalPinMap[pin].bit;
+    } else {
+      *digitalPinMap[pin].ddr &= ~(1 << digitalPinMap[pin].bit);
+    }
+  } else {
+    badPinNumber();
+  }
+}
+static inline __attribute__((always_inline))
+  bool fastDigitalRead(uint8_t pin) {
+  if (__builtin_constant_p(pin) && pin < digitalPinCount) {
+    return (*digitalPinMap[pin].pin >> digitalPinMap[pin].bit) & 1;
+  } else {
+    return badPinNumber();
+  }
+}
+static inline __attribute__((always_inline))
+  void fastDigitalWrite(uint8_t pin, uint8_t value) {
+  if (__builtin_constant_p(pin) && pin < digitalPinCount) {
+    if (value) {
+      *digitalPinMap[pin].port |= 1 << digitalPinMap[pin].bit;
+    } else {
+      *digitalPinMap[pin].port &= ~(1 << digitalPinMap[pin].bit);
+    }
+  } else {
+    badPinNumber();
+  }
+}
+#endif  // Sd2PinMap_h
+
+
+#endif

+ 1825 - 0
SdBaseFile.cpp

@@ -0,0 +1,1825 @@
+/* Arduino SdFat Library
+ * Copyright (C) 2009 by William Greiman
+ *
+ * This file is part of the Arduino SdFat Library
+ *
+ * This Library is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 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 General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with the Arduino SdFat Library.  If not, see
+ * <http://www.gnu.org/licenses/>.
+ */
+
+#include "Marlin.h"
+#ifdef SDSUPPORT
+
+#include "SdBaseFile.h"
+//------------------------------------------------------------------------------
+// pointer to cwd directory
+SdBaseFile* SdBaseFile::cwd_ = 0;
+// callback function for date/time
+void (*SdBaseFile::dateTime_)(uint16_t* date, uint16_t* time) = 0;
+//------------------------------------------------------------------------------
+// add a cluster to a file
+bool SdBaseFile::addCluster() {
+  if (!vol_->allocContiguous(1, &curCluster_)) goto fail;
+
+  // if first cluster of file link to directory entry
+  if (firstCluster_ == 0) {
+    firstCluster_ = curCluster_;
+    flags_ |= F_FILE_DIR_DIRTY;
+  }
+  return true;
+
+ fail:
+  return false;
+}
+//------------------------------------------------------------------------------
+// Add a cluster to a directory file and zero the cluster.
+// return with first block of cluster in the cache
+bool SdBaseFile::addDirCluster() {
+  uint32_t block;
+  // max folder size
+  if (fileSize_/sizeof(dir_t) >= 0XFFFF) goto fail;
+
+  if (!addCluster()) goto fail;
+  if (!vol_->cacheFlush()) goto fail;
+
+  block = vol_->clusterStartBlock(curCluster_);
+
+  // set cache to first block of cluster
+  vol_->cacheSetBlockNumber(block, true);
+
+  // zero first block of cluster
+  memset(vol_->cacheBuffer_.data, 0, 512);
+
+  // zero rest of cluster
+  for (uint8_t i = 1; i < vol_->blocksPerCluster_; i++) {
+    if (!vol_->writeBlock(block + i, vol_->cacheBuffer_.data)) goto fail;
+  }
+  // Increase directory file size by cluster size
+  fileSize_ += 512UL << vol_->clusterSizeShift_;
+  return true;
+
+ fail:
+  return false;
+}
+//------------------------------------------------------------------------------
+// cache a file's directory entry
+// return pointer to cached entry or null for failure
+dir_t* SdBaseFile::cacheDirEntry(uint8_t action) {
+  if (!vol_->cacheRawBlock(dirBlock_, action)) goto fail;
+  return vol_->cache()->dir + dirIndex_;
+
+ fail:
+  return 0;
+}
+//------------------------------------------------------------------------------
+/** Close a file and force cached data and directory information
+ *  to be written to the storage device.
+ *
+ * \return The value one, true, is returned for success and
+ * the value zero, false, is returned for failure.
+ * Reasons for failure include no file is open or an I/O error.
+ */
+bool SdBaseFile::close() {
+  bool rtn = sync();
+  type_ = FAT_FILE_TYPE_CLOSED;
+  return rtn;
+}
+//------------------------------------------------------------------------------
+/** Check for contiguous file and return its raw block range.
+ *
+ * \param[out] bgnBlock the first block address for the file.
+ * \param[out] endBlock the last  block address for the file.
+ *
+ * \return The value one, true, is returned for success and
+ * the value zero, false, is returned for failure.
+ * Reasons for failure include file is not contiguous, file has zero length
+ * or an I/O error occurred.
+ */
+bool SdBaseFile::contiguousRange(uint32_t* bgnBlock, uint32_t* endBlock) {
+  // error if no blocks
+  if (firstCluster_ == 0) goto fail;
+
+  for (uint32_t c = firstCluster_; ; c++) {
+    uint32_t next;
+    if (!vol_->fatGet(c, &next)) goto fail;
+
+    // check for contiguous
+    if (next != (c + 1)) {
+      // error if not end of chain
+      if (!vol_->isEOC(next)) goto fail;
+      *bgnBlock = vol_->clusterStartBlock(firstCluster_);
+      *endBlock = vol_->clusterStartBlock(c)
+                  + vol_->blocksPerCluster_ - 1;
+      return true;
+    }
+  }
+
+ fail:
+  return false;
+}
+//------------------------------------------------------------------------------
+/** Create and open a new contiguous file of a specified size.
+ *
+ * \note This function only supports short DOS 8.3 names.
+ * See open() for more information.
+ *
+ * \param[in] dirFile The directory where the file will be created.
+ * \param[in] path A path with a valid DOS 8.3 file name.
+ * \param[in] size The desired file size.
+ *
+ * \return The value one, true, is returned for success and
+ * the value zero, false, is returned for failure.
+ * Reasons for failure include \a path contains
+ * an invalid DOS 8.3 file name, the FAT volume has not been initialized,
+ * a file is already open, the file already exists, the root
+ * directory is full or an I/O error.
+ *
+ */
+bool SdBaseFile::createContiguous(SdBaseFile* dirFile,
+        const char* path, uint32_t size) {
+  uint32_t count;
+  // don't allow zero length file
+  if (size == 0) goto fail;
+  if (!open(dirFile, path, O_CREAT | O_EXCL | O_RDWR)) goto fail;
+
+  // calculate number of clusters needed
+  count = ((size - 1) >> (vol_->clusterSizeShift_ + 9)) + 1;
+
+  // allocate clusters
+  if (!vol_->allocContiguous(count, &firstCluster_)) {
+    remove();
+    goto fail;
+  }
+  fileSize_ = size;
+
+  // insure sync() will update dir entry
+  flags_ |= F_FILE_DIR_DIRTY;
+
+  return sync();
+
+ fail:
+  return false;
+}
+//------------------------------------------------------------------------------
+/** Return a file's directory entry.
+ *
+ * \param[out] dir Location for return of the file's directory entry.
+ *
+ * \return The value one, true, is returned for success and
+ * the value zero, false, is returned for failure.
+ */
+bool SdBaseFile::dirEntry(dir_t* dir) {
+  dir_t* p;
+  // make sure fields on SD are correct
+  if (!sync()) goto fail;
+
+  // read entry
+  p = cacheDirEntry(SdVolume::CACHE_FOR_READ);
+  if (!p) goto fail;
+
+  // copy to caller's struct
+  memcpy(dir, p, sizeof(dir_t));
+  return true;
+
+ fail:
+  return false;
+}
+//------------------------------------------------------------------------------
+/** Format the name field of \a dir into the 13 byte array
+ * \a name in standard 8.3 short name format.
+ *
+ * \param[in] dir The directory structure containing the name.
+ * \param[out] name A 13 byte char array for the formatted name.
+ */
+void SdBaseFile::dirName(const dir_t& dir, char* name) {
+  uint8_t j = 0;
+  for (uint8_t i = 0; i < 11; i++) {
+    if (dir.name[i] == ' ')continue;
+    if (i == 8) name[j++] = '.';
+    name[j++] = dir.name[i];
+  }
+  name[j] = 0;
+}
+//------------------------------------------------------------------------------
+/** Test for the existence of a file in a directory
+ *
+ * \param[in] name Name of the file to be tested for.
+ *
+ * The calling instance must be an open directory file.
+ *
+ * dirFile.exists("TOFIND.TXT") searches for "TOFIND.TXT" in  the directory
+ * dirFile.
+ *
+ * \return true if the file exists else false.
+ */
+bool SdBaseFile::exists(const char* name) {
+  SdBaseFile file;
+  return file.open(this, name, O_READ);
+}
+//------------------------------------------------------------------------------
+/**
+ * Get a string from a file.
+ *
+ * fgets() reads bytes from a file into the array pointed to by \a str, until
+ * \a num - 1 bytes are read, or a delimiter is read and transferred to \a str,
+ * or end-of-file is encountered. The string is then terminated
+ * with a null byte.
+ *
+ * fgets() deletes CR, '\\r', from the string.  This insures only a '\\n'
+ * terminates the string for Windows text files which use CRLF for newline.
+ *
+ * \param[out] str Pointer to the array where the string is stored.
+ * \param[in] num Maximum number of characters to be read
+ * (including the final null byte). Usually the length
+ * of the array \a str is used.
+ * \param[in] delim Optional set of delimiters. The default is "\n".
+ *
+ * \return For success fgets() returns the length of the string in \a str.
+ * If no data is read, fgets() returns zero for EOF or -1 if an error occurred.
+ **/
+int16_t SdBaseFile::fgets(char* str, int16_t num, char* delim) {
+  char ch;
+  int16_t n = 0;
+  int16_t r = -1;
+  while ((n + 1) < num && (r = read(&ch, 1)) == 1) {
+    // delete CR
+    if (ch == '\r') continue;
+    str[n++] = ch;
+    if (!delim) {
+      if (ch == '\n') break;
+    } else {
+      if (strchr(delim, ch)) break;
+    }
+  }
+  if (r < 0) {
+    // read error
+    return -1;
+  }
+  str[n] = '\0';
+  return n;
+}
+//------------------------------------------------------------------------------
+/** Get a file's name
+ *
+ * \param[out] name An array of 13 characters for the file's name.
+ *
+ * \return The value one, true, is returned for success and
+ * the value zero, false, is returned for failure.
+ */
+bool SdBaseFile::getFilename(char* name) {
+  if (!isOpen()) return false;
+
+  if (isRoot()) {
+    name[0] = '/';
+    name[1] = '\0';
+    return true;
+  }
+  // cache entry
+  dir_t* p = cacheDirEntry(SdVolume::CACHE_FOR_READ);
+  if (!p) return false;
+
+  // format name
+  dirName(*p, name);
+  return true;
+}
+//------------------------------------------------------------------------------
+void SdBaseFile::getpos(fpos_t* pos) {
+  pos->position = curPosition_;
+  pos->cluster = curCluster_;
+}
+
+//------------------------------------------------------------------------------
+/** List directory contents.
+ *
+ * \param[in] pr Print stream for list.
+ *
+ * \param[in] flags The inclusive OR of
+ *
+ * LS_DATE - %Print file modification date
+ *
+ * LS_SIZE - %Print file size.
+ *
+ * LS_R - Recursive list of subdirectories.
+ *
+ * \param[in] indent Amount of space before file name. Used for recursive
+ * list to indicate subdirectory level.
+ */
+void SdBaseFile::ls(uint8_t flags, uint8_t indent) {
+  rewind();
+  int8_t status;
+  while ((status = lsPrintNext( flags, indent))) {
+    if (status > 1 && (flags & LS_R)) {
+      uint16_t index = curPosition()/32 - 1;
+      SdBaseFile s;
+      if (s.open(this, index, O_READ)) s.ls( flags, indent + 2);
+      seekSet(32 * (index + 1));
+    }
+  }
+}
+//------------------------------------------------------------------------------
+// saves 32 bytes on stack for ls recursion
+// return 0 - EOF, 1 - normal file, or 2 - directory
+int8_t SdBaseFile::lsPrintNext( uint8_t flags, uint8_t indent) {
+  dir_t dir;
+  uint8_t w = 0;
+
+  while (1) {
+    if (read(&dir, sizeof(dir)) != sizeof(dir)) return 0;
+    if (dir.name[0] == DIR_NAME_FREE) return 0;
+
+    // skip deleted entry and entries for . and  ..
+    if (dir.name[0] != DIR_NAME_DELETED && dir.name[0] != '.'
+      && DIR_IS_FILE_OR_SUBDIR(&dir)) break;
+  }
+  // indent for dir level
+  for (uint8_t i = 0; i < indent; i++) MYSERIAL.write(' ');
+
+  // print name
+  for (uint8_t i = 0; i < 11; i++) {
+    if (dir.name[i] == ' ')continue;
+    if (i == 8) {
+      MYSERIAL.write('.');
+      w++;
+    }
+    MYSERIAL.write(dir.name[i]);
+    w++;
+  }
+  if (DIR_IS_SUBDIR(&dir)) {
+    MYSERIAL.write('/');
+    w++;
+  }
+  if (flags & (LS_DATE | LS_SIZE)) {
+    while (w++ < 14) MYSERIAL.write(' ');
+  }
+  // print modify date/time if requested
+  if (flags & LS_DATE) {
+    MYSERIAL.write(' ');
+    printFatDate( dir.lastWriteDate);
+    MYSERIAL.write(' ');
+    printFatTime( dir.lastWriteTime);
+  }
+  // print size if requested
+  if (!DIR_IS_SUBDIR(&dir) && (flags & LS_SIZE)) {
+    MYSERIAL.write(' ');
+    MYSERIAL.print(dir.fileSize);
+  }
+  MYSERIAL.println();
+  return DIR_IS_FILE(&dir) ? 1 : 2;
+}
+//------------------------------------------------------------------------------
+// format directory name field from a 8.3 name string
+bool SdBaseFile::make83Name(const char* str, uint8_t* name, const char** ptr) {
+  uint8_t c;
+  uint8_t n = 7;  // max index for part before dot
+  uint8_t i = 0;
+  // blank fill name and extension
+  while (i < 11) name[i++] = ' ';
+  i = 0;
+  while (*str != '\0' && *str != '/') {
+    c = *str++;
+    if (c == '.') {
+      if (n == 10) goto fail;  // only one dot allowed
+      n = 10;  // max index for full 8.3 name
+      i = 8;   // place for extension
+    } else {
+      // illegal FAT characters
+      PGM_P p = PSTR("|<>^+=?/[];,*\"\\");
+      uint8_t b;
+      while ((b = pgm_read_byte(p++))) if (b == c) goto fail;
+      // check size and only allow ASCII printable characters
+      if (i > n || c < 0X21 || c > 0X7E)goto fail;
+      // only upper case allowed in 8.3 names - convert lower to upper
+      name[i++] = (c < 'a' || c > 'z') ?  (c) : (c + ('A' - 'a'));
+    }
+  }
+  *ptr = str;
+  // must have a file name, extension is optional
+  return name[0] != ' ';
+
+ fail:
+  return false;
+}
+//------------------------------------------------------------------------------
+/** Make a new directory.
+ *
+ * \param[in] parent An open SdFat instance for the directory that will contain
+ * the new directory.
+ *
+ * \param[in] path A path with a valid 8.3 DOS name for the new directory.
+ *
+ * \param[in] pFlag Create missing parent directories if true.
+ *
+ * \return The value one, true, is returned for success and
+ * the value zero, false, is returned for failure.
+ * Reasons for failure include this file is already open, \a parent is not a
+ * directory, \a path is invalid or already exists in \a parent.
+ */
+bool SdBaseFile::mkdir(SdBaseFile* parent, const char* path, bool pFlag) {
+  uint8_t dname[11];
+  SdBaseFile dir1, dir2;
+  SdBaseFile* sub = &dir1;
+  SdBaseFile* start = parent;
+
+  if (!parent || isOpen()) goto fail;
+
+  if (*path == '/') {
+    while (*path == '/') path++;
+    if (!parent->isRoot()) {
+      if (!dir2.openRoot(parent->vol_)) goto fail;
+      parent = &dir2;
+    }
+  }
+  while (1) {
+    if (!make83Name(path, dname, &path)) goto fail;
+    while (*path == '/') path++;
+    if (!*path) break;
+    if (!sub->open(parent, dname, O_READ)) {
+      if (!pFlag || !sub->mkdir(parent, dname)) {
+        goto fail;
+      }
+    }
+    if (parent != start) parent->close();
+    parent = sub;
+    sub = parent != &dir1 ? &dir1 : &dir2;
+  }
+  return mkdir(parent, dname);
+
+  fail:
+  return false;
+}
+//------------------------------------------------------------------------------
+bool SdBaseFile::mkdir(SdBaseFile* parent, const uint8_t dname[11]) {
+  uint32_t block;
+  dir_t d;
+  dir_t* p;
+
+  if (!parent->isDir()) goto fail;
+
+  // create a normal file
+  if (!open(parent, dname, O_CREAT | O_EXCL | O_RDWR)) goto fail;
+
+  // convert file to directory
+  flags_ = O_READ;
+  type_ = FAT_FILE_TYPE_SUBDIR;
+
+  // allocate and zero first cluster
+  if (!addDirCluster())goto fail;
+
+  // force entry to SD
+  if (!sync()) goto fail;
+
+  // cache entry - should already be in cache due to sync() call
+  p = cacheDirEntry(SdVolume::CACHE_FOR_WRITE);
+  if (!p) goto fail;
+
+  // change directory entry  attribute
+  p->attributes = DIR_ATT_DIRECTORY;
+
+  // make entry for '.'
+  memcpy(&d, p, sizeof(d));
+  d.name[0] = '.';
+  for (uint8_t i = 1; i < 11; i++) d.name[i] = ' ';
+
+  // cache block for '.'  and '..'
+  block = vol_->clusterStartBlock(firstCluster_);
+  if (!vol_->cacheRawBlock(block, SdVolume::CACHE_FOR_WRITE)) goto fail;
+
+  // copy '.' to block
+  memcpy(&vol_->cache()->dir[0], &d, sizeof(d));
+
+  // make entry for '..'
+  d.name[1] = '.';
+  if (parent->isRoot()) {
+    d.firstClusterLow = 0;
+    d.firstClusterHigh = 0;
+  } else {
+    d.firstClusterLow = parent->firstCluster_ & 0XFFFF;
+    d.firstClusterHigh = parent->firstCluster_ >> 16;
+  }
+  // copy '..' to block
+  memcpy(&vol_->cache()->dir[1], &d, sizeof(d));
+
+  // write first block
+  return vol_->cacheFlush();
+
+ fail:
+  return false;
+}
+//------------------------------------------------------------------------------
+ /** Open a file in the current working directory.
+  *
+  * \param[in] path A path with a valid 8.3 DOS name for a file to be opened.
+  *
+  * \param[in] oflag Values for \a oflag are constructed by a bitwise-inclusive
+  * OR of open flags. see SdBaseFile::open(SdBaseFile*, const char*, uint8_t).
+  *
+  * \return The value one, true, is returned for success and
+  * the value zero, false, is returned for failure.
+  */
+  bool SdBaseFile::open(const char* path, uint8_t oflag) {
+    return open(cwd_, path, oflag);
+  }
+//------------------------------------------------------------------------------
+/** Open a file or directory by name.
+ *
+ * \param[in] dirFile An open SdFat instance for the directory containing the
+ * file to be opened.
+ *
+ * \param[in] path A path with a valid 8.3 DOS name for a file to be opened.
+ *
+ * \param[in] oflag Values for \a oflag are constructed by a bitwise-inclusive
+ * OR of flags from the following list
+ *
+ * O_READ - Open for reading.
+ *
+ * O_RDONLY - Same as O_READ.
+ *
+ * O_WRITE - Open for writing.
+ *
+ * O_WRONLY - Same as O_WRITE.
+ *
+ * O_RDWR - Open for reading and writing.
+ *
+ * O_APPEND - If set, the file offset shall be set to the end of the
+ * file prior to each write.
+ *
+ * O_AT_END - Set the initial position at the end of the file.
+ *
+ * O_CREAT - If the file exists, this flag has no effect except as noted
+ * under O_EXCL below. Otherwise, the file shall be created
+ *
+ * O_EXCL - If O_CREAT and O_EXCL are set, open() shall fail if the file exists.
+ *
+ * O_SYNC - Call sync() after each write.  This flag should not be used with
+ * write(uint8_t), write_P(PGM_P), writeln_P(PGM_P), or the Arduino Print class.
+ * These functions do character at a time writes so sync() will be called
+ * after each byte.
+ *
+ * O_TRUNC - If the file exists and is a regular file, and the file is
+ * successfully opened and is not read only, its length shall be truncated to 0.
+ *
+ * WARNING: A given file must not be opened by more than one SdBaseFile object
+ * of file corruption may occur.
+ *
+ * \note Directory files must be opened read only.  Write and truncation is
+ * not allowed for directory files.
+ *
+ * \return The value one, true, is returned for success and
+ * the value zero, false, is returned for failure.
+ * Reasons for failure include this file is already open, \a dirFile is not
+ * a directory, \a path is invalid, the file does not exist
+ * or can't be opened in the access mode specified by oflag.
+ */
+bool SdBaseFile::open(SdBaseFile* dirFile, const char* path, uint8_t oflag) {
+  uint8_t dname[11];
+  SdBaseFile dir1, dir2;
+  SdBaseFile *parent = dirFile;
+  SdBaseFile *sub = &dir1;
+
+  if (!dirFile) goto fail;
+
+  // error if already open
+  if (isOpen()) goto fail;
+
+  if (*path == '/') {
+    while (*path == '/') path++;
+    if (!dirFile->isRoot()) {
+      if (!dir2.openRoot(dirFile->vol_)) goto fail;
+      parent = &dir2;
+    }
+  }
+  while (1) {
+    if (!make83Name(path, dname, &path)) goto fail;
+    while (*path == '/') path++;
+    if (!*path) break;
+    if (!sub->open(parent, dname, O_READ)) goto fail;
+    if (parent != dirFile) parent->close();
+    parent = sub;
+    sub = parent != &dir1 ? &dir1 : &dir2;
+  }
+  return open(parent, dname, oflag);
+
+ fail:
+  return false;
+}
+//------------------------------------------------------------------------------
+// open with filename in dname
+bool SdBaseFile::open(SdBaseFile* dirFile,
+  const uint8_t dname[11], uint8_t oflag) {
+  bool emptyFound = false;
+  bool fileFound = false;
+  uint8_t index;
+  dir_t* p;
+
+  vol_ = dirFile->vol_;
+
+  dirFile->rewind();
+  // search for file
+
+  while (dirFile->curPosition_ < dirFile->fileSize_) {
+    index = 0XF & (dirFile->curPosition_ >> 5);
+    p = dirFile->readDirCache();
+    if (!p) goto fail;
+
+    if (p->name[0] == DIR_NAME_FREE || p->name[0] == DIR_NAME_DELETED) {
+      // remember first empty slot
+      if (!emptyFound) {
+        dirBlock_ = dirFile->vol_->cacheBlockNumber();
+        dirIndex_ = index;
+        emptyFound = true;
+      }
+      // done if no entries follow
+      if (p->name[0] == DIR_NAME_FREE) break;
+    } else if (!memcmp(dname, p->name, 11)) {
+      fileFound = true;
+      break;
+    }
+  }
+  if (fileFound) {
+    // don't open existing file if O_EXCL
+    if (oflag & O_EXCL) goto fail;
+  } else {
+    // don't create unless O_CREAT and O_WRITE
+    if (!(oflag & O_CREAT) || !(oflag & O_WRITE)) goto fail;
+    if (emptyFound) {
+      index = dirIndex_;
+      p = cacheDirEntry(SdVolume::CACHE_FOR_WRITE);
+      if (!p) goto fail;
+    } else {
+      if (dirFile->type_ == FAT_FILE_TYPE_ROOT_FIXED) goto fail;
+
+      // add and zero cluster for dirFile - first cluster is in cache for write
+      if (!dirFile->addDirCluster()) goto fail;
+
+      // use first entry in cluster
+      p = dirFile->vol_->cache()->dir;
+      index = 0;
+    }
+    // initialize as empty file
+    memset(p, 0, sizeof(dir_t));
+    memcpy(p->name, dname, 11);
+
+    // set timestamps
+    if (dateTime_) {
+      // call user date/time function
+      dateTime_(&p->creationDate, &p->creationTime);
+    } else {
+      // use default date/time
+      p->creationDate = FAT_DEFAULT_DATE;
+      p->creationTime = FAT_DEFAULT_TIME;
+    }
+    p->lastAccessDate = p->creationDate;
+    p->lastWriteDate = p->creationDate;
+    p->lastWriteTime = p->creationTime;
+
+    // write entry to SD
+    if (!dirFile->vol_->cacheFlush()) goto fail;
+  }
+  // open entry in cache
+  return openCachedEntry(index, oflag);
+
+ fail:
+  return false;
+}
+//------------------------------------------------------------------------------
+/** Open a file by index.
+ *
+ * \param[in] dirFile An open SdFat instance for the directory.
+ *
+ * \param[in] index The \a index of the directory entry for the file to be
+ * opened.  The value for \a index is (directory file position)/32.
+ *
+ * \param[in] oflag Values for \a oflag are constructed by a bitwise-inclusive
+ * OR of flags O_READ, O_WRITE, O_TRUNC, and O_SYNC.
+ *
+ * See open() by path for definition of flags.
+ * \return true for success or false for failure.
+ */
+bool SdBaseFile::open(SdBaseFile* dirFile, uint16_t index, uint8_t oflag) {
+  dir_t* p;
+
+  vol_ = dirFile->vol_;
+
+  // error if already open
+  if (isOpen() || !dirFile) goto fail;
+
+  // don't open existing file if O_EXCL - user call error
+  if (oflag & O_EXCL) goto fail;
+
+  // seek to location of entry
+  if (!dirFile->seekSet(32 * index)) goto fail;
+
+  // read entry into cache
+  p = dirFile->readDirCache();
+  if (!p) goto fail;
+
+  // error if empty slot or '.' or '..'
+  if (p->name[0] == DIR_NAME_FREE ||
+      p->name[0] == DIR_NAME_DELETED || p->name[0] == '.') {
+    goto fail;
+  }
+  // open cached entry
+  return openCachedEntry(index & 0XF, oflag);
+
+ fail:
+  return false;
+}
+//------------------------------------------------------------------------------
+// open a cached directory entry. Assumes vol_ is initialized
+bool SdBaseFile::openCachedEntry(uint8_t dirIndex, uint8_t oflag) {
+  // location of entry in cache
+  dir_t* p = &vol_->cache()->dir[dirIndex];
+
+  // write or truncate is an error for a directory or read-only file
+  if (p->attributes & (DIR_ATT_READ_ONLY | DIR_ATT_DIRECTORY)) {
+    if (oflag & (O_WRITE | O_TRUNC)) goto fail;
+  }
+  // remember location of directory entry on SD
+  dirBlock_ = vol_->cacheBlockNumber();
+  dirIndex_ = dirIndex;
+
+  // copy first cluster number for directory fields
+  firstCluster_ = (uint32_t)p->firstClusterHigh << 16;
+  firstCluster_ |= p->firstClusterLow;
+
+  // make sure it is a normal file or subdirectory
+  if (DIR_IS_FILE(p)) {
+    fileSize_ = p->fileSize;
+    type_ = FAT_FILE_TYPE_NORMAL;
+  } else if (DIR_IS_SUBDIR(p)) {
+    if (!vol_->chainSize(firstCluster_, &fileSize_)) goto fail;
+    type_ = FAT_FILE_TYPE_SUBDIR;
+  } else {
+    goto fail;
+  }
+  // save open flags for read/write
+  flags_ = oflag & F_OFLAG;
+
+  // set to start of file
+  curCluster_ = 0;
+  curPosition_ = 0;
+  if ((oflag & O_TRUNC) && !truncate(0)) return false;
+  return oflag & O_AT_END ? seekEnd(0) : true;
+
+ fail:
+  type_ = FAT_FILE_TYPE_CLOSED;
+  return false;
+}
+//------------------------------------------------------------------------------
+/** Open the next file or subdirectory in a directory.
+ *
+ * \param[in] dirFile An open SdFat instance for the directory containing the
+ * file to be opened.
+ *
+ * \param[in] oflag Values for \a oflag are constructed by a bitwise-inclusive
+ * OR of flags O_READ, O_WRITE, O_TRUNC, and O_SYNC.
+ *
+ * See open() by path for definition of flags.
+ * \return true for success or false for failure.
+ */
+bool SdBaseFile::openNext(SdBaseFile* dirFile, uint8_t oflag) {
+  dir_t* p;
+  uint8_t index;
+
+  if (!dirFile) goto fail;
+
+  // error if already open
+  if (isOpen()) goto fail;
+
+  vol_ = dirFile->vol_;
+
+  while (1) {
+    index = 0XF & (dirFile->curPosition_ >> 5);
+
+    // read entry into cache
+    p = dirFile->readDirCache();
+    if (!p) goto fail;
+
+    // done if last entry
+    if (p->name[0] == DIR_NAME_FREE) goto fail;
+
+    // skip empty slot or '.' or '..'
+    if (p->name[0] == DIR_NAME_DELETED || p->name[0] == '.') {
+      continue;
+    }
+    // must be file or dir
+    if (DIR_IS_FILE_OR_SUBDIR(p)) {
+      return openCachedEntry(index, oflag);
+    }
+  }
+
+ fail:
+  return false;
+}
+//------------------------------------------------------------------------------
+/** Open a directory's parent directory.
+ *
+ * \param[in] dir Parent of this directory will be opened.  Must not be root.
+ *
+ * \return The value one, true, is returned for success and
+ * the value zero, false, is returned for failure.
+ */
+bool SdBaseFile::openParent(SdBaseFile* dir) {
+  dir_t entry;
+  dir_t* p;
+  SdBaseFile file;
+  uint32_t c;
+  uint32_t cluster;
+  uint32_t lbn;
+  // error if already open or dir is root or dir is not a directory
+  if (isOpen() || !dir || dir->isRoot() || !dir->isDir()) goto fail;
+  vol_ = dir->vol_;
+  // position to '..'
+  if (!dir->seekSet(32)) goto fail;
+  // read '..' entry
+  if (dir->read(&entry, sizeof(entry)) != 32) goto fail;
+  // verify it is '..'
+  if (entry.name[0] != '.' || entry.name[1] != '.') goto fail;
+  // start cluster for '..'
+  cluster = entry.firstClusterLow;
+  cluster |= (uint32_t)entry.firstClusterHigh << 16;
+  if (cluster == 0) return openRoot(vol_);
+  // start block for '..'
+  lbn = vol_->clusterStartBlock(cluster);
+  // first block of parent dir
+  if (!vol_->cacheRawBlock(lbn, SdVolume::CACHE_FOR_READ)) {
+    goto fail;
+  }
+  p = &vol_->cacheBuffer_.dir[1];
+  // verify name for '../..'
+  if (p->name[0] != '.' || p->name[1] != '.') goto fail;
+  // '..' is pointer to first cluster of parent. open '../..' to find parent
+  if (p->firstClusterHigh == 0 && p->firstClusterLow == 0) {
+    if (!file.openRoot(dir->volume())) goto fail;
+  } else {
+    if (!file.openCachedEntry(1, O_READ)) goto fail;
+  }
+  // search for parent in '../..'
+  do {
+    if (file.readDir(&entry, NULL) != 32) goto fail;
+    c = entry.firstClusterLow;
+    c |= (uint32_t)entry.firstClusterHigh << 16;
+  } while (c != cluster);
+  // open parent
+  return open(&file, file.curPosition()/32 - 1, O_READ);
+
+ fail:
+  return false;
+}
+//------------------------------------------------------------------------------
+/** Open a volume's root directory.
+ *
+ * \param[in] vol The FAT volume containing the root directory to be opened.
+ *
+ * \return The value one, true, is returned for success and
+ * the value zero, false, is returned for failure.
+ * Reasons for failure include the file is already open, the FAT volume has
+ * not been initialized or it a FAT12 volume.
+ */
+bool SdBaseFile::openRoot(SdVolume* vol) {
+  // error if file is already open
+  if (isOpen()) goto fail;
+
+  if (vol->fatType() == 16 || (FAT12_SUPPORT && vol->fatType() == 12)) {
+    type_ = FAT_FILE_TYPE_ROOT_FIXED;
+    firstCluster_ = 0;
+    fileSize_ = 32 * vol->rootDirEntryCount();
+  } else if (vol->fatType() == 32) {
+    type_ = FAT_FILE_TYPE_ROOT32;
+    firstCluster_ = vol->rootDirStart();
+    if (!vol->chainSize(firstCluster_, &fileSize_)) goto fail;
+  } else {
+    // volume is not initialized, invalid, or FAT12 without support
+    return false;
+  }
+  vol_ = vol;
+  // read only
+  flags_ = O_READ;
+
+  // set to start of file
+  curCluster_ = 0;
+  curPosition_ = 0;
+
+  // root has no directory entry
+  dirBlock_ = 0;
+  dirIndex_ = 0;
+  return true;
+
+ fail:
+  return false;
+}
+//------------------------------------------------------------------------------
+/** Return the next available byte without consuming it.
+ *
+ * \return The byte if no error and not at eof else -1;
+ */
+int SdBaseFile::peek() {
+  fpos_t pos;
+  getpos(&pos);
+  int c = read();
+  if (c >= 0) setpos(&pos);
+  return c;
+}
+
+//------------------------------------------------------------------------------
+/** %Print the name field of a directory entry in 8.3 format.
+ * \param[in] pr Print stream for output.
+ * \param[in] dir The directory structure containing the name.
+ * \param[in] width Blank fill name if length is less than \a width.
+ * \param[in] printSlash Print '/' after directory names if true.
+ */
+void SdBaseFile::printDirName(const dir_t& dir,
+  uint8_t width, bool printSlash) {
+  uint8_t w = 0;
+  for (uint8_t i = 0; i < 11; i++) {
+    if (dir.name[i] == ' ')continue;
+    if (i == 8) {
+      MYSERIAL.write('.');
+      w++;
+    }
+    MYSERIAL.write(dir.name[i]);
+    w++;
+  }
+  if (DIR_IS_SUBDIR(&dir) && printSlash) {
+    MYSERIAL.write('/');
+    w++;
+  }
+  while (w < width) {
+    MYSERIAL.write(' ');
+    w++;
+  }
+}
+//------------------------------------------------------------------------------
+// print uint8_t with width 2
+static void print2u( uint8_t v) {
+  if (v < 10) MYSERIAL.write('0');
+  MYSERIAL.print(v, DEC);
+}
+//------------------------------------------------------------------------------
+/** %Print a directory date field to Serial.
+ *
+ *  Format is yyyy-mm-dd.
+ *
+ * \param[in] fatDate The date field from a directory entry.
+ */
+
+//------------------------------------------------------------------------------
+/** %Print a directory date field.
+ *
+ *  Format is yyyy-mm-dd.
+ *
+ * \param[in] pr Print stream for output.
+ * \param[in] fatDate The date field from a directory entry.
+ */
+void SdBaseFile::printFatDate(uint16_t fatDate) {
+  MYSERIAL.print(FAT_YEAR(fatDate));
+  MYSERIAL.write('-');
+  print2u( FAT_MONTH(fatDate));
+  MYSERIAL.write('-');
+  print2u( FAT_DAY(fatDate));
+}
+
+//------------------------------------------------------------------------------
+/** %Print a directory time field.
+ *
+ * Format is hh:mm:ss.
+ *
+ * \param[in] pr Print stream for output.
+ * \param[in] fatTime The time field from a directory entry.
+ */
+void SdBaseFile::printFatTime( uint16_t fatTime) {
+  print2u( FAT_HOUR(fatTime));
+  MYSERIAL.write(':');
+  print2u( FAT_MINUTE(fatTime));
+  MYSERIAL.write(':');
+  print2u( FAT_SECOND(fatTime));
+}
+//------------------------------------------------------------------------------
+/** Print a file's name to Serial
+ *
+ * \return The value one, true, is returned for success and
+ * the value zero, false, is returned for failure.
+ */
+bool SdBaseFile::printName() {
+  char name[13];
+  if (!getFilename(name)) return false;
+  MYSERIAL.print(name);
+  return true;
+}
+//------------------------------------------------------------------------------
+/** Read the next byte from a file.
+ *
+ * \return For success read returns the next byte in the file as an int.
+ * If an error occurs or end of file is reached -1 is returned.
+ */
+int16_t SdBaseFile::read() {
+  uint8_t b;
+  return read(&b, 1) == 1 ? b : -1;
+}
+//------------------------------------------------------------------------------
+/** Read data from a file starting at the current position.
+ *
+ * \param[out] buf Pointer to the location that will receive the data.
+ *
+ * \param[in] nbyte Maximum number of bytes to read.
+ *
+ * \return For success read() returns the number of bytes read.
+ * A value less than \a nbyte, including zero, will be returned
+ * if end of file is reached.
+ * If an error occurs, read() returns -1.  Possible errors include
+ * read() called before a file has been opened, corrupt file system
+ * or an I/O error occurred.
+ */
+int16_t SdBaseFile::read(void* buf, uint16_t nbyte) {
+  uint8_t* dst = reinterpret_cast<uint8_t*>(buf);
+  uint16_t offset;
+  uint16_t toRead;
+  uint32_t block;  // raw device block number
+
+  // error if not open or write only
+  if (!isOpen() || !(flags_ & O_READ)) goto fail;
+
+  // max bytes left in file
+  if (nbyte >= (fileSize_ - curPosition_)) {
+    nbyte = fileSize_ - curPosition_;
+  }
+  // amount left to read
+  toRead = nbyte;
+  while (toRead > 0) {
+    offset = curPosition_ & 0X1FF;  // offset in block
+    if (type_ == FAT_FILE_TYPE_ROOT_FIXED) {
+      block = vol_->rootDirStart() + (curPosition_ >> 9);
+    } else {
+      uint8_t blockOfCluster = vol_->blockOfCluster(curPosition_);
+      if (offset == 0 && blockOfCluster == 0) {
+        // start of new cluster
+        if (curPosition_ == 0) {
+          // use first cluster in file
+          curCluster_ = firstCluster_;
+        } else {
+          // get next cluster from FAT
+          if (!vol_->fatGet(curCluster_, &curCluster_)) goto fail;
+        }
+      }
+      block = vol_->clusterStartBlock(curCluster_) + blockOfCluster;
+    }
+    uint16_t n = toRead;
+
+    // amount to be read from current block
+    if (n > (512 - offset)) n = 512 - offset;
+
+    // no buffering needed if n == 512
+    if (n == 512 && block != vol_->cacheBlockNumber()) {
+      if (!vol_->readBlock(block, dst)) goto fail;
+    } else {
+      // read block to cache and copy data to caller
+      if (!vol_->cacheRawBlock(block, SdVolume::CACHE_FOR_READ)) goto fail;
+      uint8_t* src = vol_->cache()->data + offset;
+      memcpy(dst, src, n);
+    }
+    dst += n;
+    curPosition_ += n;
+    toRead -= n;
+  }
+  return nbyte;
+
+ fail:
+  return -1;
+}
+//------------------------------------------------------------------------------
+/** Read the next directory entry from a directory file.
+ *
+ * \param[out] dir The dir_t struct that will receive the data.
+ *
+ * \return For success readDir() returns the number of bytes read.
+ * A value of zero will be returned if end of file is reached.
+ * If an error occurs, readDir() returns -1.  Possible errors include
+ * readDir() called before a directory has been opened, this is not
+ * a directory file or an I/O error occurred.
+ */
+int8_t SdBaseFile::readDir(dir_t* dir, char* longFilename) {
+  int16_t n;
+  // if not a directory file or miss-positioned return an error
+  if (!isDir() || (0X1F & curPosition_)) return -1;
+  
+  //If we have a longFilename buffer, mark it as invalid. If we find a long filename it will be filled automaticly.
+  if (longFilename != NULL)
+  {
+  	longFilename[0] = '\0';
+  }
+
+  while (1) {
+    n = read(dir, sizeof(dir_t));
+    if (n != sizeof(dir_t)) return n == 0 ? 0 : -1;
+    // last entry if DIR_NAME_FREE
+    if (dir->name[0] == DIR_NAME_FREE) return 0;
+    // skip empty entries and entry for .  and ..
+    if (dir->name[0] == DIR_NAME_DELETED || dir->name[0] == '.') continue;
+    //Fill the long filename if we have a long filename entry,
+	// long filename entries are stored before the actual filename.
+	if (DIR_IS_LONG_NAME(dir) && longFilename != NULL)
+    {
+    	vfat_t *VFAT = (vfat_t*)dir;
+		//Sanity check the VFAT entry. The first cluster is always set to zero. And th esequence number should be higher then 0
+    	if (VFAT->firstClusterLow == 0 && (VFAT->sequenceNumber & 0x1F) > 0 && (VFAT->sequenceNumber & 0x1F) <= MAX_VFAT_ENTRIES)
+    	{
+			//TODO: Store the filename checksum to verify if a none-long filename aware system modified the file table.
+    		n = ((VFAT->sequenceNumber & 0x1F) - 1) * 13;
+			longFilename[n+0] = VFAT->name1[0];
+			longFilename[n+1] = VFAT->name1[1];
+			longFilename[n+2] = VFAT->name1[2];
+			longFilename[n+3] = VFAT->name1[3];
+			longFilename[n+4] = VFAT->name1[4];
+			longFilename[n+5] = VFAT->name2[0];
+			longFilename[n+6] = VFAT->name2[1];
+			longFilename[n+7] = VFAT->name2[2];
+			longFilename[n+8] = VFAT->name2[3];
+			longFilename[n+9] = VFAT->name2[4];
+			longFilename[n+10] = VFAT->name2[5];
+			longFilename[n+11] = VFAT->name3[0];
+			longFilename[n+12] = VFAT->name3[1];
+			//If this VFAT entry is the last one, add a NUL terminator at the end of the string
+			if (VFAT->sequenceNumber & 0x40)
+				longFilename[n+13] = '\0';
+		}
+    }
+    // return if normal file or subdirectory
+    if (DIR_IS_FILE_OR_SUBDIR(dir)) return n;
+  }
+}
+//------------------------------------------------------------------------------
+// Read next directory entry into the cache
+// Assumes file is correctly positioned
+dir_t* SdBaseFile::readDirCache() {
+  uint8_t i;
+  // error if not directory
+  if (!isDir()) goto fail;
+
+  // index of entry in cache
+  i = (curPosition_ >> 5) & 0XF;
+
+  // use read to locate and cache block
+  if (read() < 0) goto fail;
+
+  // advance to next entry
+  curPosition_ += 31;
+
+  // return pointer to entry
+  return vol_->cache()->dir + i;
+
+ fail:
+  return 0;
+}
+//------------------------------------------------------------------------------
+/** Remove a file.
+ *
+ * The directory entry and all data for the file are deleted.
+ *
+ * \note This function should not be used to delete the 8.3 version of a
+ * file that has a long name. For example if a file has the long name
+ * "New Text Document.txt" you should not delete the 8.3 name "NEWTEX~1.TXT".
+ *
+ * \return The value one, true, is returned for success and
+ * the value zero, false, is returned for failure.
+ * Reasons for failure include the file read-only, is a directory,
+ * or an I/O error occurred.
+ */
+bool SdBaseFile::remove() {
+  dir_t* d;
+  // free any clusters - will fail if read-only or directory
+  if (!truncate(0)) goto fail;
+
+  // cache directory entry
+  d = cacheDirEntry(SdVolume::CACHE_FOR_WRITE);
+  if (!d) goto fail;
+
+  // mark entry deleted
+  d->name[0] = DIR_NAME_DELETED;
+
+  // set this file closed
+  type_ = FAT_FILE_TYPE_CLOSED;
+
+  // write entry to SD
+  return vol_->cacheFlush();
+  return true;
+
+ fail:
+  return false;
+}
+//------------------------------------------------------------------------------
+/** Remove a file.
+ *
+ * The directory entry and all data for the file are deleted.
+ *
+ * \param[in] dirFile The directory that contains the file.
+ * \param[in] path Path for the file to be removed.
+ *
+ * \note This function should not be used to delete the 8.3 version of a
+ * file that has a long name. For example if a file has the long name
+ * "New Text Document.txt" you should not delete the 8.3 name "NEWTEX~1.TXT".
+ *
+ * \return The value one, true, is returned for success and
+ * the value zero, false, is returned for failure.
+ * Reasons for failure include the file is a directory, is read only,
+ * \a dirFile is not a directory, \a path is not found
+ * or an I/O error occurred.
+ */
+bool SdBaseFile::remove(SdBaseFile* dirFile, const char* path) {
+  SdBaseFile file;
+  if (!file.open(dirFile, path, O_WRITE)) goto fail;
+  return file.remove();
+
+ fail:
+  // can't set iostate - static function
+  return false;
+}
+//------------------------------------------------------------------------------
+/** Rename a file or subdirectory.
+ *
+ * \param[in] dirFile Directory for the new path.
+ * \param[in] newPath New path name for the file/directory.
+ *
+ * \return The value one, true, is returned for success and
+ * the value zero, false, is returned for failure.
+ * Reasons for failure include \a dirFile is not open or is not a directory
+ * file, newPath is invalid or already exists, or an I/O error occurs.
+ */
+bool SdBaseFile::rename(SdBaseFile* dirFile, const char* newPath) {
+  dir_t entry;
+  uint32_t dirCluster = 0;
+  SdBaseFile file;
+  dir_t* d;
+
+  // must be an open file or subdirectory
+  if (!(isFile() || isSubDir())) goto fail;
+
+  // can't move file
+  if (vol_ != dirFile->vol_) goto fail;
+
+  // sync() and cache directory entry
+  sync();
+  d = cacheDirEntry(SdVolume::CACHE_FOR_WRITE);
+  if (!d) goto fail;
+
+  // save directory entry
+  memcpy(&entry, d, sizeof(entry));
+
+  // mark entry deleted
+  d->name[0] = DIR_NAME_DELETED;
+
+  // make directory entry for new path
+  if (isFile()) {
+    if (!file.open(dirFile, newPath, O_CREAT | O_EXCL | O_WRITE)) {
+      goto restore;
+    }
+  } else {
+    // don't create missing path prefix components
+    if (!file.mkdir(dirFile, newPath, false)) {
+      goto restore;
+    }
+    // save cluster containing new dot dot
+    dirCluster = file.firstCluster_;
+  }
+  // change to new directory entry
+  dirBlock_ = file.dirBlock_;
+  dirIndex_ = file.dirIndex_;
+
+  // mark closed to avoid possible destructor close call
+  file.type_ = FAT_FILE_TYPE_CLOSED;
+
+  // cache new directory entry
+  d = cacheDirEntry(SdVolume::CACHE_FOR_WRITE);
+  if (!d) goto fail;
+
+  // copy all but name field to new directory entry
+  memcpy(&d->attributes, &entry.attributes, sizeof(entry) - sizeof(d->name));
+
+  // update dot dot if directory
+  if (dirCluster) {
+    // get new dot dot
+    uint32_t block = vol_->clusterStartBlock(dirCluster);
+    if (!vol_->cacheRawBlock(block, SdVolume::CACHE_FOR_READ)) goto fail;
+    memcpy(&entry, &vol_->cache()->dir[1], sizeof(entry));
+
+    // free unused cluster
+    if (!vol_->freeChain(dirCluster)) goto fail;
+
+    // store new dot dot
+    block = vol_->clusterStartBlock(firstCluster_);
+    if (!vol_->cacheRawBlock(block, SdVolume::CACHE_FOR_WRITE)) goto fail;
+    memcpy(&vol_->cache()->dir[1], &entry, sizeof(entry));
+  }
+  return vol_->cacheFlush();
+
+ restore:
+  d = cacheDirEntry(SdVolume::CACHE_FOR_WRITE);
+  if (!d) goto fail;
+  // restore entry
+  d->name[0] = entry.name[0];
+  vol_->cacheFlush();
+
+ fail:
+  return false;
+}
+//------------------------------------------------------------------------------
+/** Remove a directory file.
+ *
+ * The directory file will be removed only if it is empty and is not the
+ * root directory.  rmdir() follows DOS and Windows and ignores the
+ * read-only attribute for the directory.
+ *
+ * \note This function should not be used to delete the 8.3 version of a
+ * directory that has a long name. For example if a directory has the
+ * long name "New folder" you should not delete the 8.3 name "NEWFOL~1".
+ *
+ * \return The value one, true, is returned for success and
+ * the value zero, false, is returned for failure.
+ * Reasons for failure include the file is not a directory, is the root
+ * directory, is not empty, or an I/O error occurred.
+ */
+bool SdBaseFile::rmdir() {
+  // must be open subdirectory
+  if (!isSubDir()) goto fail;
+
+  rewind();
+
+  // make sure directory is empty
+  while (curPosition_ < fileSize_) {
+    dir_t* p = readDirCache();
+    if (!p) goto fail;
+    // done if past last used entry
+    if (p->name[0] == DIR_NAME_FREE) break;
+    // skip empty slot, '.' or '..'
+    if (p->name[0] == DIR_NAME_DELETED || p->name[0] == '.') continue;
+    // error not empty
+    if (DIR_IS_FILE_OR_SUBDIR(p)) goto fail;
+  }
+  // convert empty directory to normal file for remove
+  type_ = FAT_FILE_TYPE_NORMAL;
+  flags_ |= O_WRITE;
+  return remove();
+
+ fail:
+  return false;
+}
+//------------------------------------------------------------------------------
+/** Recursively delete a directory and all contained files.
+ *
+ * This is like the Unix/Linux 'rm -rf *' if called with the root directory
+ * hence the name.
+ *
+ * Warning - This will remove all contents of the directory including
+ * subdirectories.  The directory will then be removed if it is not root.
+ * The read-only attribute for files will be ignored.
+ *
+ * \note This function should not be used to delete the 8.3 version of
+ * a directory that has a long name.  See remove() and rmdir().
+ *
+ * \return The value one, true, is returned for success and
+ * the value zero, false, is returned for failure.
+ */
+bool SdBaseFile::rmRfStar() {
+  uint16_t index;
+  SdBaseFile f;
+  rewind();
+  while (curPosition_ < fileSize_) {
+    // remember position
+    index = curPosition_/32;
+
+    dir_t* p = readDirCache();
+    if (!p) goto fail;
+
+    // done if past last entry
+    if (p->name[0] == DIR_NAME_FREE) break;
+
+    // skip empty slot or '.' or '..'
+    if (p->name[0] == DIR_NAME_DELETED || p->name[0] == '.') continue;
+
+    // skip if part of long file name or volume label in root
+    if (!DIR_IS_FILE_OR_SUBDIR(p)) continue;
+
+    if (!f.open(this, index, O_READ)) goto fail;
+    if (f.isSubDir()) {
+      // recursively delete
+      if (!f.rmRfStar()) goto fail;
+    } else {
+      // ignore read-only
+      f.flags_ |= O_WRITE;
+      if (!f.remove()) goto fail;
+    }
+    // position to next entry if required
+    if (curPosition_ != (32*(index + 1))) {
+      if (!seekSet(32*(index + 1))) goto fail;
+    }
+  }
+  // don't try to delete root
+  if (!isRoot()) {
+    if (!rmdir()) goto fail;
+  }
+  return true;
+
+ fail:
+  return false;
+}
+//------------------------------------------------------------------------------
+/**  Create a file object and open it in the current working directory.
+ *
+ * \param[in] path A path with a valid 8.3 DOS name for a file to be opened.
+ *
+ * \param[in] oflag Values for \a oflag are constructed by a bitwise-inclusive
+ * OR of open flags. see SdBaseFile::open(SdBaseFile*, const char*, uint8_t).
+ */
+SdBaseFile::SdBaseFile(const char* path, uint8_t oflag) {
+  type_ = FAT_FILE_TYPE_CLOSED;
+  writeError = false;
+  open(path, oflag);
+}
+//------------------------------------------------------------------------------
+/** Sets a file's position.
+ *
+ * \param[in] pos The new position in bytes from the beginning of the file.
+ *
+ * \return The value one, true, is returned for success and
+ * the value zero, false, is returned for failure.
+ */
+bool SdBaseFile::seekSet(uint32_t pos) {
+  uint32_t nCur;
+  uint32_t nNew;
+  // error if file not open or seek past end of file
+  if (!isOpen() || pos > fileSize_) goto fail;
+
+  if (type_ == FAT_FILE_TYPE_ROOT_FIXED) {
+    curPosition_ = pos;
+    goto done;
+  }
+  if (pos == 0) {
+    // set position to start of file
+    curCluster_ = 0;
+    curPosition_ = 0;
+    goto done;
+  }
+  // calculate cluster index for cur and new position
+  nCur = (curPosition_ - 1) >> (vol_->clusterSizeShift_ + 9);
+  nNew = (pos - 1) >> (vol_->clusterSizeShift_ + 9);
+
+  if (nNew < nCur || curPosition_ == 0) {
+    // must follow chain from first cluster
+    curCluster_ = firstCluster_;
+  } else {
+    // advance from curPosition
+    nNew -= nCur;
+  }
+  while (nNew--) {
+    if (!vol_->fatGet(curCluster_, &curCluster_)) goto fail;
+  }
+  curPosition_ = pos;
+
+ done:
+  return true;
+
+ fail:
+  return false;
+}
+//------------------------------------------------------------------------------
+void SdBaseFile::setpos(fpos_t* pos) {
+  curPosition_ = pos->position;
+  curCluster_ = pos->cluster;
+}
+//------------------------------------------------------------------------------
+/** The sync() call causes all modified data and directory fields
+ * to be written to the storage device.
+ *
+ * \return The value one, true, is returned for success and
+ * the value zero, false, is returned for failure.
+ * Reasons for failure include a call to sync() before a file has been
+ * opened or an I/O error.
+ */
+bool SdBaseFile::sync() {
+  // only allow open files and directories
+  if (!isOpen()) goto fail;
+
+  if (flags_ & F_FILE_DIR_DIRTY) {
+    dir_t* d = cacheDirEntry(SdVolume::CACHE_FOR_WRITE);
+    // check for deleted by another open file object
+    if (!d || d->name[0] == DIR_NAME_DELETED) goto fail;
+
+    // do not set filesize for dir files
+    if (!isDir()) d->fileSize = fileSize_;
+
+    // update first cluster fields
+    d->firstClusterLow = firstCluster_ & 0XFFFF;
+    d->firstClusterHigh = firstCluster_ >> 16;
+
+    // set modify time if user supplied a callback date/time function
+    if (dateTime_) {
+      dateTime_(&d->lastWriteDate, &d->lastWriteTime);
+      d->lastAccessDate = d->lastWriteDate;
+    }
+    // clear directory dirty
+    flags_ &= ~F_FILE_DIR_DIRTY;
+  }
+  return vol_->cacheFlush();
+
+ fail:
+  writeError = true;
+  return false;
+}
+//------------------------------------------------------------------------------
+/** Copy a file's timestamps
+ *
+ * \param[in] file File to copy timestamps from.
+ *
+ * \note
+ * Modify and access timestamps may be overwritten if a date time callback
+ * function has been set by dateTimeCallback().
+ *
+ * \return The value one, true, is returned for success and
+ * the value zero, false, is returned for failure.
+ */
+bool SdBaseFile::timestamp(SdBaseFile* file) {
+  dir_t* d;
+  dir_t dir;
+
+  // get timestamps
+  if (!file->dirEntry(&dir)) goto fail;
+
+  // update directory fields
+  if (!sync()) goto fail;
+
+  d = cacheDirEntry(SdVolume::CACHE_FOR_WRITE);
+  if (!d) goto fail;
+
+  // copy timestamps
+  d->lastAccessDate = dir.lastAccessDate;
+  d->creationDate = dir.creationDate;
+  d->creationTime = dir.creationTime;
+  d->creationTimeTenths = dir.creationTimeTenths;
+  d->lastWriteDate = dir.lastWriteDate;
+  d->lastWriteTime = dir.lastWriteTime;
+
+  // write back entry
+  return vol_->cacheFlush();
+
+ fail:
+  return false;
+}
+//------------------------------------------------------------------------------
+/** Set a file's timestamps in its directory entry.
+ *
+ * \param[in] flags Values for \a flags are constructed by a bitwise-inclusive
+ * OR of flags from the following list
+ *
+ * T_ACCESS - Set the file's last access date.
+ *
+ * T_CREATE - Set the file's creation date and time.
+ *
+ * T_WRITE - Set the file's last write/modification date and time.
+ *
+ * \param[in] year Valid range 1980 - 2107 inclusive.
+ *
+ * \param[in] month Valid range 1 - 12 inclusive.
+ *
+ * \param[in] day Valid range 1 - 31 inclusive.
+ *
+ * \param[in] hour Valid range 0 - 23 inclusive.
+ *
+ * \param[in] minute Valid range 0 - 59 inclusive.
+ *
+ * \param[in] second Valid range 0 - 59 inclusive
+ *
+ * \note It is possible to set an invalid date since there is no check for
+ * the number of days in a month.
+ *
+ * \note
+ * Modify and access timestamps may be overwritten if a date time callback
+ * function has been set by dateTimeCallback().
+ *
+ * \return The value one, true, is returned for success and
+ * the value zero, false, is returned for failure.
+ */
+bool SdBaseFile::timestamp(uint8_t flags, uint16_t year, uint8_t month,
+         uint8_t day, uint8_t hour, uint8_t minute, uint8_t second) {
+  uint16_t dirDate;
+  uint16_t dirTime;
+  dir_t* d;
+
+  if (!isOpen()
+    || year < 1980
+    || year > 2107
+    || month < 1
+    || month > 12
+    || day < 1
+    || day > 31
+    || hour > 23
+    || minute > 59
+    || second > 59) {
+      goto fail;
+  }
+  // update directory entry
+  if (!sync()) goto fail;
+
+  d = cacheDirEntry(SdVolume::CACHE_FOR_WRITE);
+  if (!d) goto fail;
+
+  dirDate = FAT_DATE(year, month, day);
+  dirTime = FAT_TIME(hour, minute, second);
+  if (flags & T_ACCESS) {
+    d->lastAccessDate = dirDate;
+  }
+  if (flags & T_CREATE) {
+    d->creationDate = dirDate;
+    d->creationTime = dirTime;
+    // seems to be units of 1/100 second not 1/10 as Microsoft states
+    d->creationTimeTenths = second & 1 ? 100 : 0;
+  }
+  if (flags & T_WRITE) {
+    d->lastWriteDate = dirDate;
+    d->lastWriteTime = dirTime;
+  }
+  return vol_->cacheFlush();
+
+ fail:
+  return false;
+}
+//------------------------------------------------------------------------------
+/** Truncate a file to a specified length.  The current file position
+ * will be maintained if it is less than or equal to \a length otherwise
+ * it will be set to end of file.
+ *
+ * \param[in] length The desired length for the file.
+ *
+ * \return The value one, true, is returned for success and
+ * the value zero, false, is returned for failure.
+ * Reasons for failure include file is read only, file is a directory,
+ * \a length is greater than the current file size or an I/O error occurs.
+ */
+bool SdBaseFile::truncate(uint32_t length) {
+  uint32_t newPos;
+  // error if not a normal file or read-only
+  if (!isFile() || !(flags_ & O_WRITE)) goto fail;
+
+  // error if length is greater than current size
+  if (length > fileSize_) goto fail;
+
+  // fileSize and length are zero - nothing to do
+  if (fileSize_ == 0) return true;
+
+  // remember position for seek after truncation
+  newPos = curPosition_ > length ? length : curPosition_;
+
+  // position to last cluster in truncated file
+  if (!seekSet(length)) goto fail;
+
+  if (length == 0) {
+    // free all clusters
+    if (!vol_->freeChain(firstCluster_)) goto fail;
+    firstCluster_ = 0;
+  } else {
+    uint32_t toFree;
+    if (!vol_->fatGet(curCluster_, &toFree)) goto fail;
+
+    if (!vol_->isEOC(toFree)) {
+      // free extra clusters
+      if (!vol_->freeChain(toFree)) goto fail;
+
+      // current cluster is end of chain
+      if (!vol_->fatPutEOC(curCluster_)) goto fail;
+    }
+  }
+  fileSize_ = length;
+
+  // need to update directory entry
+  flags_ |= F_FILE_DIR_DIRTY;
+
+  if (!sync()) goto fail;
+
+  // set file to correct position
+  return seekSet(newPos);
+
+ fail:
+  return false;
+}
+//------------------------------------------------------------------------------
+/** Write data to an open file.
+ *
+ * \note Data is moved to the cache but may not be written to the
+ * storage device until sync() is called.
+ *
+ * \param[in] buf Pointer to the location of the data to be written.
+ *
+ * \param[in] nbyte Number of bytes to write.
+ *
+ * \return For success write() returns the number of bytes written, always
+ * \a nbyte.  If an error occurs, write() returns -1.  Possible errors
+ * include write() is called before a file has been opened, write is called
+ * for a read-only file, device is full, a corrupt file system or an I/O error.
+ *
+ */
+int16_t SdBaseFile::write(const void* buf, uint16_t nbyte) {
+  // convert void* to uint8_t*  -  must be before goto statements
+  const uint8_t* src = reinterpret_cast<const uint8_t*>(buf);
+
+  // number of bytes left to write  -  must be before goto statements
+  uint16_t nToWrite = nbyte;
+
+  // error if not a normal file or is read-only
+  if (!isFile() || !(flags_ & O_WRITE)) goto fail;
+
+  // seek to end of file if append flag
+  if ((flags_ & O_APPEND) && curPosition_ != fileSize_) {
+    if (!seekEnd()) goto fail;
+  }
+
+  while (nToWrite > 0) {
+    uint8_t blockOfCluster = vol_->blockOfCluster(curPosition_);
+    uint16_t blockOffset = curPosition_ & 0X1FF;
+    if (blockOfCluster == 0 && blockOffset == 0) {
+      // start of new cluster
+      if (curCluster_ == 0) {
+        if (firstCluster_ == 0) {
+          // allocate first cluster of file
+          if (!addCluster()) goto fail;
+        } else {
+          curCluster_ = firstCluster_;
+        }
+      } else {
+        uint32_t next;
+        if (!vol_->fatGet(curCluster_, &next)) goto fail;
+        if (vol_->isEOC(next)) {
+          // add cluster if at end of chain
+          if (!addCluster()) goto fail;
+        } else {
+          curCluster_ = next;
+        }
+      }
+    }
+    // max space in block
+    uint16_t n = 512 - blockOffset;
+
+    // lesser of space and amount to write
+    if (n > nToWrite) n = nToWrite;
+
+    // block for data write
+    uint32_t block = vol_->clusterStartBlock(curCluster_) + blockOfCluster;
+    if (n == 512) {
+      // full block - don't need to use cache
+      if (vol_->cacheBlockNumber() == block) {
+        // invalidate cache if block is in cache
+        vol_->cacheSetBlockNumber(0XFFFFFFFF, false);
+      }
+      if (!vol_->writeBlock(block, src)) goto fail;
+    } else {
+      if (blockOffset == 0 && curPosition_ >= fileSize_) {
+        // start of new block don't need to read into cache
+        if (!vol_->cacheFlush()) goto fail;
+        // set cache dirty and SD address of block
+        vol_->cacheSetBlockNumber(block, true);
+      } else {
+        // rewrite part of block
+        if (!vol_->cacheRawBlock(block, SdVolume::CACHE_FOR_WRITE)) goto fail;
+      }
+      uint8_t* dst = vol_->cache()->data + blockOffset;
+      memcpy(dst, src, n);
+    }
+    curPosition_ += n;
+    src += n;
+    nToWrite -= n;
+  }
+  if (curPosition_ > fileSize_) {
+    // update fileSize and insure sync will update dir entry
+    fileSize_ = curPosition_;
+    flags_ |= F_FILE_DIR_DIRTY;
+  } else if (dateTime_ && nbyte) {
+    // insure sync will update modified date and time
+    flags_ |= F_FILE_DIR_DIRTY;
+  }
+
+  if (flags_ & O_SYNC) {
+    if (!sync()) goto fail;
+  }
+  return nbyte;
+
+ fail:
+  // return for write error
+  writeError = true;
+  return -1;
+}
+//------------------------------------------------------------------------------
+// suppress cpplint warnings with NOLINT comment
+#if ALLOW_DEPRECATED_FUNCTIONS && !defined(DOXYGEN)
+void (*SdBaseFile::oldDateTime_)(uint16_t& date, uint16_t& time) = 0;  // NOLINT
+#endif  // ALLOW_DEPRECATED_FUNCTIONS
+
+
+#endif

+ 483 - 0
SdBaseFile.h

@@ -0,0 +1,483 @@
+/* Arduino SdFat Library
+ * Copyright (C) 2009 by William Greiman
+ *
+ * This file is part of the Arduino SdFat Library
+ *
+ * This Library is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 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 General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with the Arduino SdFat Library.  If not, see
+ * <http://www.gnu.org/licenses/>.
+ */
+#include "Marlin.h"
+#ifdef SDSUPPORT
+
+#ifndef SdBaseFile_h
+#define SdBaseFile_h
+/**
+ * \file
+ * \brief SdBaseFile class
+ */
+#include "Marlin.h"
+#include "SdFatConfig.h"
+#include "SdVolume.h"
+//------------------------------------------------------------------------------
+/**
+ * \struct fpos_t
+ * \brief internal type for istream
+ * do not use in user apps
+ */
+struct fpos_t {
+  /** stream position */
+  uint32_t position;
+  /** cluster for position */
+  uint32_t cluster;
+  fpos_t() : position(0), cluster(0) {}
+};
+
+// use the gnu style oflag in open()
+/** open() oflag for reading */
+uint8_t const O_READ = 0X01;
+/** open() oflag - same as O_IN */
+uint8_t const O_RDONLY = O_READ;
+/** open() oflag for write */
+uint8_t const O_WRITE = 0X02;
+/** open() oflag - same as O_WRITE */
+uint8_t const O_WRONLY = O_WRITE;
+/** open() oflag for reading and writing */
+uint8_t const O_RDWR = (O_READ | O_WRITE);
+/** open() oflag mask for access modes */
+uint8_t const O_ACCMODE = (O_READ | O_WRITE);
+/** The file offset shall be set to the end of the file prior to each write. */
+uint8_t const O_APPEND = 0X04;
+/** synchronous writes - call sync() after each write */
+uint8_t const O_SYNC = 0X08;
+/** truncate the file to zero length */
+uint8_t const O_TRUNC = 0X10;
+/** set the initial position at the end of the file */
+uint8_t const O_AT_END = 0X20;
+/** create the file if nonexistent */
+uint8_t const O_CREAT = 0X40;
+/** If O_CREAT and O_EXCL are set, open() shall fail if the file exists */
+uint8_t const O_EXCL = 0X80;
+
+// SdBaseFile class static and const definitions
+// flags for ls()
+/** ls() flag to print modify date */
+uint8_t const LS_DATE = 1;
+/** ls() flag to print file size */
+uint8_t const LS_SIZE = 2;
+/** ls() flag for recursive list of subdirectories */
+uint8_t const LS_R = 4;
+
+
+// flags for timestamp
+/** set the file's last access date */
+uint8_t const T_ACCESS = 1;
+/** set the file's creation date and time */
+uint8_t const T_CREATE = 2;
+/** Set the file's write date and time */
+uint8_t const T_WRITE = 4;
+// values for type_
+/** This file has not been opened. */
+uint8_t const FAT_FILE_TYPE_CLOSED = 0;
+/** A normal file */
+uint8_t const FAT_FILE_TYPE_NORMAL = 1;
+/** A FAT12 or FAT16 root directory */
+uint8_t const FAT_FILE_TYPE_ROOT_FIXED = 2;
+/** A FAT32 root directory */
+uint8_t const FAT_FILE_TYPE_ROOT32 = 3;
+/** A subdirectory file*/
+uint8_t const FAT_FILE_TYPE_SUBDIR = 4;
+/** Test value for directory type */
+uint8_t const FAT_FILE_TYPE_MIN_DIR = FAT_FILE_TYPE_ROOT_FIXED;
+
+/** date field for FAT directory entry
+ * \param[in] year [1980,2107]
+ * \param[in] month [1,12]
+ * \param[in] day [1,31]
+ *
+ * \return Packed date for dir_t entry.
+ */
+static inline uint16_t FAT_DATE(uint16_t year, uint8_t month, uint8_t day) {
+  return (year - 1980) << 9 | month << 5 | day;
+}
+/** year part of FAT directory date field
+ * \param[in] fatDate Date in packed dir format.
+ *
+ * \return Extracted year [1980,2107]
+ */
+static inline uint16_t FAT_YEAR(uint16_t fatDate) {
+  return 1980 + (fatDate >> 9);
+}
+/** month part of FAT directory date field
+ * \param[in] fatDate Date in packed dir format.
+ *
+ * \return Extracted month [1,12]
+ */
+static inline uint8_t FAT_MONTH(uint16_t fatDate) {
+  return (fatDate >> 5) & 0XF;
+}
+/** day part of FAT directory date field
+ * \param[in] fatDate Date in packed dir format.
+ *
+ * \return Extracted day [1,31]
+ */
+static inline uint8_t FAT_DAY(uint16_t fatDate) {
+  return fatDate & 0X1F;
+}
+/** time field for FAT directory entry
+ * \param[in] hour [0,23]
+ * \param[in] minute [0,59]
+ * \param[in] second [0,59]
+ *
+ * \return Packed time for dir_t entry.
+ */
+static inline uint16_t FAT_TIME(uint8_t hour, uint8_t minute, uint8_t second) {
+  return hour << 11 | minute << 5 | second >> 1;
+}
+/** hour part of FAT directory time field
+ * \param[in] fatTime Time in packed dir format.
+ *
+ * \return Extracted hour [0,23]
+ */
+static inline uint8_t FAT_HOUR(uint16_t fatTime) {
+  return fatTime >> 11;
+}
+/** minute part of FAT directory time field
+ * \param[in] fatTime Time in packed dir format.
+ *
+ * \return Extracted minute [0,59]
+ */
+static inline uint8_t FAT_MINUTE(uint16_t fatTime) {
+  return(fatTime >> 5) & 0X3F;
+}
+/** second part of FAT directory time field
+ * Note second/2 is stored in packed time.
+ *
+ * \param[in] fatTime Time in packed dir format.
+ *
+ * \return Extracted second [0,58]
+ */
+static inline uint8_t FAT_SECOND(uint16_t fatTime) {
+  return 2*(fatTime & 0X1F);
+}
+/** Default date for file timestamps is 1 Jan 2000 */
+uint16_t const FAT_DEFAULT_DATE = ((2000 - 1980) << 9) | (1 << 5) | 1;
+/** Default time for file timestamp is 1 am */
+uint16_t const FAT_DEFAULT_TIME = (1 << 11);
+//------------------------------------------------------------------------------
+/**
+ * \class SdBaseFile
+ * \brief Base class for SdFile with Print and C++ streams.
+ */
+class SdBaseFile {
+ public:
+  /** Create an instance. */
+  SdBaseFile() : writeError(false), type_(FAT_FILE_TYPE_CLOSED) {}
+  SdBaseFile(const char* path, uint8_t oflag);
+  ~SdBaseFile() {if(isOpen()) close();}
+  /**
+   * writeError is set to true if an error occurs during a write().
+   * Set writeError to false before calling print() and/or write() and check
+   * for true after calls to print() and/or write().
+   */
+  bool writeError;
+  //----------------------------------------------------------------------------
+  // helpers for stream classes
+  /** get position for streams
+   * \param[out] pos struct to receive position
+   */
+  void getpos(fpos_t* pos);
+  /** set position for streams
+   * \param[out] pos struct with value for new position
+   */
+  void setpos(fpos_t* pos);
+  //----------------------------------------------------------------------------
+  bool close();
+  bool contiguousRange(uint32_t* bgnBlock, uint32_t* endBlock);
+  bool createContiguous(SdBaseFile* dirFile,
+          const char* path, uint32_t size);
+  /** \return The current cluster number for a file or directory. */
+  uint32_t curCluster() const {return curCluster_;}
+  /** \return The current position for a file or directory. */
+  uint32_t curPosition() const {return curPosition_;}
+  /** \return Current working directory */
+  static SdBaseFile* cwd() {return cwd_;}
+  /** Set the date/time callback function
+   *
+   * \param[in] dateTime The user's call back function.  The callback
+   * function is of the form:
+   *
+   * \code
+   * void dateTime(uint16_t* date, uint16_t* time) {
+   *   uint16_t year;
+   *   uint8_t month, day, hour, minute, second;
+   *
+   *   // User gets date and time from GPS or real-time clock here
+   *
+   *   // return date using FAT_DATE macro to format fields
+   *   *date = FAT_DATE(year, month, day);
+   *
+   *   // return time using FAT_TIME macro to format fields
+   *   *time = FAT_TIME(hour, minute, second);
+   * }
+   * \endcode
+   *
+   * Sets the function that is called when a file is created or when
+   * a file's directory entry is modified by sync(). All timestamps,
+   * access, creation, and modify, are set when a file is created.
+   * sync() maintains the last access date and last modify date/time.
+   *
+   * See the timestamp() function.
+   */
+  static void dateTimeCallback(
+    void (*dateTime)(uint16_t* date, uint16_t* time)) {
+    dateTime_ = dateTime;
+  }
+  /**  Cancel the date/time callback function. */
+  static void dateTimeCallbackCancel() {dateTime_ = 0;}
+  bool dirEntry(dir_t* dir);
+  static void dirName(const dir_t& dir, char* name);
+  bool exists(const char* name);
+  int16_t fgets(char* str, int16_t num, char* delim = 0);
+  /** \return The total number of bytes in a file or directory. */
+  uint32_t fileSize() const {return fileSize_;}
+  /** \return The first cluster number for a file or directory. */
+  uint32_t firstCluster() const {return firstCluster_;}
+  bool getFilename(char* name);
+  /** \return True if this is a directory else false. */
+  bool isDir() const {return type_ >= FAT_FILE_TYPE_MIN_DIR;}
+  /** \return True if this is a normal file else false. */
+  bool isFile() const {return type_ == FAT_FILE_TYPE_NORMAL;}
+  /** \return True if this is an open file/directory else false. */
+  bool isOpen() const {return type_ != FAT_FILE_TYPE_CLOSED;}
+  /** \return True if this is a subdirectory else false. */
+  bool isSubDir() const {return type_ == FAT_FILE_TYPE_SUBDIR;}
+  /** \return True if this is the root directory. */
+  bool isRoot() const {
+    return type_ == FAT_FILE_TYPE_ROOT_FIXED || type_ == FAT_FILE_TYPE_ROOT32;
+  }
+  void ls( uint8_t flags = 0, uint8_t indent = 0);
+  bool mkdir(SdBaseFile* dir, const char* path, bool pFlag = true);
+  // alias for backward compactability
+  bool makeDir(SdBaseFile* dir, const char* path) {
+    return mkdir(dir, path, false);
+  }
+  bool open(SdBaseFile* dirFile, uint16_t index, uint8_t oflag);
+  bool open(SdBaseFile* dirFile, const char* path, uint8_t oflag);
+  bool open(const char* path, uint8_t oflag = O_READ);
+  bool openNext(SdBaseFile* dirFile, uint8_t oflag);
+  bool openRoot(SdVolume* vol);
+  int peek();
+  static void printFatDate(uint16_t fatDate);
+  static void printFatTime( uint16_t fatTime);
+  bool printName();
+  int16_t read();
+  int16_t read(void* buf, uint16_t nbyte);
+  int8_t readDir(dir_t* dir, char* longFilename);
+  static bool remove(SdBaseFile* dirFile, const char* path);
+  bool remove();
+  /** Set the file's current position to zero. */
+  void rewind() {seekSet(0);}
+  bool rename(SdBaseFile* dirFile, const char* newPath);
+  bool rmdir();
+  // for backward compatibility
+  bool rmDir() {return rmdir();}
+  bool rmRfStar();
+  /** Set the files position to current position + \a pos. See seekSet().
+   * \param[in] offset The new position in bytes from the current position.
+   * \return true for success or false for failure.
+   */
+  bool seekCur(int32_t offset) {
+    return seekSet(curPosition_ + offset);
+  }
+  /** Set the files position to end-of-file + \a offset. See seekSet().
+   * \param[in] offset The new position in bytes from end-of-file.
+   * \return true for success or false for failure.
+   */
+  bool seekEnd(int32_t offset = 0) {return seekSet(fileSize_ + offset);}
+  bool seekSet(uint32_t pos);
+  bool sync();
+  bool timestamp(SdBaseFile* file);
+  bool timestamp(uint8_t flag, uint16_t year, uint8_t month, uint8_t day,
+          uint8_t hour, uint8_t minute, uint8_t second);
+  /** Type of file.  You should use isFile() or isDir() instead of type()
+   * if possible.
+   *
+   * \return The file or directory type.
+   */
+  uint8_t type() const {return type_;}
+  bool truncate(uint32_t size);
+  /** \return SdVolume that contains this file. */
+  SdVolume* volume() const {return vol_;}
+  int16_t write(const void* buf, uint16_t nbyte);
+//------------------------------------------------------------------------------
+ private:
+  // allow SdFat to set cwd_
+  friend class SdFat;
+  // global pointer to cwd dir
+  static SdBaseFile* cwd_;
+  // data time callback function
+  static void (*dateTime_)(uint16_t* date, uint16_t* time);
+  // bits defined in flags_
+  // should be 0X0F
+  static uint8_t const F_OFLAG = (O_ACCMODE | O_APPEND | O_SYNC);
+  // sync of directory entry required
+  static uint8_t const F_FILE_DIR_DIRTY = 0X80;
+
+  // private data
+  uint8_t   flags_;         // See above for definition of flags_ bits
+  uint8_t   fstate_;        // error and eof indicator
+  uint8_t   type_;          // type of file see above for values
+  uint32_t  curCluster_;    // cluster for current file position
+  uint32_t  curPosition_;   // current file position in bytes from beginning
+  uint32_t  dirBlock_;      // block for this files directory entry
+  uint8_t   dirIndex_;      // index of directory entry in dirBlock
+  uint32_t  fileSize_;      // file size in bytes
+  uint32_t  firstCluster_;  // first cluster of file
+  SdVolume* vol_;           // volume where file is located
+
+  /** experimental don't use */
+  bool openParent(SdBaseFile* dir);
+  // private functions
+  bool addCluster();
+  bool addDirCluster();
+  dir_t* cacheDirEntry(uint8_t action);
+  int8_t lsPrintNext( uint8_t flags, uint8_t indent);
+  static bool make83Name(const char* str, uint8_t* name, const char** ptr);
+  bool mkdir(SdBaseFile* parent, const uint8_t dname[11]);
+  bool open(SdBaseFile* dirFile, const uint8_t dname[11], uint8_t oflag);
+  bool openCachedEntry(uint8_t cacheIndex, uint8_t oflags);
+  dir_t* readDirCache();
+//------------------------------------------------------------------------------
+// to be deleted
+  static void printDirName( const dir_t& dir,
+    uint8_t width, bool printSlash);
+//------------------------------------------------------------------------------
+// Deprecated functions  - suppress cpplint warnings with NOLINT comment
+#if ALLOW_DEPRECATED_FUNCTIONS && !defined(DOXYGEN)
+ public:
+  /** \deprecated Use:
+   * bool contiguousRange(uint32_t* bgnBlock, uint32_t* endBlock);
+   * \param[out] bgnBlock the first block address for the file.
+   * \param[out] endBlock the last  block address for the file.
+   * \return true for success or false for failure.
+   */
+  bool contiguousRange(uint32_t& bgnBlock, uint32_t& endBlock) {  // NOLINT
+    return contiguousRange(&bgnBlock, &endBlock);
+  }
+ /** \deprecated Use:
+   * bool createContiguous(SdBaseFile* dirFile,
+   *   const char* path, uint32_t size)
+   * \param[in] dirFile The directory where the file will be created.
+   * \param[in] path A path with a valid DOS 8.3 file name.
+   * \param[in] size The desired file size.
+   * \return true for success or false for failure.
+   */
+  bool createContiguous(SdBaseFile& dirFile,  // NOLINT
+    const char* path, uint32_t size) {
+    return createContiguous(&dirFile, path, size);
+  }
+  /** \deprecated Use:
+   * static void dateTimeCallback(
+   *   void (*dateTime)(uint16_t* date, uint16_t* time));
+   * \param[in] dateTime The user's call back function.
+   */
+  static void dateTimeCallback(
+    void (*dateTime)(uint16_t& date, uint16_t& time)) {  // NOLINT
+    oldDateTime_ = dateTime;
+    dateTime_ = dateTime ? oldToNew : 0;
+  }
+  /** \deprecated Use: bool dirEntry(dir_t* dir);
+   * \param[out] dir Location for return of the file's directory entry.
+   * \return true for success or false for failure.
+   */
+  bool dirEntry(dir_t& dir) {return dirEntry(&dir);}  // NOLINT
+  /** \deprecated Use:
+   * bool mkdir(SdBaseFile* dir, const char* path);
+   * \param[in] dir An open SdFat instance for the directory that will contain
+   * the new directory.
+   * \param[in] path A path with a valid 8.3 DOS name for the new directory.
+   * \return true for success or false for failure.
+   */
+  bool mkdir(SdBaseFile& dir, const char* path) {  // NOLINT
+    return mkdir(&dir, path);
+  }
+  /** \deprecated Use:
+   * bool open(SdBaseFile* dirFile, const char* path, uint8_t oflag);
+   * \param[in] dirFile An open SdFat instance for the directory containing the
+   * file to be opened.
+   * \param[in] path A path with a valid 8.3 DOS name for the file.
+   * \param[in] oflag Values for \a oflag are constructed by a bitwise-inclusive
+   * OR of flags O_READ, O_WRITE, O_TRUNC, and O_SYNC.
+   * \return true for success or false for failure.
+   */
+  bool open(SdBaseFile& dirFile, // NOLINT
+    const char* path, uint8_t oflag) {
+    return open(&dirFile, path, oflag);
+  }
+  /** \deprecated  Do not use in new apps
+   * \param[in] dirFile An open SdFat instance for the directory containing the
+   * file to be opened.
+   * \param[in] path A path with a valid 8.3 DOS name for a file to be opened.
+   * \return true for success or false for failure.
+   */
+  bool open(SdBaseFile& dirFile, const char* path) {  // NOLINT
+    return open(dirFile, path, O_RDWR);
+  }
+  /** \deprecated Use:
+   * bool open(SdBaseFile* dirFile, uint16_t index, uint8_t oflag);
+   * \param[in] dirFile An open SdFat instance for the directory.
+   * \param[in] index The \a index of the directory entry for the file to be
+   * opened.  The value for \a index is (directory file position)/32.
+   * \param[in] oflag Values for \a oflag are constructed by a bitwise-inclusive
+   * OR of flags O_READ, O_WRITE, O_TRUNC, and O_SYNC.
+   * \return true for success or false for failure.
+   */
+  bool open(SdBaseFile& dirFile, uint16_t index, uint8_t oflag) {  // NOLINT
+    return open(&dirFile, index, oflag);
+  }
+  /** \deprecated Use: bool openRoot(SdVolume* vol);
+   * \param[in] vol The FAT volume containing the root directory to be opened.
+   * \return true for success or false for failure.
+   */
+  bool openRoot(SdVolume& vol) {return openRoot(&vol);}  // NOLINT
+  /** \deprecated Use: int8_t readDir(dir_t* dir);
+   * \param[out] dir The dir_t struct that will receive the data.
+   * \return bytes read for success zero for eof or -1 for failure.
+   */
+  int8_t readDir(dir_t& dir, char* longFilename) {return readDir(&dir, longFilename);}  // NOLINT
+  /** \deprecated Use:
+   * static uint8_t remove(SdBaseFile* dirFile, const char* path);
+   * \param[in] dirFile The directory that contains the file.
+   * \param[in] path The name of the file to be removed.
+   * \return true for success or false for failure.
+   */
+  static bool remove(SdBaseFile& dirFile, const char* path) {  // NOLINT
+    return remove(&dirFile, path);
+  }
+//------------------------------------------------------------------------------
+// rest are private
+ private:
+  static void (*oldDateTime_)(uint16_t& date, uint16_t& time);  // NOLINT
+  static void oldToNew(uint16_t* date, uint16_t* time) {
+    uint16_t d;
+    uint16_t t;
+    oldDateTime_(d, t);
+    *date = d;
+    *time = t;
+  }
+#endif  // ALLOW_DEPRECATED_FUNCTIONS
+};
+
+#endif  // SdBaseFile_h
+#endif

+ 123 - 0
SdFatConfig.h

@@ -0,0 +1,123 @@
+/* Arduino SdFat Library
+ * Copyright (C) 2009 by William Greiman
+ *
+ * This file is part of the Arduino SdFat Library
+ *
+ * This Library is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 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 General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with the Arduino SdFat Library.  If not, see
+ * <http://www.gnu.org/licenses/>.
+ */
+/**
+ * \file
+ * \brief configuration definitions
+ */
+#include "Marlin.h"
+#ifdef SDSUPPORT
+
+#ifndef SdFatConfig_h
+#define SdFatConfig_h
+#include <stdint.h>
+//------------------------------------------------------------------------------
+/**
+ * To use multiple SD cards set USE_MULTIPLE_CARDS nonzero.
+ *
+ * Using multiple cards costs 400 - 500  bytes of flash.
+ *
+ * Each card requires about 550 bytes of SRAM so use of a Mega is recommended.
+ */
+#define USE_MULTIPLE_CARDS 0
+//------------------------------------------------------------------------------
+/**
+ * Call flush for endl if ENDL_CALLS_FLUSH is nonzero
+ *
+ * The standard for iostreams is to call flush.  This is very costly for
+ * SdFat.  Each call to flush causes 2048 bytes of I/O to the SD.
+ *
+ * SdFat has a single 512 byte buffer for SD I/O so it must write the current
+ * data block to the SD, read the directory block from the SD, update the
+ * directory entry, write the directory block to the SD and read the data
+ * block back into the buffer.
+ *
+ * The SD flash memory controller is not designed for this many rewrites
+ * so performance may be reduced by more than a factor of 100.
+ *
+ * If ENDL_CALLS_FLUSH is zero, you must call flush and/or close to force
+ * all data to be written to the SD.
+ */
+#define ENDL_CALLS_FLUSH 0
+//------------------------------------------------------------------------------
+/**
+ * Allow use of deprecated functions if ALLOW_DEPRECATED_FUNCTIONS is nonzero
+ */
+#define ALLOW_DEPRECATED_FUNCTIONS 1
+//------------------------------------------------------------------------------
+/**
+ * Allow FAT12 volumes if FAT12_SUPPORT is nonzero.
+ * FAT12 has not been well tested.
+ */
+#define FAT12_SUPPORT 0
+//------------------------------------------------------------------------------
+/**
+ * SPI init rate for SD initialization commands. Must be 5 (F_CPU/64)
+ * or 6 (F_CPU/128).
+ */
+#define SPI_SD_INIT_RATE 5
+//------------------------------------------------------------------------------
+/**
+ * Set the SS pin high for hardware SPI.  If SS is chip select for another SPI
+ * device this will disable that device during the SD init phase.
+ */
+#define SET_SPI_SS_HIGH 1
+//------------------------------------------------------------------------------
+/**
+ * Define MEGA_SOFT_SPI nonzero to use software SPI on Mega Arduinos.
+ * Pins used are SS 10, MOSI 11, MISO 12, and SCK 13.
+ *
+ * MEGA_SOFT_SPI allows an unmodified Adafruit GPS Shield to be used
+ * on Mega Arduinos.  Software SPI works well with GPS Shield V1.1
+ * but many SD cards will fail with GPS Shield V1.0.
+ */
+#define MEGA_SOFT_SPI 0
+//------------------------------------------------------------------------------
+/**
+ * Set USE_SOFTWARE_SPI nonzero to always use software SPI.
+ */
+#define USE_SOFTWARE_SPI 0
+// define software SPI pins so Mega can use unmodified 168/328 shields
+/** Software SPI chip select pin for the SD */
+uint8_t const SOFT_SPI_CS_PIN = 10;
+/** Software SPI Master Out Slave In pin */
+uint8_t const SOFT_SPI_MOSI_PIN = 11;
+/** Software SPI Master In Slave Out pin */
+uint8_t const SOFT_SPI_MISO_PIN = 12;
+/** Software SPI Clock pin */
+uint8_t const SOFT_SPI_SCK_PIN = 13;
+//------------------------------------------------------------------------------
+/**
+ * The __cxa_pure_virtual function is an error handler that is invoked when
+ * a pure virtual function is called.
+ */
+#define USE_CXA_PURE_VIRTUAL 1
+/**
+ * Defines for long (vfat) filenames
+ */
+/** Number of VFAT entries used. Every entry has 13 UTF-16 characters */
+#define MAX_VFAT_ENTRIES (4)
+/** Number of UTF-16 characters per entry */
+#define FILENAME_LENGTH 13
+/** Total size of the buffer used to store the long filenames */
+#define LONG_FILENAME_LENGTH (13*MAX_VFAT_ENTRIES+1)
+#endif  // SdFatConfig_h
+
+
+#endif

+ 646 - 0
SdFatStructs.h

@@ -0,0 +1,646 @@
+/* Arduino SdFat Library
+ * Copyright (C) 2009 by William Greiman
+ *
+ * This file is part of the Arduino SdFat Library
+ *
+ * This Library is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 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 General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with the Arduino SdFat Library.  If not, see
+ * <http://www.gnu.org/licenses/>.
+ */
+#include "Marlin.h"
+#ifdef SDSUPPORT
+
+#ifndef SdFatStructs_h
+#define SdFatStructs_h
+
+#define PACKED __attribute__((__packed__))
+/**
+ * \file
+ * \brief FAT file structures
+ */
+/*
+ * mostly from Microsoft document fatgen103.doc
+ * http://www.microsoft.com/whdc/system/platform/firmware/fatgen.mspx
+ */
+//------------------------------------------------------------------------------
+/** Value for byte 510 of boot block or MBR */
+uint8_t const BOOTSIG0 = 0X55;
+/** Value for byte 511 of boot block or MBR */
+uint8_t const BOOTSIG1 = 0XAA;
+/** Value for bootSignature field int FAT/FAT32 boot sector */
+uint8_t const EXTENDED_BOOT_SIG = 0X29;
+//------------------------------------------------------------------------------
+/**
+ * \struct partitionTable
+ * \brief MBR partition table entry
+ *
+ * A partition table entry for a MBR formatted storage device.
+ * The MBR partition table has four entries.
+ */
+struct partitionTable {
+          /**
+           * Boot Indicator . Indicates whether the volume is the active
+           * partition.  Legal values include: 0X00. Do not use for booting.
+           * 0X80 Active partition.
+           */
+  uint8_t  boot;
+          /**
+            * Head part of Cylinder-head-sector address of the first block in
+            * the partition. Legal values are 0-255. Only used in old PC BIOS.
+            */
+  uint8_t  beginHead;
+          /**
+           * Sector part of Cylinder-head-sector address of the first block in
+           * the partition. Legal values are 1-63. Only used in old PC BIOS.
+           */
+  unsigned beginSector : 6;
+           /** High bits cylinder for first block in partition. */
+  unsigned beginCylinderHigh : 2;
+          /**
+           * Combine beginCylinderLow with beginCylinderHigh. Legal values
+           * are 0-1023.  Only used in old PC BIOS.
+           */
+  uint8_t  beginCylinderLow;
+          /**
+           * Partition type. See defines that begin with PART_TYPE_ for
+           * some Microsoft partition types.
+           */
+  uint8_t  type;
+          /**
+           * head part of cylinder-head-sector address of the last sector in the
+           * partition.  Legal values are 0-255. Only used in old PC BIOS.
+           */
+  uint8_t  endHead;
+          /**
+           * Sector part of cylinder-head-sector address of the last sector in
+           * the partition.  Legal values are 1-63. Only used in old PC BIOS.
+           */
+  unsigned endSector : 6;
+           /** High bits of end cylinder */
+  unsigned endCylinderHigh : 2;
+          /**
+           * Combine endCylinderLow with endCylinderHigh. Legal values
+           * are 0-1023.  Only used in old PC BIOS.
+           */
+  uint8_t  endCylinderLow;
+           /** Logical block address of the first block in the partition. */
+  uint32_t firstSector;
+           /** Length of the partition, in blocks. */
+  uint32_t totalSectors;
+} PACKED;
+/** Type name for partitionTable */
+typedef struct partitionTable part_t;
+//------------------------------------------------------------------------------
+/**
+ * \struct masterBootRecord
+ *
+ * \brief Master Boot Record
+ *
+ * The first block of a storage device that is formatted with a MBR.
+ */
+struct masterBootRecord {
+           /** Code Area for master boot program. */
+  uint8_t  codeArea[440];
+           /** Optional Windows NT disk signature. May contain boot code. */
+  uint32_t diskSignature;
+           /** Usually zero but may be more boot code. */
+  uint16_t usuallyZero;
+           /** Partition tables. */
+  part_t   part[4];
+           /** First MBR signature byte. Must be 0X55 */
+  uint8_t  mbrSig0;
+           /** Second MBR signature byte. Must be 0XAA */
+  uint8_t  mbrSig1;
+} PACKED;
+/** Type name for masterBootRecord */
+typedef struct masterBootRecord mbr_t;
+//------------------------------------------------------------------------------
+/**
+ * \struct fat_boot
+ *
+ * \brief Boot sector for a FAT12/FAT16 volume.
+ *
+ */
+struct fat_boot {
+         /**
+          * The first three bytes of the boot sector must be valid,
+          * executable x 86-based CPU instructions. This includes a
+          * jump instruction that skips the next nonexecutable bytes.
+          */
+  uint8_t jump[3];
+         /**
+          * This is typically a string of characters that identifies
+          * the operating system that formatted the volume.
+          */
+  char    oemId[8];
+          /**
+           * The size of a hardware sector. Valid decimal values for this
+           * field are 512, 1024, 2048, and 4096. For most disks used in
+           * the United States, the value of this field is 512.
+           */
+  uint16_t bytesPerSector;
+          /**
+           * Number of sectors per allocation unit. This value must be a
+           * power of 2 that is greater than 0. The legal values are
+           * 1, 2, 4, 8, 16, 32, 64, and 128.  128 should be avoided.
+           */
+  uint8_t  sectorsPerCluster;
+          /**
+           * The number of sectors preceding the start of the first FAT,
+           * including the boot sector. The value of this field is always 1.
+           */
+  uint16_t reservedSectorCount;
+          /**
+           * The number of copies of the FAT on the volume.
+           * The value of this field is always 2.
+           */
+  uint8_t  fatCount;
+          /**
+           * For FAT12 and FAT16 volumes, this field contains the count of
+           * 32-byte directory entries in the root directory. For FAT32 volumes,
+           * this field must be set to 0. For FAT12 and FAT16 volumes, this
+           * value should always specify a count that when multiplied by 32
+           * results in a multiple of bytesPerSector.  FAT16 volumes should
+           * use the value 512.
+           */
+  uint16_t rootDirEntryCount;
+          /**
+           * This field is the old 16-bit total count of sectors on the volume.
+           * This count includes the count of all sectors in all four regions
+           * of the volume. This field can be 0; if it is 0, then totalSectors32
+           * must be nonzero.  For FAT32 volumes, this field must be 0. For
+           * FAT12 and FAT16 volumes, this field contains the sector count, and
+           * totalSectors32 is 0 if the total sector count fits
+           * (is less than 0x10000).
+           */
+  uint16_t totalSectors16;
+          /**
+           * This dates back to the old MS-DOS 1.x media determination and is
+           * no longer usually used for anything.  0xF8 is the standard value
+           * for fixed (nonremovable) media. For removable media, 0xF0 is
+           * frequently used. Legal values are 0xF0 or 0xF8-0xFF.
+           */
+  uint8_t  mediaType;
+          /**
+           * Count of sectors occupied by one FAT on FAT12/FAT16 volumes.
+           * On FAT32 volumes this field must be 0, and sectorsPerFat32
+           * contains the FAT size count.
+           */
+  uint16_t sectorsPerFat16;
+           /** Sectors per track for interrupt 0x13. Not used otherwise. */
+  uint16_t sectorsPerTrack;
+           /** Number of heads for interrupt 0x13.  Not used otherwise. */
+  uint16_t headCount;
+          /**
+           * Count of hidden sectors preceding the partition that contains this
+           * FAT volume. This field is generally only relevant for media
+           * visible on interrupt 0x13.
+           */
+  uint32_t hidddenSectors;
+          /**
+           * This field is the new 32-bit total count of sectors on the volume.
+           * This count includes the count of all sectors in all four regions
+           * of the volume.  This field can be 0; if it is 0, then
+           * totalSectors16 must be nonzero.
+           */
+  uint32_t totalSectors32;
+           /**
+            * Related to the BIOS physical drive number. Floppy drives are
+            * identified as 0x00 and physical hard disks are identified as
+            * 0x80, regardless of the number of physical disk drives.
+            * Typically, this value is set prior to issuing an INT 13h BIOS
+            * call to specify the device to access. The value is only
+            * relevant if the device is a boot device.
+            */
+  uint8_t  driveNumber;
+           /** used by Windows NT - should be zero for FAT */
+  uint8_t  reserved1;
+           /** 0X29 if next three fields are valid */
+  uint8_t  bootSignature;
+           /**
+            * A random serial number created when formatting a disk,
+            * which helps to distinguish between disks.
+            * Usually generated by combining date and time.
+            */
+  uint32_t volumeSerialNumber;
+           /**
+            * A field once used to store the volume label. The volume label
+            * is now stored as a special file in the root directory.
+            */
+  char     volumeLabel[11];
+           /**
+            * A field with a value of either FAT, FAT12 or FAT16,
+            * depending on the disk format.
+            */
+  char     fileSystemType[8];
+           /** X86 boot code */
+  uint8_t  bootCode[448];
+           /** must be 0X55 */
+  uint8_t  bootSectorSig0;
+           /** must be 0XAA */
+  uint8_t  bootSectorSig1;
+} PACKED;
+/** Type name for FAT Boot Sector */
+typedef struct fat_boot fat_boot_t;
+//------------------------------------------------------------------------------
+/**
+ * \struct fat32_boot
+ *
+ * \brief Boot sector for a FAT32 volume.
+ *
+ */
+struct fat32_boot {
+         /**
+          * The first three bytes of the boot sector must be valid,
+          * executable x 86-based CPU instructions. This includes a
+          * jump instruction that skips the next nonexecutable bytes.
+          */
+  uint8_t jump[3];
+         /**
+          * This is typically a string of characters that identifies
+          * the operating system that formatted the volume.
+          */
+  char    oemId[8];
+          /**
+           * The size of a hardware sector. Valid decimal values for this
+           * field are 512, 1024, 2048, and 4096. For most disks used in
+           * the United States, the value of this field is 512.
+           */
+  uint16_t bytesPerSector;
+          /**
+           * Number of sectors per allocation unit. This value must be a
+           * power of 2 that is greater than 0. The legal values are
+           * 1, 2, 4, 8, 16, 32, 64, and 128.  128 should be avoided.
+           */
+  uint8_t  sectorsPerCluster;
+          /**
+           * The number of sectors preceding the start of the first FAT,
+           * including the boot sector. Must not be zero
+           */
+  uint16_t reservedSectorCount;
+          /**
+           * The number of copies of the FAT on the volume.
+           * The value of this field is always 2.
+           */
+  uint8_t  fatCount;
+          /**
+           * FAT12/FAT16 only. For FAT32 volumes, this field must be set to 0.
+           */
+  uint16_t rootDirEntryCount;
+          /**
+           * For FAT32 volumes, this field must be 0.
+           */
+  uint16_t totalSectors16;
+          /**
+           * This dates back to the old MS-DOS 1.x media determination and is
+           * no longer usually used for anything.  0xF8 is the standard value
+           * for fixed (nonremovable) media. For removable media, 0xF0 is
+           * frequently used. Legal values are 0xF0 or 0xF8-0xFF.
+           */
+  uint8_t  mediaType;
+          /**
+           * On FAT32 volumes this field must be 0, and sectorsPerFat32
+           * contains the FAT size count.
+           */
+  uint16_t sectorsPerFat16;
+           /** Sectors per track for interrupt 0x13. Not used otherwise. */
+  uint16_t sectorsPerTrack;
+           /** Number of heads for interrupt 0x13.  Not used otherwise. */
+  uint16_t headCount;
+          /**
+           * Count of hidden sectors preceding the partition that contains this
+           * FAT volume. This field is generally only relevant for media
+           * visible on interrupt 0x13.
+           */
+  uint32_t hidddenSectors;
+          /**
+           * Contains the total number of sectors in the FAT32 volume.
+           */
+  uint32_t totalSectors32;
+         /**
+           * Count of sectors occupied by one FAT on FAT32 volumes.
+           */
+  uint32_t sectorsPerFat32;
+          /**
+           * This field is only defined for FAT32 media and does not exist on
+           * FAT12 and FAT16 media.
+           * Bits 0-3 -- Zero-based number of active FAT.
+           *             Only valid if mirroring is disabled.
+           * Bits 4-6 -- Reserved.
+           * Bit 7	-- 0 means the FAT is mirrored at runtime into all FATs.
+	         *        -- 1 means only one FAT is active; it is the one referenced
+	         *             in bits 0-3.
+           * Bits 8-15 	-- Reserved.
+           */
+  uint16_t fat32Flags;
+          /**
+           * FAT32 version. High byte is major revision number.
+           * Low byte is minor revision number. Only 0.0 define.
+           */
+  uint16_t fat32Version;
+          /**
+           * Cluster number of the first cluster of the root directory for FAT32.
+           * This usually 2 but not required to be 2.
+           */
+  uint32_t fat32RootCluster;
+          /**
+           * Sector number of FSINFO structure in the reserved area of the
+           * FAT32 volume. Usually 1.
+           */
+  uint16_t fat32FSInfo;
+          /**
+           * If nonzero, indicates the sector number in the reserved area
+           * of the volume of a copy of the boot record. Usually 6.
+           * No value other than 6 is recommended.
+           */
+  uint16_t fat32BackBootBlock;
+          /**
+           * Reserved for future expansion. Code that formats FAT32 volumes
+           * should always set all of the bytes of this field to 0.
+           */
+  uint8_t  fat32Reserved[12];
+           /**
+            * Related to the BIOS physical drive number. Floppy drives are
+            * identified as 0x00 and physical hard disks are identified as
+            * 0x80, regardless of the number of physical disk drives.
+            * Typically, this value is set prior to issuing an INT 13h BIOS
+            * call to specify the device to access. The value is only
+            * relevant if the device is a boot device.
+            */
+  uint8_t  driveNumber;
+           /** used by Windows NT - should be zero for FAT */
+  uint8_t  reserved1;
+           /** 0X29 if next three fields are valid */
+  uint8_t  bootSignature;
+           /**
+            * A random serial number created when formatting a disk,
+            * which helps to distinguish between disks.
+            * Usually generated by combining date and time.
+            */
+  uint32_t volumeSerialNumber;
+           /**
+            * A field once used to store the volume label. The volume label
+            * is now stored as a special file in the root directory.
+            */
+  char     volumeLabel[11];
+           /**
+            * A text field with a value of FAT32.
+            */
+  char     fileSystemType[8];
+           /** X86 boot code */
+  uint8_t  bootCode[420];
+           /** must be 0X55 */
+  uint8_t  bootSectorSig0;
+           /** must be 0XAA */
+  uint8_t  bootSectorSig1;
+} PACKED;
+/** Type name for FAT32 Boot Sector */
+typedef struct fat32_boot fat32_boot_t;
+//------------------------------------------------------------------------------
+/** Lead signature for a FSINFO sector */
+uint32_t const FSINFO_LEAD_SIG = 0x41615252;
+/** Struct signature for a FSINFO sector */
+uint32_t const FSINFO_STRUCT_SIG = 0x61417272;
+/**
+ * \struct fat32_fsinfo
+ *
+ * \brief FSINFO sector for a FAT32 volume.
+ *
+ */
+struct fat32_fsinfo {
+           /** must be 0X52, 0X52, 0X61, 0X41 */
+  uint32_t  leadSignature;
+           /** must be zero */
+  uint8_t  reserved1[480];
+           /** must be 0X72, 0X72, 0X41, 0X61 */
+  uint32_t  structSignature;
+          /**
+           * Contains the last known free cluster count on the volume.
+           * If the value is 0xFFFFFFFF, then the free count is unknown
+           * and must be computed. Any other value can be used, but is
+           * not necessarily correct. It should be range checked at least
+           * to make sure it is <= volume cluster count.
+           */
+  uint32_t freeCount;
+          /**
+           * This is a hint for the FAT driver. It indicates the cluster
+           * number at which the driver should start looking for free clusters.
+           * If the value is 0xFFFFFFFF, then there is no hint and the driver
+           * should start looking at cluster 2.
+           */
+  uint32_t nextFree;
+           /** must be zero */
+  uint8_t  reserved2[12];
+           /** must be 0X00, 0X00, 0X55, 0XAA */
+  uint8_t  tailSignature[4];
+} PACKED;
+/** Type name for FAT32 FSINFO Sector */
+typedef struct fat32_fsinfo fat32_fsinfo_t;
+//------------------------------------------------------------------------------
+// End Of Chain values for FAT entries
+/** FAT12 end of chain value used by Microsoft. */
+uint16_t const FAT12EOC = 0XFFF;
+/** Minimum value for FAT12 EOC.  Use to test for EOC. */
+uint16_t const FAT12EOC_MIN = 0XFF8;
+/** FAT16 end of chain value used by Microsoft. */
+uint16_t const FAT16EOC = 0XFFFF;
+/** Minimum value for FAT16 EOC.  Use to test for EOC. */
+uint16_t const FAT16EOC_MIN = 0XFFF8;
+/** FAT32 end of chain value used by Microsoft. */
+uint32_t const FAT32EOC = 0X0FFFFFFF;
+/** Minimum value for FAT32 EOC.  Use to test for EOC. */
+uint32_t const FAT32EOC_MIN = 0X0FFFFFF8;
+/** Mask a for FAT32 entry. Entries are 28 bits. */
+uint32_t const FAT32MASK = 0X0FFFFFFF;
+//------------------------------------------------------------------------------
+/**
+ * \struct directoryEntry
+ * \brief FAT short directory entry
+ *
+ * Short means short 8.3 name, not the entry size.
+ *  
+ * Date Format. A FAT directory entry date stamp is a 16-bit field that is 
+ * basically a date relative to the MS-DOS epoch of 01/01/1980. Here is the
+ * format (bit 0 is the LSB of the 16-bit word, bit 15 is the MSB of the 
+ * 16-bit word):
+ *   
+ * Bits 9-15: Count of years from 1980, valid value range 0-127 
+ * inclusive (1980-2107).
+ *   
+ * Bits 5-8: Month of year, 1 = January, valid value range 1-12 inclusive.
+ *
+ * Bits 0-4: Day of month, valid value range 1-31 inclusive.
+ *
+ * Time Format. A FAT directory entry time stamp is a 16-bit field that has
+ * a granularity of 2 seconds. Here is the format (bit 0 is the LSB of the 
+ * 16-bit word, bit 15 is the MSB of the 16-bit word).
+ *   
+ * Bits 11-15: Hours, valid value range 0-23 inclusive.
+ * 
+ * Bits 5-10: Minutes, valid value range 0-59 inclusive.
+ *      
+ * Bits 0-4: 2-second count, valid value range 0-29 inclusive (0 - 58 seconds).
+ *   
+ * The valid time range is from Midnight 00:00:00 to 23:59:58.
+ */
+struct directoryEntry {
+           /** Short 8.3 name.
+            *
+            * The first eight bytes contain the file name with blank fill.
+            * The last three bytes contain the file extension with blank fill.
+            */
+  uint8_t  name[11];
+          /** Entry attributes.
+           *
+           * The upper two bits of the attribute byte are reserved and should
+           * always be set to 0 when a file is created and never modified or
+           * looked at after that.  See defines that begin with DIR_ATT_.
+           */
+  uint8_t  attributes;
+          /**
+           * Reserved for use by Windows NT. Set value to 0 when a file is
+           * created and never modify or look at it after that.
+           */
+  uint8_t  reservedNT;
+          /**
+           * The granularity of the seconds part of creationTime is 2 seconds
+           * so this field is a count of tenths of a second and its valid
+           * value range is 0-199 inclusive. (WHG note - seems to be hundredths)
+           */
+  uint8_t  creationTimeTenths;
+           /** Time file was created. */
+  uint16_t creationTime;
+           /** Date file was created. */
+  uint16_t creationDate;
+          /**
+           * Last access date. Note that there is no last access time, only
+           * a date.  This is the date of last read or write. In the case of
+           * a write, this should be set to the same date as lastWriteDate.
+           */
+  uint16_t lastAccessDate;
+          /**
+           * High word of this entry's first cluster number (always 0 for a
+           * FAT12 or FAT16 volume).
+           */
+  uint16_t firstClusterHigh;
+           /** Time of last write. File creation is considered a write. */
+  uint16_t lastWriteTime;
+           /** Date of last write. File creation is considered a write. */
+  uint16_t lastWriteDate;
+           /** Low word of this entry's first cluster number. */
+  uint16_t firstClusterLow;
+           /** 32-bit unsigned holding this file's size in bytes. */
+  uint32_t fileSize;
+} PACKED;
+/**
+ * \struct directoryVFATEntry
+ * \brief VFAT long filename directory entry
+ *
+ * directoryVFATEntries are found in the same list as normal directoryEntry.
+ * But have the attribute field set to DIR_ATT_LONG_NAME.
+ * 
+ * Long filenames are saved in multiple directoryVFATEntries.
+ * Each entry containing 13 UTF-16 characters.
+ */
+struct directoryVFATEntry {
+  /**
+   * Sequence number. Consists of 2 parts:
+   *  bit 6:   indicates first long filename block for the next file
+   *  bit 0-4: the position of this long filename block (first block is 1)
+   */
+  uint8_t  sequenceNumber;
+  /** First set of UTF-16 characters */
+  uint16_t name1[5];//UTF-16
+  /** attributes (at the same location as in directoryEntry), always 0x0F */
+  uint8_t  attributes;
+  /** Reserved for use by Windows NT. Always 0. */
+  uint8_t  reservedNT;
+  /** Checksum of the short 8.3 filename, can be used to checked if the file system as modified by a not-long-filename aware implementation. */
+  uint8_t  checksum;
+  /** Second set of UTF-16 characters */
+  uint16_t name2[6];//UTF-16
+  /** firstClusterLow is always zero for longFilenames */
+  uint16_t firstClusterLow;
+  /** Third set of UTF-16 characters */
+  uint16_t name3[2];//UTF-16
+} PACKED;
+//------------------------------------------------------------------------------
+// Definitions for directory entries
+//
+/** Type name for directoryEntry */
+typedef struct directoryEntry dir_t;
+/** Type name for directoryVFATEntry */
+typedef struct directoryVFATEntry vfat_t;
+/** escape for name[0] = 0XE5 */
+uint8_t const DIR_NAME_0XE5 = 0X05;
+/** name[0] value for entry that is free after being "deleted" */
+uint8_t const DIR_NAME_DELETED = 0XE5;
+/** name[0] value for entry that is free and no allocated entries follow */
+uint8_t const DIR_NAME_FREE = 0X00;
+/** file is read-only */
+uint8_t const DIR_ATT_READ_ONLY = 0X01;
+/** File should hidden in directory listings */
+uint8_t const DIR_ATT_HIDDEN = 0X02;
+/** Entry is for a system file */
+uint8_t const DIR_ATT_SYSTEM = 0X04;
+/** Directory entry contains the volume label */
+uint8_t const DIR_ATT_VOLUME_ID = 0X08;
+/** Entry is for a directory */
+uint8_t const DIR_ATT_DIRECTORY = 0X10;
+/** Old DOS archive bit for backup support */
+uint8_t const DIR_ATT_ARCHIVE = 0X20;
+/** Test value for long name entry.  Test is
+  (d->attributes & DIR_ATT_LONG_NAME_MASK) == DIR_ATT_LONG_NAME. */
+uint8_t const DIR_ATT_LONG_NAME = 0X0F;
+/** Test mask for long name entry */
+uint8_t const DIR_ATT_LONG_NAME_MASK = 0X3F;
+/** defined attribute bits */
+uint8_t const DIR_ATT_DEFINED_BITS = 0X3F;
+/** Directory entry is part of a long name
+ * \param[in] dir Pointer to a directory entry.
+ *
+ * \return true if the entry is for part of a long name else false.
+ */
+static inline uint8_t DIR_IS_LONG_NAME(const dir_t* dir) {
+  return (dir->attributes & DIR_ATT_LONG_NAME_MASK) == DIR_ATT_LONG_NAME;
+}
+/** Mask for file/subdirectory tests */
+uint8_t const DIR_ATT_FILE_TYPE_MASK = (DIR_ATT_VOLUME_ID | DIR_ATT_DIRECTORY);
+/** Directory entry is for a file
+ * \param[in] dir Pointer to a directory entry.
+ *
+ * \return true if the entry is for a normal file else false.
+ */
+static inline uint8_t DIR_IS_FILE(const dir_t* dir) {
+  return (dir->attributes & DIR_ATT_FILE_TYPE_MASK) == 0;
+}
+/** Directory entry is for a subdirectory
+ * \param[in] dir Pointer to a directory entry.
+ *
+ * \return true if the entry is for a subdirectory else false.
+ */
+static inline uint8_t DIR_IS_SUBDIR(const dir_t* dir) {
+  return (dir->attributes & DIR_ATT_FILE_TYPE_MASK) == DIR_ATT_DIRECTORY;
+}
+/** Directory entry is for a file or subdirectory
+ * \param[in] dir Pointer to a directory entry.
+ *
+ * \return true if the entry is for a normal file or subdirectory else false.
+ */
+static inline uint8_t DIR_IS_FILE_OR_SUBDIR(const dir_t* dir) {
+  return (dir->attributes & DIR_ATT_VOLUME_ID) == 0;
+}
+#endif  // SdFatStructs_h
+
+
+#endif

+ 82 - 0
SdFatUtil.cpp

@@ -0,0 +1,82 @@
+/* Arduino SdFat Library
+ * Copyright (C) 2008 by William Greiman
+ *
+ * This file is part of the Arduino SdFat Library
+ *
+ * This Library is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 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 General Public License for more details.
+
+ * You should have received a copy of the GNU General Public License
+ * along with the Arduino SdFat Library.  If not, see
+ * <http://www.gnu.org/licenses/>.
+ */
+#include "Marlin.h"
+
+#ifdef SDSUPPORT
+#include "SdFatUtil.h"
+
+//------------------------------------------------------------------------------
+/** Amount of free RAM
+ * \return The number of free bytes.
+ */
+#ifdef __arm__
+extern "C" char* sbrk(int incr);
+int SdFatUtil::FreeRam() {
+  char top;
+  return &top - reinterpret_cast<char*>(sbrk(0));
+}
+#else  // __arm__
+extern char *__brkval;
+extern char __bss_end;
+/** Amount of free RAM
+ * \return The number of free bytes.
+ */
+int SdFatUtil::FreeRam() {
+  char top;
+  return __brkval ? &top - __brkval : &top - &__bss_end;
+}
+#endif  // __arm
+
+//------------------------------------------------------------------------------
+/** %Print a string in flash memory.
+ *
+ * \param[in] pr Print object for output.
+ * \param[in] str Pointer to string stored in flash memory.
+ */
+void SdFatUtil::print_P( PGM_P str) {
+  for (uint8_t c; (c = pgm_read_byte(str)); str++) MYSERIAL.write(c);
+}
+//------------------------------------------------------------------------------
+/** %Print a string in flash memory followed by a CR/LF.
+ *
+ * \param[in] pr Print object for output.
+ * \param[in] str Pointer to string stored in flash memory.
+ */
+void SdFatUtil::println_P( PGM_P str) {
+  print_P( str);
+  MYSERIAL.println();
+}
+//------------------------------------------------------------------------------
+/** %Print a string in flash memory to Serial.
+ *
+ * \param[in] str Pointer to string stored in flash memory.
+ */
+void SdFatUtil::SerialPrint_P(PGM_P str) {
+  print_P(str);
+}
+//------------------------------------------------------------------------------
+/** %Print a string in flash memory to Serial followed by a CR/LF.
+ *
+ * \param[in] str Pointer to string stored in flash memory.
+ */
+void SdFatUtil::SerialPrintln_P(PGM_P str) {
+  println_P( str);
+}
+#endif

+ 48 - 0
SdFatUtil.h

@@ -0,0 +1,48 @@
+/* Arduino SdFat Library
+ * Copyright (C) 2008 by William Greiman
+ *
+ * This file is part of the Arduino SdFat Library
+ *
+ * This Library is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 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 General Public License for more details.
+
+ * You should have received a copy of the GNU General Public License
+ * along with the Arduino SdFat Library.  If not, see
+ * <http://www.gnu.org/licenses/>.
+ */
+#include "Marlin.h"
+#ifdef SDSUPPORT
+
+#ifndef SdFatUtil_h
+#define SdFatUtil_h
+/**
+ * \file
+ * \brief Useful utility functions.
+ */
+#include "Marlin.h"
+#include "MarlinSerial.h"
+/** Store and print a string in flash memory.*/
+#define PgmPrint(x) SerialPrint_P(PSTR(x))
+/** Store and print a string in flash memory followed by a CR/LF.*/
+#define PgmPrintln(x) SerialPrintln_P(PSTR(x))
+
+namespace SdFatUtil {
+  int FreeRam();
+  void print_P( PGM_P str);
+  void println_P( PGM_P str);
+  void SerialPrint_P(PGM_P str);
+  void SerialPrintln_P(PGM_P str);
+}
+
+using namespace SdFatUtil;  // NOLINT
+#endif  // #define SdFatUtil_h
+
+
+#endif

+ 95 - 0
SdFile.cpp

@@ -0,0 +1,95 @@
+/* Arduino SdFat Library
+ * Copyright (C) 2009 by William Greiman
+ *
+ * This file is part of the Arduino SdFat Library
+ *
+ * This Library is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 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 General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with the Arduino SdFat Library.  If not, see
+ * <http://www.gnu.org/licenses/>.
+ */
+#include "Marlin.h"
+
+#ifdef SDSUPPORT
+#include "SdFile.h"
+/**  Create a file object and open it in the current working directory.
+ *
+ * \param[in] path A path with a valid 8.3 DOS name for a file to be opened.
+ *
+ * \param[in] oflag Values for \a oflag are constructed by a bitwise-inclusive
+ * OR of open flags. see SdBaseFile::open(SdBaseFile*, const char*, uint8_t).
+ */
+SdFile::SdFile(const char* path, uint8_t oflag) : SdBaseFile(path, oflag) {
+}
+//------------------------------------------------------------------------------
+/** Write data to an open file.
+ *
+ * \note Data is moved to the cache but may not be written to the
+ * storage device until sync() is called.
+ *
+ * \param[in] buf Pointer to the location of the data to be written.
+ *
+ * \param[in] nbyte Number of bytes to write.
+ *
+ * \return For success write() returns the number of bytes written, always
+ * \a nbyte.  If an error occurs, write() returns -1.  Possible errors
+ * include write() is called before a file has been opened, write is called
+ * for a read-only file, device is full, a corrupt file system or an I/O error.
+ *
+ */
+int16_t SdFile::write(const void* buf, uint16_t nbyte) {
+  return SdBaseFile::write(buf, nbyte);
+}
+//------------------------------------------------------------------------------
+/** Write a byte to a file. Required by the Arduino Print class.
+ * \param[in] b the byte to be written.
+ * Use writeError to check for errors.
+ */
+#if ARDUINO >= 100
+size_t SdFile::write(uint8_t b)
+{
+    return SdBaseFile::write(&b, 1);
+}
+#else
+void SdFile::write(uint8_t b)
+{
+    SdBaseFile::write(&b, 1);
+}
+#endif
+//------------------------------------------------------------------------------
+/** Write a string to a file. Used by the Arduino Print class.
+ * \param[in] str Pointer to the string.
+ * Use writeError to check for errors.
+ */
+void SdFile::write(const char* str) {
+  SdBaseFile::write(str, strlen(str));
+}
+//------------------------------------------------------------------------------
+/** Write a PROGMEM string to a file.
+ * \param[in] str Pointer to the PROGMEM string.
+ * Use writeError to check for errors.
+ */
+void SdFile::write_P(PGM_P str) {
+  for (uint8_t c; (c = pgm_read_byte(str)); str++) write(c);
+}
+//------------------------------------------------------------------------------
+/** Write a PROGMEM string followed by CR/LF to a file.
+ * \param[in] str Pointer to the PROGMEM string.
+ * Use writeError to check for errors.
+ */
+void SdFile::writeln_P(PGM_P str) {
+  write_P(str);
+  write_P(PSTR("\r\n"));
+}
+
+
+#endif

+ 54 - 0
SdFile.h

@@ -0,0 +1,54 @@
+/* Arduino SdFat Library
+ * Copyright (C) 2009 by William Greiman
+ *
+ * This file is part of the Arduino SdFat Library
+ *
+ * This Library is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 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 General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with the Arduino SdFat Library.  If not, see
+ * <http://www.gnu.org/licenses/>.
+ */
+/**
+ * \file
+ * \brief SdFile class
+ */
+#include "Marlin.h"
+
+#ifdef SDSUPPORT
+#include "SdBaseFile.h"
+#include <Print.h>
+#ifndef SdFile_h
+#define SdFile_h
+//------------------------------------------------------------------------------
+/**
+ * \class SdFile
+ * \brief SdBaseFile with Print.
+ */
+class SdFile : public SdBaseFile, public Print {
+ public:
+  SdFile() {}
+  SdFile(const char* name, uint8_t oflag);
+  #if ARDUINO >= 100
+      size_t write(uint8_t b);
+  #else
+   void write(uint8_t b);
+  #endif
+  
+  int16_t write(const void* buf, uint16_t nbyte);
+  void write(const char* str);
+  void write_P(PGM_P str);
+  void writeln_P(PGM_P str);
+};
+#endif  // SdFile_h
+
+
+#endif

+ 280 - 0
SdInfo.h

@@ -0,0 +1,280 @@
+/* Arduino Sd2Card Library
+ * Copyright (C) 2009 by William Greiman
+ *
+ * This file is part of the Arduino Sd2Card Library
+ *
+ * This Library is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 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 General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with the Arduino Sd2Card Library.  If not, see
+ * <http://www.gnu.org/licenses/>.
+ */
+#include "Marlin.h"
+#ifdef SDSUPPORT
+
+#ifndef SdInfo_h
+#define SdInfo_h
+#include <stdint.h>
+// Based on the document:
+//
+// SD Specifications
+// Part 1
+// Physical Layer
+// Simplified Specification
+// Version 3.01
+// May 18, 2010
+//
+// http://www.sdcard.org/developers/tech/sdcard/pls/simplified_specs
+//------------------------------------------------------------------------------
+// SD card commands
+/** GO_IDLE_STATE - init card in spi mode if CS low */
+uint8_t const CMD0 = 0X00;
+/** SEND_IF_COND - verify SD Memory Card interface operating condition.*/
+uint8_t const CMD8 = 0X08;
+/** SEND_CSD - read the Card Specific Data (CSD register) */
+uint8_t const CMD9 = 0X09;
+/** SEND_CID - read the card identification information (CID register) */
+uint8_t const CMD10 = 0X0A;
+/** STOP_TRANSMISSION - end multiple block read sequence */
+uint8_t const CMD12 = 0X0C;
+/** SEND_STATUS - read the card status register */
+uint8_t const CMD13 = 0X0D;
+/** READ_SINGLE_BLOCK - read a single data block from the card */
+uint8_t const CMD17 = 0X11;
+/** READ_MULTIPLE_BLOCK - read a multiple data blocks from the card */
+uint8_t const CMD18 = 0X12;
+/** WRITE_BLOCK - write a single data block to the card */
+uint8_t const CMD24 = 0X18;
+/** WRITE_MULTIPLE_BLOCK - write blocks of data until a STOP_TRANSMISSION */
+uint8_t const CMD25 = 0X19;
+/** ERASE_WR_BLK_START - sets the address of the first block to be erased */
+uint8_t const CMD32 = 0X20;
+/** ERASE_WR_BLK_END - sets the address of the last block of the continuous
+    range to be erased*/
+uint8_t const CMD33 = 0X21;
+/** ERASE - erase all previously selected blocks */
+uint8_t const CMD38 = 0X26;
+/** APP_CMD - escape for application specific command */
+uint8_t const CMD55 = 0X37;
+/** READ_OCR - read the OCR register of a card */
+uint8_t const CMD58 = 0X3A;
+/** SET_WR_BLK_ERASE_COUNT - Set the number of write blocks to be
+     pre-erased before writing */
+uint8_t const ACMD23 = 0X17;
+/** SD_SEND_OP_COMD - Sends host capacity support information and
+    activates the card's initialization process */
+uint8_t const ACMD41 = 0X29;
+//------------------------------------------------------------------------------
+/** status for card in the ready state */
+uint8_t const R1_READY_STATE = 0X00;
+/** status for card in the idle state */
+uint8_t const R1_IDLE_STATE = 0X01;
+/** status bit for illegal command */
+uint8_t const R1_ILLEGAL_COMMAND = 0X04;
+/** start data token for read or write single block*/
+uint8_t const DATA_START_BLOCK = 0XFE;
+/** stop token for write multiple blocks*/
+uint8_t const STOP_TRAN_TOKEN = 0XFD;
+/** start data token for write multiple blocks*/
+uint8_t const WRITE_MULTIPLE_TOKEN = 0XFC;
+/** mask for data response tokens after a write block operation */
+uint8_t const DATA_RES_MASK = 0X1F;
+/** write data accepted token */
+uint8_t const DATA_RES_ACCEPTED = 0X05;
+//------------------------------------------------------------------------------
+/** Card IDentification (CID) register */
+typedef struct CID {
+  // byte 0
+  /** Manufacturer ID */
+  unsigned char mid;
+  // byte 1-2
+  /** OEM/Application ID */
+  char oid[2];
+  // byte 3-7
+  /** Product name */
+  char pnm[5];
+  // byte 8
+  /** Product revision least significant digit */
+  unsigned char prv_m : 4;
+  /** Product revision most significant digit */
+  unsigned char prv_n : 4;
+  // byte 9-12
+  /** Product serial number */
+  uint32_t psn;
+  // byte 13
+  /** Manufacturing date year low digit */
+  unsigned char mdt_year_high : 4;
+  /** not used */
+  unsigned char reserved : 4;
+  // byte 14
+  /** Manufacturing date month */
+  unsigned char mdt_month : 4;
+  /** Manufacturing date year low digit */
+  unsigned char mdt_year_low :4;
+  // byte 15
+  /** not used always 1 */
+  unsigned char always1 : 1;
+  /** CRC7 checksum */
+  unsigned char crc : 7;
+}cid_t;
+//------------------------------------------------------------------------------
+/** CSD for version 1.00 cards */
+typedef struct CSDV1 {
+  // byte 0
+  unsigned char reserved1 : 6;
+  unsigned char csd_ver : 2;
+  // byte 1
+  unsigned char taac;
+  // byte 2
+  unsigned char nsac;
+  // byte 3
+  unsigned char tran_speed;
+  // byte 4
+  unsigned char ccc_high;
+  // byte 5
+  unsigned char read_bl_len : 4;
+  unsigned char ccc_low : 4;
+  // byte 6
+  unsigned char c_size_high : 2;
+  unsigned char reserved2 : 2;
+  unsigned char dsr_imp : 1;
+  unsigned char read_blk_misalign :1;
+  unsigned char write_blk_misalign : 1;
+  unsigned char read_bl_partial : 1;
+  // byte 7
+  unsigned char c_size_mid;
+  // byte 8
+  unsigned char vdd_r_curr_max : 3;
+  unsigned char vdd_r_curr_min : 3;
+  unsigned char c_size_low :2;
+  // byte 9
+  unsigned char c_size_mult_high : 2;
+  unsigned char vdd_w_cur_max : 3;
+  unsigned char vdd_w_curr_min : 3;
+  // byte 10
+  unsigned char sector_size_high : 6;
+  unsigned char erase_blk_en : 1;
+  unsigned char c_size_mult_low : 1;
+  // byte 11
+  unsigned char wp_grp_size : 7;
+  unsigned char sector_size_low : 1;
+  // byte 12
+  unsigned char write_bl_len_high : 2;
+  unsigned char r2w_factor : 3;
+  unsigned char reserved3 : 2;
+  unsigned char wp_grp_enable : 1;
+  // byte 13
+  unsigned char reserved4 : 5;
+  unsigned char write_partial : 1;
+  unsigned char write_bl_len_low : 2;
+  // byte 14
+  unsigned char reserved5: 2;
+  unsigned char file_format : 2;
+  unsigned char tmp_write_protect : 1;
+  unsigned char perm_write_protect : 1;
+  unsigned char copy : 1;
+  /** Indicates the file format on the card */
+  unsigned char file_format_grp : 1;
+  // byte 15
+  unsigned char always1 : 1;
+  unsigned char crc : 7;
+}csd1_t;
+//------------------------------------------------------------------------------
+/** CSD for version 2.00 cards */
+typedef struct CSDV2 {
+  // byte 0
+  unsigned char reserved1 : 6;
+  unsigned char csd_ver : 2;
+  // byte 1
+  /** fixed to 0X0E */
+  unsigned char taac;
+  // byte 2
+  /** fixed to 0 */
+  unsigned char nsac;
+  // byte 3
+  unsigned char tran_speed;
+  // byte 4
+  unsigned char ccc_high;
+  // byte 5
+  /** This field is fixed to 9h, which indicates READ_BL_LEN=512 Byte */
+  unsigned char read_bl_len : 4;
+  unsigned char ccc_low : 4;
+  // byte 6
+  /** not used */
+  unsigned char reserved2 : 4;
+  unsigned char dsr_imp : 1;
+  /** fixed to 0 */
+  unsigned char read_blk_misalign :1;
+  /** fixed to 0 */
+  unsigned char write_blk_misalign : 1;
+  /** fixed to 0 - no partial read */
+  unsigned char read_bl_partial : 1;
+  // byte 7
+  /** not used */
+  unsigned char reserved3 : 2;
+  /** high part of card size */
+  unsigned char c_size_high : 6;
+  // byte 8
+  /** middle part of card size */
+  unsigned char c_size_mid;
+  // byte 9
+  /** low part of card size */
+  unsigned char c_size_low;
+  // byte 10
+  /** sector size is fixed at 64 KB */
+  unsigned char sector_size_high : 6;
+  /** fixed to 1 - erase single is supported */
+  unsigned char erase_blk_en : 1;
+  /** not used */
+  unsigned char reserved4 : 1;
+  // byte 11
+  unsigned char wp_grp_size : 7;
+  /** sector size is fixed at 64 KB */
+  unsigned char sector_size_low : 1;
+  // byte 12
+  /** write_bl_len fixed for 512 byte blocks */
+  unsigned char write_bl_len_high : 2;
+  /** fixed value of 2 */
+  unsigned char r2w_factor : 3;
+  /** not used */
+  unsigned char reserved5 : 2;
+  /** fixed value of 0 - no write protect groups */
+  unsigned char wp_grp_enable : 1;
+  // byte 13
+  unsigned char reserved6 : 5;
+  /** always zero - no partial block read*/
+  unsigned char write_partial : 1;
+  /** write_bl_len fixed for 512 byte blocks */
+  unsigned char write_bl_len_low : 2;
+  // byte 14
+  unsigned char reserved7: 2;
+  /** Do not use always 0 */
+  unsigned char file_format : 2;
+  unsigned char tmp_write_protect : 1;
+  unsigned char perm_write_protect : 1;
+  unsigned char copy : 1;
+  /** Do not use always 0 */
+  unsigned char file_format_grp : 1;
+  // byte 15
+  /** not used always 1 */
+  unsigned char always1 : 1;
+  /** checksum */
+  unsigned char crc : 7;
+}csd2_t;
+//------------------------------------------------------------------------------
+/** union of old and new style CSD register */
+union csd_t {
+  csd1_t v1;
+  csd2_t v2;
+};
+#endif  // SdInfo_h
+
+#endif

+ 405 - 0
SdVolume.cpp

@@ -0,0 +1,405 @@
+/* Arduino SdFat Library
+ * Copyright (C) 2009 by William Greiman
+ *
+ * This file is part of the Arduino SdFat Library
+ *
+ * This Library is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 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 General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with the Arduino SdFat Library.  If not, see
+ * <http://www.gnu.org/licenses/>.
+ */
+#include "Marlin.h"
+#ifdef SDSUPPORT
+
+#include "SdVolume.h"
+//------------------------------------------------------------------------------
+#if !USE_MULTIPLE_CARDS
+// raw block cache
+uint32_t SdVolume::cacheBlockNumber_;  // current block number
+cache_t  SdVolume::cacheBuffer_;       // 512 byte cache for Sd2Card
+Sd2Card* SdVolume::sdCard_;            // pointer to SD card object
+bool     SdVolume::cacheDirty_;        // cacheFlush() will write block if true
+uint32_t SdVolume::cacheMirrorBlock_;  // mirror  block for second FAT
+#endif  // USE_MULTIPLE_CARDS
+//------------------------------------------------------------------------------
+// find a contiguous group of clusters
+bool SdVolume::allocContiguous(uint32_t count, uint32_t* curCluster) {
+  // start of group
+  uint32_t bgnCluster;
+  // end of group
+  uint32_t endCluster;
+  // last cluster of FAT
+  uint32_t fatEnd = clusterCount_ + 1;
+
+  // flag to save place to start next search
+  bool setStart;
+
+  // set search start cluster
+  if (*curCluster) {
+    // try to make file contiguous
+    bgnCluster = *curCluster + 1;
+
+    // don't save new start location
+    setStart = false;
+  } else {
+    // start at likely place for free cluster
+    bgnCluster = allocSearchStart_;
+
+    // save next search start if one cluster
+    setStart = count == 1;
+  }
+  // end of group
+  endCluster = bgnCluster;
+
+  // search the FAT for free clusters
+  for (uint32_t n = 0;; n++, endCluster++) {
+    // can't find space checked all clusters
+    if (n >= clusterCount_) goto fail;
+
+    // past end - start from beginning of FAT
+    if (endCluster > fatEnd) {
+      bgnCluster = endCluster = 2;
+    }
+    uint32_t f;
+    if (!fatGet(endCluster, &f)) goto fail;
+
+    if (f != 0) {
+      // cluster in use try next cluster as bgnCluster
+      bgnCluster = endCluster + 1;
+    } else if ((endCluster - bgnCluster + 1) == count) {
+      // done - found space
+      break;
+    }
+  }
+  // mark end of chain
+  if (!fatPutEOC(endCluster)) goto fail;
+
+  // link clusters
+  while (endCluster > bgnCluster) {
+    if (!fatPut(endCluster - 1, endCluster)) goto fail;
+    endCluster--;
+  }
+  if (*curCluster != 0) {
+    // connect chains
+    if (!fatPut(*curCluster, bgnCluster)) goto fail;
+  }
+  // return first cluster number to caller
+  *curCluster = bgnCluster;
+
+  // remember possible next free cluster
+  if (setStart) allocSearchStart_ = bgnCluster + 1;
+
+  return true;
+
+ fail:
+  return false;
+}
+//------------------------------------------------------------------------------
+bool SdVolume::cacheFlush() {
+  if (cacheDirty_) {
+    if (!sdCard_->writeBlock(cacheBlockNumber_, cacheBuffer_.data)) {
+      goto fail;
+    }
+    // mirror FAT tables
+    if (cacheMirrorBlock_) {
+      if (!sdCard_->writeBlock(cacheMirrorBlock_, cacheBuffer_.data)) {
+        goto fail;
+      }
+      cacheMirrorBlock_ = 0;
+    }
+    cacheDirty_ = 0;
+  }
+  return true;
+
+ fail:
+  return false;
+}
+//------------------------------------------------------------------------------
+bool SdVolume::cacheRawBlock(uint32_t blockNumber, bool dirty) {
+  if (cacheBlockNumber_ != blockNumber) {
+    if (!cacheFlush()) goto fail;
+    if (!sdCard_->readBlock(blockNumber, cacheBuffer_.data)) goto fail;
+    cacheBlockNumber_ = blockNumber;
+  }
+  if (dirty) cacheDirty_ = true;
+  return true;
+
+ fail:
+  return false;
+}
+//------------------------------------------------------------------------------
+// return the size in bytes of a cluster chain
+bool SdVolume::chainSize(uint32_t cluster, uint32_t* size) {
+  uint32_t s = 0;
+  do {
+    if (!fatGet(cluster, &cluster)) goto fail;
+    s += 512UL << clusterSizeShift_;
+  } while (!isEOC(cluster));
+  *size = s;
+  return true;
+
+ fail:
+  return false;
+}
+//------------------------------------------------------------------------------
+// Fetch a FAT entry
+bool SdVolume::fatGet(uint32_t cluster, uint32_t* value) {
+  uint32_t lba;
+  if (cluster > (clusterCount_ + 1)) goto fail;
+  if (FAT12_SUPPORT && fatType_ == 12) {
+    uint16_t index = cluster;
+    index += index >> 1;
+    lba = fatStartBlock_ + (index >> 9);
+    if (!cacheRawBlock(lba, CACHE_FOR_READ)) goto fail;
+    index &= 0X1FF;
+    uint16_t tmp = cacheBuffer_.data[index];
+    index++;
+    if (index == 512) {
+      if (!cacheRawBlock(lba + 1, CACHE_FOR_READ)) goto fail;
+      index = 0;
+    }
+    tmp |= cacheBuffer_.data[index] << 8;
+    *value = cluster & 1 ? tmp >> 4 : tmp & 0XFFF;
+    return true;
+  }
+  if (fatType_ == 16) {
+    lba = fatStartBlock_ + (cluster >> 8);
+  } else if (fatType_ == 32) {
+    lba = fatStartBlock_ + (cluster >> 7);
+  } else {
+    goto fail;
+  }
+  if (lba != cacheBlockNumber_) {
+    if (!cacheRawBlock(lba, CACHE_FOR_READ)) goto fail;
+  }
+  if (fatType_ == 16) {
+    *value = cacheBuffer_.fat16[cluster & 0XFF];
+  } else {
+    *value = cacheBuffer_.fat32[cluster & 0X7F] & FAT32MASK;
+  }
+  return true;
+
+ fail:
+  return false;
+}
+//------------------------------------------------------------------------------
+// Store a FAT entry
+bool SdVolume::fatPut(uint32_t cluster, uint32_t value) {
+  uint32_t lba;
+  // error if reserved cluster
+  if (cluster < 2) goto fail;
+
+  // error if not in FAT
+  if (cluster > (clusterCount_ + 1)) goto fail;
+
+  if (FAT12_SUPPORT && fatType_ == 12) {
+    uint16_t index = cluster;
+    index += index >> 1;
+    lba = fatStartBlock_ + (index >> 9);
+    if (!cacheRawBlock(lba, CACHE_FOR_WRITE)) goto fail;
+    // mirror second FAT
+    if (fatCount_ > 1) cacheMirrorBlock_ = lba + blocksPerFat_;
+    index &= 0X1FF;
+    uint8_t tmp = value;
+    if (cluster & 1) {
+      tmp = (cacheBuffer_.data[index] & 0XF) | tmp << 4;
+    }
+    cacheBuffer_.data[index] = tmp;
+    index++;
+    if (index == 512) {
+      lba++;
+      index = 0;
+      if (!cacheRawBlock(lba, CACHE_FOR_WRITE)) goto fail;
+      // mirror second FAT
+      if (fatCount_ > 1) cacheMirrorBlock_ = lba + blocksPerFat_;
+    }
+    tmp = value >> 4;
+    if (!(cluster & 1)) {
+      tmp = ((cacheBuffer_.data[index] & 0XF0)) | tmp >> 4;
+    }
+    cacheBuffer_.data[index] = tmp;
+    return true;
+  }
+  if (fatType_ == 16) {
+    lba = fatStartBlock_ + (cluster >> 8);
+  } else if (fatType_ == 32) {
+    lba = fatStartBlock_ + (cluster >> 7);
+  } else {
+    goto fail;
+  }
+  if (!cacheRawBlock(lba, CACHE_FOR_WRITE)) goto fail;
+  // store entry
+  if (fatType_ == 16) {
+    cacheBuffer_.fat16[cluster & 0XFF] = value;
+  } else {
+    cacheBuffer_.fat32[cluster & 0X7F] = value;
+  }
+  // mirror second FAT
+  if (fatCount_ > 1) cacheMirrorBlock_ = lba + blocksPerFat_;
+  return true;
+
+ fail:
+  return false;
+}
+//------------------------------------------------------------------------------
+// free a cluster chain
+bool SdVolume::freeChain(uint32_t cluster) {
+  uint32_t next;
+
+  // clear free cluster location
+  allocSearchStart_ = 2;
+
+  do {
+    if (!fatGet(cluster, &next)) goto fail;
+
+    // free cluster
+    if (!fatPut(cluster, 0)) goto fail;
+
+    cluster = next;
+  } while (!isEOC(cluster));
+
+  return true;
+
+ fail:
+  return false;
+}
+//------------------------------------------------------------------------------
+/** Volume free space in clusters.
+ *
+ * \return Count of free clusters for success or -1 if an error occurs.
+ */
+int32_t SdVolume::freeClusterCount() {
+  uint32_t free = 0;
+  uint16_t n;
+  uint32_t todo = clusterCount_ + 2;
+
+  if (fatType_ == 16) {
+    n = 256;
+  } else if (fatType_ == 32) {
+    n = 128;
+  } else {
+    // put FAT12 here
+    return -1;
+  }
+
+  for (uint32_t lba = fatStartBlock_; todo; todo -= n, lba++) {
+    if (!cacheRawBlock(lba, CACHE_FOR_READ)) return -1;
+    if (todo < n) n = todo;
+    if (fatType_ == 16) {
+      for (uint16_t i = 0; i < n; i++) {
+        if (cacheBuffer_.fat16[i] == 0) free++;
+      }
+    } else {
+      for (uint16_t i = 0; i < n; i++) {
+        if (cacheBuffer_.fat32[i] == 0) free++;
+      }
+    }
+  }
+  return free;
+}
+//------------------------------------------------------------------------------
+/** Initialize a FAT volume.
+ *
+ * \param[in] dev The SD card where the volume is located.
+ *
+ * \param[in] part The partition to be used.  Legal values for \a part are
+ * 1-4 to use the corresponding partition on a device formatted with
+ * a MBR, Master Boot Record, or zero if the device is formatted as
+ * a super floppy with the FAT boot sector in block zero.
+ *
+ * \return The value one, true, is returned for success and
+ * the value zero, false, is returned for failure.  Reasons for
+ * failure include not finding a valid partition, not finding a valid
+ * FAT file system in the specified partition or an I/O error.
+ */
+bool SdVolume::init(Sd2Card* dev, uint8_t part) {
+  uint32_t totalBlocks;
+  uint32_t volumeStartBlock = 0;
+  fat32_boot_t* fbs;
+
+  sdCard_ = dev;
+  fatType_ = 0;
+  allocSearchStart_ = 2;
+  cacheDirty_ = 0;  // cacheFlush() will write block if true
+  cacheMirrorBlock_ = 0;
+  cacheBlockNumber_ = 0XFFFFFFFF;
+
+  // if part == 0 assume super floppy with FAT boot sector in block zero
+  // if part > 0 assume mbr volume with partition table
+  if (part) {
+    if (part > 4)goto fail;
+    if (!cacheRawBlock(volumeStartBlock, CACHE_FOR_READ)) goto fail;
+    part_t* p = &cacheBuffer_.mbr.part[part-1];
+    if ((p->boot & 0X7F) !=0  ||
+      p->totalSectors < 100 ||
+      p->firstSector == 0) {
+      // not a valid partition
+      goto fail;
+    }
+    volumeStartBlock = p->firstSector;
+  }
+  if (!cacheRawBlock(volumeStartBlock, CACHE_FOR_READ)) goto fail;
+  fbs = &cacheBuffer_.fbs32;
+  if (fbs->bytesPerSector != 512 ||
+    fbs->fatCount == 0 ||
+    fbs->reservedSectorCount == 0 ||
+    fbs->sectorsPerCluster == 0) {
+       // not valid FAT volume
+      goto fail;
+  }
+  fatCount_ = fbs->fatCount;
+  blocksPerCluster_ = fbs->sectorsPerCluster;
+  // determine shift that is same as multiply by blocksPerCluster_
+  clusterSizeShift_ = 0;
+  while (blocksPerCluster_ != (1 << clusterSizeShift_)) {
+    // error if not power of 2
+    if (clusterSizeShift_++ > 7) goto fail;
+  }
+  blocksPerFat_ = fbs->sectorsPerFat16 ?
+                    fbs->sectorsPerFat16 : fbs->sectorsPerFat32;
+
+  fatStartBlock_ = volumeStartBlock + fbs->reservedSectorCount;
+
+  // count for FAT16 zero for FAT32
+  rootDirEntryCount_ = fbs->rootDirEntryCount;
+
+  // directory start for FAT16 dataStart for FAT32
+  rootDirStart_ = fatStartBlock_ + fbs->fatCount * blocksPerFat_;
+
+  // data start for FAT16 and FAT32
+  dataStartBlock_ = rootDirStart_ + ((32 * fbs->rootDirEntryCount + 511)/512);
+
+  // total blocks for FAT16 or FAT32
+  totalBlocks = fbs->totalSectors16 ?
+                           fbs->totalSectors16 : fbs->totalSectors32;
+  // total data blocks
+  clusterCount_ = totalBlocks - (dataStartBlock_ - volumeStartBlock);
+
+  // divide by cluster size to get cluster count
+  clusterCount_ >>= clusterSizeShift_;
+
+  // FAT type is determined by cluster count
+  if (clusterCount_ < 4085) {
+    fatType_ = 12;
+    if (!FAT12_SUPPORT) goto fail;
+  } else if (clusterCount_ < 65525) {
+    fatType_ = 16;
+  } else {
+    rootDirStart_ = fbs->fat32RootCluster;
+    fatType_ = 32;
+  }
+  return true;
+
+ fail:
+  return false;
+}
+#endif

+ 214 - 0
SdVolume.h

@@ -0,0 +1,214 @@
+/* Arduino SdFat Library
+ * Copyright (C) 2009 by William Greiman
+ *
+ * This file is part of the Arduino SdFat Library
+ *
+ * This Library is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 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 General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with the Arduino SdFat Library.  If not, see
+ * <http://www.gnu.org/licenses/>.
+ */
+#include "Marlin.h"
+#ifdef SDSUPPORT
+#ifndef SdVolume_h
+#define SdVolume_h
+/**
+ * \file
+ * \brief SdVolume class
+ */
+#include "SdFatConfig.h"
+#include "Sd2Card.h"
+#include "SdFatStructs.h"
+
+//==============================================================================
+// SdVolume class
+/**
+ * \brief Cache for an SD data block
+ */
+union cache_t {
+           /** Used to access cached file data blocks. */
+  uint8_t  data[512];
+           /** Used to access cached FAT16 entries. */
+  uint16_t fat16[256];
+           /** Used to access cached FAT32 entries. */
+  uint32_t fat32[128];
+           /** Used to access cached directory entries. */
+  dir_t    dir[16];
+           /** Used to access a cached Master Boot Record. */
+  mbr_t    mbr;
+           /** Used to access to a cached FAT boot sector. */
+  fat_boot_t fbs;
+           /** Used to access to a cached FAT32 boot sector. */
+  fat32_boot_t fbs32;
+           /** Used to access to a cached FAT32 FSINFO sector. */
+  fat32_fsinfo_t fsinfo;
+};
+//------------------------------------------------------------------------------
+/**
+ * \class SdVolume
+ * \brief Access FAT16 and FAT32 volumes on SD and SDHC cards.
+ */
+class SdVolume {
+ public:
+  /** Create an instance of SdVolume */
+  SdVolume() : fatType_(0) {}
+  /** Clear the cache and returns a pointer to the cache.  Used by the WaveRP
+   * recorder to do raw write to the SD card.  Not for normal apps.
+   * \return A pointer to the cache buffer or zero if an error occurs.
+   */
+  cache_t* cacheClear() {
+    if (!cacheFlush()) return 0;
+    cacheBlockNumber_ = 0XFFFFFFFF;
+    return &cacheBuffer_;
+  }
+  /** Initialize a FAT volume.  Try partition one first then try super
+   * floppy format.
+   *
+   * \param[in] dev The Sd2Card where the volume is located.
+   *
+   * \return The value one, true, is returned for success and
+   * the value zero, false, is returned for failure.  Reasons for
+   * failure include not finding a valid partition, not finding a valid
+   * FAT file system or an I/O error.
+   */
+  bool init(Sd2Card* dev) { return init(dev, 1) ? true : init(dev, 0);}
+  bool init(Sd2Card* dev, uint8_t part);
+
+  // inline functions that return volume info
+  /** \return The volume's cluster size in blocks. */
+  uint8_t blocksPerCluster() const {return blocksPerCluster_;}
+  /** \return The number of blocks in one FAT. */
+  uint32_t blocksPerFat()  const {return blocksPerFat_;}
+  /** \return The total number of clusters in the volume. */
+  uint32_t clusterCount() const {return clusterCount_;}
+  /** \return The shift count required to multiply by blocksPerCluster. */
+  uint8_t clusterSizeShift() const {return clusterSizeShift_;}
+  /** \return The logical block number for the start of file data. */
+  uint32_t dataStartBlock() const {return dataStartBlock_;}
+  /** \return The number of FAT structures on the volume. */
+  uint8_t fatCount() const {return fatCount_;}
+  /** \return The logical block number for the start of the first FAT. */
+  uint32_t fatStartBlock() const {return fatStartBlock_;}
+  /** \return The FAT type of the volume. Values are 12, 16 or 32. */
+  uint8_t fatType() const {return fatType_;}
+  int32_t freeClusterCount();
+  /** \return The number of entries in the root directory for FAT16 volumes. */
+  uint32_t rootDirEntryCount() const {return rootDirEntryCount_;}
+  /** \return The logical block number for the start of the root directory
+       on FAT16 volumes or the first cluster number on FAT32 volumes. */
+  uint32_t rootDirStart() const {return rootDirStart_;}
+  /** Sd2Card object for this volume
+   * \return pointer to Sd2Card object.
+   */
+  Sd2Card* sdCard() {return sdCard_;}
+  /** Debug access to FAT table
+   *
+   * \param[in] n cluster number.
+   * \param[out] v value of entry
+   * \return true for success or false for failure
+   */
+  bool dbgFat(uint32_t n, uint32_t* v) {return fatGet(n, v);}
+//------------------------------------------------------------------------------
+ private:
+  // Allow SdBaseFile access to SdVolume private data.
+  friend class SdBaseFile;
+
+  // value for dirty argument in cacheRawBlock to indicate read from cache
+  static bool const CACHE_FOR_READ = false;
+  // value for dirty argument in cacheRawBlock to indicate write to cache
+  static bool const CACHE_FOR_WRITE = true;
+
+#if USE_MULTIPLE_CARDS
+  cache_t cacheBuffer_;        // 512 byte cache for device blocks
+  uint32_t cacheBlockNumber_;  // Logical number of block in the cache
+  Sd2Card* sdCard_;            // Sd2Card object for cache
+  bool cacheDirty_;            // cacheFlush() will write block if true
+  uint32_t cacheMirrorBlock_;  // block number for mirror FAT
+#else  // USE_MULTIPLE_CARDS
+  static cache_t cacheBuffer_;        // 512 byte cache for device blocks
+  static uint32_t cacheBlockNumber_;  // Logical number of block in the cache
+  static Sd2Card* sdCard_;            // Sd2Card object for cache
+  static bool cacheDirty_;            // cacheFlush() will write block if true
+  static uint32_t cacheMirrorBlock_;  // block number for mirror FAT
+#endif  // USE_MULTIPLE_CARDS
+  uint32_t allocSearchStart_;   // start cluster for alloc search
+  uint8_t blocksPerCluster_;    // cluster size in blocks
+  uint32_t blocksPerFat_;       // FAT size in blocks
+  uint32_t clusterCount_;       // clusters in one FAT
+  uint8_t clusterSizeShift_;    // shift to convert cluster count to block count
+  uint32_t dataStartBlock_;     // first data block number
+  uint8_t fatCount_;            // number of FATs on volume
+  uint32_t fatStartBlock_;      // start block for first FAT
+  uint8_t fatType_;             // volume type (12, 16, OR 32)
+  uint16_t rootDirEntryCount_;  // number of entries in FAT16 root dir
+  uint32_t rootDirStart_;       // root start block for FAT16, cluster for FAT32
+  //----------------------------------------------------------------------------
+  bool allocContiguous(uint32_t count, uint32_t* curCluster);
+  uint8_t blockOfCluster(uint32_t position) const {
+          return (position >> 9) & (blocksPerCluster_ - 1);}
+  uint32_t clusterStartBlock(uint32_t cluster) const {
+           return dataStartBlock_ + ((cluster - 2) << clusterSizeShift_);}
+  uint32_t blockNumber(uint32_t cluster, uint32_t position) const {
+           return clusterStartBlock(cluster) + blockOfCluster(position);}
+  cache_t *cache() {return &cacheBuffer_;}
+  uint32_t cacheBlockNumber() {return cacheBlockNumber_;}
+#if USE_MULTIPLE_CARDS
+  bool cacheFlush();
+  bool cacheRawBlock(uint32_t blockNumber, bool dirty);
+#else  // USE_MULTIPLE_CARDS
+  static bool cacheFlush();
+  static bool cacheRawBlock(uint32_t blockNumber, bool dirty);
+#endif  // USE_MULTIPLE_CARDS
+  // used by SdBaseFile write to assign cache to SD location
+  void cacheSetBlockNumber(uint32_t blockNumber, bool dirty) {
+    cacheDirty_ = dirty;
+    cacheBlockNumber_  = blockNumber;
+  }
+  void cacheSetDirty() {cacheDirty_ |= CACHE_FOR_WRITE;}
+  bool chainSize(uint32_t beginCluster, uint32_t* size);
+  bool fatGet(uint32_t cluster, uint32_t* value);
+  bool fatPut(uint32_t cluster, uint32_t value);
+  bool fatPutEOC(uint32_t cluster) {
+    return fatPut(cluster, 0x0FFFFFFF);
+  }
+  bool freeChain(uint32_t cluster);
+  bool isEOC(uint32_t cluster) const {
+    if (FAT12_SUPPORT && fatType_ == 12) return  cluster >= FAT12EOC_MIN;
+    if (fatType_ == 16) return cluster >= FAT16EOC_MIN;
+    return  cluster >= FAT32EOC_MIN;
+  }
+  bool readBlock(uint32_t block, uint8_t* dst) {
+    return sdCard_->readBlock(block, dst);}
+  bool writeBlock(uint32_t block, const uint8_t* dst) {
+    return sdCard_->writeBlock(block, dst);
+  }
+//------------------------------------------------------------------------------
+  // Deprecated functions  - suppress cpplint warnings with NOLINT comment
+#if ALLOW_DEPRECATED_FUNCTIONS && !defined(DOXYGEN)
+ public:
+  /** \deprecated Use: bool SdVolume::init(Sd2Card* dev);
+   * \param[in] dev The SD card where the volume is located.
+   * \return true for success or false for failure.
+   */
+  bool init(Sd2Card& dev) {return init(&dev);}  // NOLINT
+  /** \deprecated Use: bool SdVolume::init(Sd2Card* dev, uint8_t vol);
+   * \param[in] dev The SD card where the volume is located.
+   * \param[in] part The partition to be used.
+   * \return true for success or false for failure.
+   */
+  bool init(Sd2Card& dev, uint8_t part) {  // NOLINT
+    return init(&dev, part);
+  }
+#endif  // ALLOW_DEPRECATED_FUNCTIONS
+};
+#endif  // SdVolume
+#endif

+ 344 - 0
Servo.cpp

@@ -0,0 +1,344 @@
+/*
+ Servo.cpp - Interrupt driven Servo library for Arduino using 16 bit timers- Version 2
+ Copyright (c) 2009 Michael Margolis.  All right reserved.
+
+ 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 St, Fifth Floor, Boston, MA  02110-1301  USA
+ */
+
+/*
+
+ A servo is activated by creating an instance of the Servo class passing the desired pin to the attach() method.
+ The servos are pulsed in the background using the value most recently written using the write() method
+
+ Note that analogWrite of PWM on pins associated with the timer are disabled when the first servo is attached.
+ Timers are seized as needed in groups of 12 servos - 24 servos use two timers, 48 servos will use four.
+
+ The methods are:
+
+ Servo - Class for manipulating servo motors connected to Arduino pins.
+
+ attach(pin )  - Attaches a servo motor to an i/o pin.
+ attach(pin, min, max  ) - Attaches to a pin setting min and max values in microseconds
+ default min is 544, max is 2400
+
+ write()     - Sets the servo angle in degrees.  (invalid angle that is valid as pulse in microseconds is treated as microseconds)
+ writeMicroseconds() - Sets the servo pulse width in microseconds
+ read()      - Gets the last written servo pulse width as an angle between 0 and 180.
+ readMicroseconds()   - Gets the last written servo pulse width in microseconds. (was read_us() in first release)
+ attached()  - Returns true if there is a servo attached.
+ detach()    - Stops an attached servos from pulsing its i/o pin.
+
+*/
+#include "Configuration.h" 
+
+#ifdef NUM_SERVOS
+#include <avr/interrupt.h>
+#include <Arduino.h>
+
+#include "Servo.h"
+
+#define usToTicks(_us)    (( clockCyclesPerMicrosecond()* _us) / 8)     // converts microseconds to tick (assumes prescale of 8)  // 12 Aug 2009
+#define ticksToUs(_ticks) (( (unsigned)_ticks * 8)/ clockCyclesPerMicrosecond() ) // converts from ticks back to microseconds
+
+
+#define TRIM_DURATION       2                               // compensation ticks to trim adjust for digitalWrite delays // 12 August 2009
+
+//#define NBR_TIMERS        (MAX_SERVOS / SERVOS_PER_TIMER)
+
+static servo_t servos[MAX_SERVOS];                          // static array of servo structures
+static volatile int8_t Channel[_Nbr_16timers ];             // counter for the servo being pulsed for each timer (or -1 if refresh interval)
+
+uint8_t ServoCount = 0;                                     // the total number of attached servos
+
+
+// convenience macros
+#define SERVO_INDEX_TO_TIMER(_servo_nbr) ((timer16_Sequence_t)(_servo_nbr / SERVOS_PER_TIMER)) // returns the timer controlling this servo
+#define SERVO_INDEX_TO_CHANNEL(_servo_nbr) (_servo_nbr % SERVOS_PER_TIMER)       // returns the index of the servo on this timer
+#define SERVO_INDEX(_timer,_channel)  ((_timer*SERVOS_PER_TIMER) + _channel)     // macro to access servo index by timer and channel
+#define SERVO(_timer,_channel)  (servos[SERVO_INDEX(_timer,_channel)])            // macro to access servo class by timer and channel
+
+#define SERVO_MIN() (MIN_PULSE_WIDTH - this->min * 4)  // minimum value in uS for this servo
+#define SERVO_MAX() (MAX_PULSE_WIDTH - this->max * 4)  // maximum value in uS for this servo
+
+/************ static functions common to all instances ***********************/
+
+static inline void handle_interrupts(timer16_Sequence_t timer, volatile uint16_t *TCNTn, volatile uint16_t* OCRnA)
+{
+  if( Channel[timer] < 0 )
+    *TCNTn = 0; // channel set to -1 indicated that refresh interval completed so reset the timer
+  else{
+    if( SERVO_INDEX(timer,Channel[timer]) < ServoCount && SERVO(timer,Channel[timer]).Pin.isActive == true )
+      digitalWrite( SERVO(timer,Channel[timer]).Pin.nbr,LOW); // pulse this channel low if activated
+  }
+
+  Channel[timer]++;    // increment to the next channel
+  if( SERVO_INDEX(timer,Channel[timer]) < ServoCount && Channel[timer] < SERVOS_PER_TIMER) {
+    *OCRnA = *TCNTn + SERVO(timer,Channel[timer]).ticks;
+    if(SERVO(timer,Channel[timer]).Pin.isActive == true)     // check if activated
+      digitalWrite( SERVO(timer,Channel[timer]).Pin.nbr,HIGH); // its an active channel so pulse it high
+  }
+  else {
+    // finished all channels so wait for the refresh period to expire before starting over
+    if( ((unsigned)*TCNTn) + 4 < usToTicks(REFRESH_INTERVAL) )  // allow a few ticks to ensure the next OCR1A not missed
+      *OCRnA = (unsigned int)usToTicks(REFRESH_INTERVAL);
+    else
+      *OCRnA = *TCNTn + 4;  // at least REFRESH_INTERVAL has elapsed
+    Channel[timer] = -1; // this will get incremented at the end of the refresh period to start again at the first channel
+  }
+}
+
+#ifndef WIRING // Wiring pre-defines signal handlers so don't define any if compiling for the Wiring platform
+// Interrupt handlers for Arduino
+#if defined(_useTimer1)
+SIGNAL (TIMER1_COMPA_vect)
+{
+  handle_interrupts(_timer1, &TCNT1, &OCR1A);
+}
+#endif
+
+#if defined(_useTimer3)
+SIGNAL (TIMER3_COMPA_vect)
+{
+  handle_interrupts(_timer3, &TCNT3, &OCR3A);
+}
+#endif
+
+#if defined(_useTimer4)
+SIGNAL (TIMER4_COMPA_vect)
+{
+  handle_interrupts(_timer4, &TCNT4, &OCR4A);
+}
+#endif
+
+#if defined(_useTimer5)
+SIGNAL (TIMER5_COMPA_vect)
+{
+  handle_interrupts(_timer5, &TCNT5, &OCR5A);
+}
+#endif
+
+#elif defined WIRING
+// Interrupt handlers for Wiring
+#if defined(_useTimer1)
+void Timer1Service()
+{
+  handle_interrupts(_timer1, &TCNT1, &OCR1A);
+}
+#endif
+#if defined(_useTimer3)
+void Timer3Service()
+{
+  handle_interrupts(_timer3, &TCNT3, &OCR3A);
+}
+#endif
+#endif
+
+
+static void initISR(timer16_Sequence_t timer)
+{
+#if defined (_useTimer1)
+  if(timer == _timer1) {
+    TCCR1A = 0;             // normal counting mode
+    TCCR1B = _BV(CS11);     // set prescaler of 8
+    TCNT1 = 0;              // clear the timer count
+#if defined(__AVR_ATmega8__)|| defined(__AVR_ATmega128__)
+    TIFR |= _BV(OCF1A);      // clear any pending interrupts;
+    TIMSK |=  _BV(OCIE1A) ;  // enable the output compare interrupt
+#else
+    // here if not ATmega8 or ATmega128
+    TIFR1 |= _BV(OCF1A);     // clear any pending interrupts;
+    TIMSK1 |=  _BV(OCIE1A) ; // enable the output compare interrupt
+#endif
+#if defined(WIRING)
+    timerAttach(TIMER1OUTCOMPAREA_INT, Timer1Service);
+#endif
+  }
+#endif
+
+#if defined (_useTimer3)
+  if(timer == _timer3) {
+    TCCR3A = 0;             // normal counting mode
+    TCCR3B = _BV(CS31);     // set prescaler of 8
+    TCNT3 = 0;              // clear the timer count
+#if defined(__AVR_ATmega128__)
+    TIFR |= _BV(OCF3A);     // clear any pending interrupts;
+	ETIMSK |= _BV(OCIE3A);  // enable the output compare interrupt
+#else
+    TIFR3 = _BV(OCF3A);     // clear any pending interrupts;
+    TIMSK3 =  _BV(OCIE3A) ; // enable the output compare interrupt
+#endif
+#if defined(WIRING)
+    timerAttach(TIMER3OUTCOMPAREA_INT, Timer3Service);  // for Wiring platform only
+#endif
+  }
+#endif
+
+#if defined (_useTimer4)
+  if(timer == _timer4) {
+    TCCR4A = 0;             // normal counting mode
+    TCCR4B = _BV(CS41);     // set prescaler of 8
+    TCNT4 = 0;              // clear the timer count
+    TIFR4 = _BV(OCF4A);     // clear any pending interrupts;
+    TIMSK4 =  _BV(OCIE4A) ; // enable the output compare interrupt
+  }
+#endif
+
+#if defined (_useTimer5)
+  if(timer == _timer5) {
+    TCCR5A = 0;             // normal counting mode
+    TCCR5B = _BV(CS51);     // set prescaler of 8
+    TCNT5 = 0;              // clear the timer count
+    TIFR5 = _BV(OCF5A);     // clear any pending interrupts;
+    TIMSK5 =  _BV(OCIE5A) ; // enable the output compare interrupt
+  }
+#endif
+}
+
+static void finISR(timer16_Sequence_t timer)
+{
+    //disable use of the given timer
+#if defined WIRING   // Wiring
+  if(timer == _timer1) {
+    #if defined(__AVR_ATmega1281__)||defined(__AVR_ATmega2561__)
+    TIMSK1 &=  ~_BV(OCIE1A) ;  // disable timer 1 output compare interrupt
+    #else
+    TIMSK &=  ~_BV(OCIE1A) ;  // disable timer 1 output compare interrupt
+    #endif
+    timerDetach(TIMER1OUTCOMPAREA_INT);
+  }
+  else if(timer == _timer3) {
+    #if defined(__AVR_ATmega1281__)||defined(__AVR_ATmega2561__)
+    TIMSK3 &= ~_BV(OCIE3A);    // disable the timer3 output compare A interrupt
+    #else
+    ETIMSK &= ~_BV(OCIE3A);    // disable the timer3 output compare A interrupt
+    #endif
+    timerDetach(TIMER3OUTCOMPAREA_INT);
+  }
+#else
+    //For arduino - in future: call here to a currently undefined function to reset the timer
+#endif
+}
+
+static boolean isTimerActive(timer16_Sequence_t timer)
+{
+  // returns true if any servo is active on this timer
+  for(uint8_t channel=0; channel < SERVOS_PER_TIMER; channel++) {
+    if(SERVO(timer,channel).Pin.isActive == true)
+      return true;
+  }
+  return false;
+}
+
+
+/****************** end of static functions ******************************/
+
+Servo::Servo()
+{
+  if( ServoCount < MAX_SERVOS) {
+    this->servoIndex = ServoCount++;                    // assign a servo index to this instance
+	servos[this->servoIndex].ticks = usToTicks(DEFAULT_PULSE_WIDTH);   // store default values  - 12 Aug 2009
+  }
+  else
+    this->servoIndex = INVALID_SERVO ;  // too many servos
+}
+
+uint8_t Servo::attach(int pin)
+{
+  return this->attach(pin, MIN_PULSE_WIDTH, MAX_PULSE_WIDTH);
+}
+
+uint8_t Servo::attach(int pin, int min, int max)
+{
+  if(this->servoIndex < MAX_SERVOS ) {
+#if defined (ENABLE_AUTO_BED_LEVELING) && (PROBE_SERVO_DEACTIVATION_DELAY > 0)
+    if (pin > 0) this->pin = pin; else pin = this->pin;
+#endif
+    pinMode( pin, OUTPUT) ;                                   // set servo pin to output
+    servos[this->servoIndex].Pin.nbr = pin;
+    // todo min/max check: abs(min - MIN_PULSE_WIDTH) /4 < 128
+    this->min  = (MIN_PULSE_WIDTH - min)/4; //resolution of min/max is 4 uS
+    this->max  = (MAX_PULSE_WIDTH - max)/4;
+    // initialize the timer if it has not already been initialized
+    timer16_Sequence_t timer = SERVO_INDEX_TO_TIMER(servoIndex);
+    if(isTimerActive(timer) == false)
+      initISR(timer);
+    servos[this->servoIndex].Pin.isActive = true;  // this must be set after the check for isTimerActive
+  }
+  return this->servoIndex ;
+}
+
+void Servo::detach()
+{
+  servos[this->servoIndex].Pin.isActive = false;
+  timer16_Sequence_t timer = SERVO_INDEX_TO_TIMER(servoIndex);
+  if(isTimerActive(timer) == false) {
+    finISR(timer);
+  }
+}
+
+void Servo::write(int value)
+{
+  if(value < MIN_PULSE_WIDTH)
+  {  // treat values less than 544 as angles in degrees (valid values in microseconds are handled as microseconds)
+    if(value < 0) value = 0;
+    if(value > 180) value = 180;
+    value = map(value, 0, 180, SERVO_MIN(),  SERVO_MAX());
+  }
+  this->writeMicroseconds(value);
+}
+
+void Servo::writeMicroseconds(int value)
+{
+  // calculate and store the values for the given channel
+  byte channel = this->servoIndex;
+  if( (channel < MAX_SERVOS) )   // ensure channel is valid
+  {
+    if( value < SERVO_MIN() )          // ensure pulse width is valid
+      value = SERVO_MIN();
+    else if( value > SERVO_MAX() )
+      value = SERVO_MAX();
+
+  	value = value - TRIM_DURATION;
+    value = usToTicks(value);  // convert to ticks after compensating for interrupt overhead - 12 Aug 2009
+
+    uint8_t oldSREG = SREG;
+    cli();
+    servos[channel].ticks = value;
+    SREG = oldSREG;
+  }
+}
+
+int Servo::read() // return the value as degrees
+{
+  return  map( this->readMicroseconds()+1, SERVO_MIN(), SERVO_MAX(), 0, 180);
+}
+
+int Servo::readMicroseconds()
+{
+  unsigned int pulsewidth;
+  if( this->servoIndex != INVALID_SERVO )
+    pulsewidth = ticksToUs(servos[this->servoIndex].ticks)  + TRIM_DURATION ;   // 12 aug 2009
+  else
+    pulsewidth  = 0;
+
+  return pulsewidth;
+}
+
+bool Servo::attached()
+{
+  return servos[this->servoIndex].Pin.isActive ;
+}
+
+#endif

+ 135 - 0
Servo.h

@@ -0,0 +1,135 @@
+/*
+  Servo.h - Interrupt driven Servo library for Arduino using 16 bit timers- Version 2
+  Copyright (c) 2009 Michael Margolis.  All right reserved.
+
+  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 St, Fifth Floor, Boston, MA  02110-1301  USA
+*/
+
+/*
+
+  A servo is activated by creating an instance of the Servo class passing the desired pin to the attach() method.
+  The servos are pulsed in the background using the value most recently written using the write() method
+
+  Note that analogWrite of PWM on pins associated with the timer are disabled when the first servo is attached.
+  Timers are seized as needed in groups of 12 servos - 24 servos use two timers, 48 servos will use four.
+  The sequence used to seize timers is defined in timers.h
+
+  The methods are:
+
+   Servo - Class for manipulating servo motors connected to Arduino pins.
+
+   attach(pin )  - Attaches a servo motor to an i/o pin.
+   attach(pin, min, max  ) - Attaches to a pin setting min and max values in microseconds
+   default min is 544, max is 2400
+
+   write()     - Sets the servo angle in degrees.  (invalid angle that is valid as pulse in microseconds is treated as microseconds)
+   writeMicroseconds() - Sets the servo pulse width in microseconds
+   read()      - Gets the last written servo pulse width as an angle between 0 and 180.
+   readMicroseconds()   - Gets the last written servo pulse width in microseconds. (was read_us() in first release)
+   attached()  - Returns true if there is a servo attached.
+   detach()    - Stops an attached servos from pulsing its i/o pin.
+ */
+
+#ifndef Servo_h
+#define Servo_h
+
+#include <inttypes.h>
+
+/*
+ * Defines for 16 bit timers used with  Servo library
+ *
+ * If _useTimerX is defined then TimerX is a 16 bit timer on the current board
+ * timer16_Sequence_t enumerates the sequence that the timers should be allocated
+ * _Nbr_16timers indicates how many 16 bit timers are available.
+ *
+ */
+
+// Say which 16 bit timers can be used and in what order
+#if defined(__AVR_ATmega1280__) || defined(__AVR_ATmega2560__)
+#define _useTimer5
+//#define _useTimer1
+#define _useTimer3
+#define _useTimer4
+//typedef enum { _timer5, _timer1, _timer3, _timer4, _Nbr_16timers } timer16_Sequence_t ;
+typedef enum { _timer5, _timer3, _timer4, _Nbr_16timers } timer16_Sequence_t ;
+
+#elif defined(__AVR_ATmega32U4__)
+//#define _useTimer1
+#define _useTimer3
+//typedef enum { _timer1, _Nbr_16timers } timer16_Sequence_t ;
+typedef enum { _timer3, _Nbr_16timers } timer16_Sequence_t ;
+
+#elif defined(__AVR_AT90USB646__) || defined(__AVR_AT90USB1286__)
+#define _useTimer3
+//#define _useTimer1
+//typedef enum { _timer3, _timer1, _Nbr_16timers } timer16_Sequence_t ;
+typedef enum { _timer3, _Nbr_16timers } timer16_Sequence_t ;
+
+#elif defined(__AVR_ATmega128__) ||defined(__AVR_ATmega1281__) || defined(__AVR_ATmega1284P__) ||defined(__AVR_ATmega2561__)
+#define _useTimer3
+//#define _useTimer1
+//typedef enum { _timer3, _timer1, _Nbr_16timers } timer16_Sequence_t ;
+typedef enum { _timer3, _Nbr_16timers } timer16_Sequence_t ;
+
+#else  // everything else
+//#define _useTimer1
+//typedef enum { _timer1, _Nbr_16timers } timer16_Sequence_t ;
+typedef enum { _Nbr_16timers } timer16_Sequence_t ;
+#endif
+
+#define Servo_VERSION           2     // software version of this library
+
+#define MIN_PULSE_WIDTH       544     // the shortest pulse sent to a servo
+#define MAX_PULSE_WIDTH      2400     // the longest pulse sent to a servo
+#define DEFAULT_PULSE_WIDTH  1500     // default pulse width when servo is attached
+#define REFRESH_INTERVAL    20000     // minimum time to refresh servos in microseconds
+
+#define SERVOS_PER_TIMER       12     // the maximum number of servos controlled by one timer
+#define MAX_SERVOS   (_Nbr_16timers  * SERVOS_PER_TIMER)
+
+#define INVALID_SERVO         255     // flag indicating an invalid servo index
+
+typedef struct  {
+  uint8_t nbr        :6 ;             // a pin number from 0 to 63
+  uint8_t isActive   :1 ;             // true if this channel is enabled, pin not pulsed if false
+} ServoPin_t   ;
+
+typedef struct {
+  ServoPin_t Pin;
+  unsigned int ticks;
+} servo_t;
+
+class Servo
+{
+public:
+  Servo();
+  uint8_t attach(int pin);           // attach the given pin to the next free channel, sets pinMode, returns channel number or 0 if failure
+  uint8_t attach(int pin, int min, int max); // as above but also sets min and max values for writes.
+  void detach();
+  void write(int value);             // if value is < 200 it is treated as an angle, otherwise as pulse width in microseconds
+  void writeMicroseconds(int value); // Write pulse width in microseconds
+  int read();                        // returns current pulse width as an angle between 0 and 180 degrees
+  int readMicroseconds();            // returns current pulse width in microseconds for this servo (was read_us() in first release)
+  bool attached();                   // return true if this servo is attached, otherwise false
+#if defined (ENABLE_AUTO_BED_LEVELING) && (PROBE_SERVO_DEACTIVATION_DELAY > 0)
+  int pin;                           // store the hardware pin of the servo
+#endif
+private:
+   uint8_t servoIndex;               // index into the channel data for this servo
+   int8_t min;                       // minimum is this value times 4 added to MIN_PULSE_WIDTH
+   int8_t max;                       // maximum is this value times 4 added to MAX_PULSE_WIDTH
+};
+
+#endif

+ 17 - 0
boards.h

@@ -0,0 +1,17 @@
+#ifndef BOARDS_H
+#define BOARDS_H
+
+#define BOARD_UNKNOWN -1
+
+
+#define BOARD_RAMBO             301  // Rambo
+#define BOARD_RAMBO_MINI_1_3    302  // Rambo-mini 1.3
+#define BOARD_RAMBO_MINI_1_0    102  // Rambo-mini 1.0
+
+
+#define BOARD_99                99   // This is in pins.h but...?
+
+#define MB(board) (MOTHERBOARD==BOARD_##board)
+#define IS_RAMPS (MB(RAMPS_OLD) || MB(RAMPS_13_EFB) || MB(RAMPS_13_EEB) || MB(RAMPS_13_EFF) || MB(RAMPS_13_EEF))
+
+#endif //__BOARDS_H

+ 646 - 0
cardreader.cpp

@@ -0,0 +1,646 @@
+#include "Marlin.h"
+#include "cardreader.h"
+#include "ultralcd.h"
+#include "stepper.h"
+#include "temperature.h"
+#include "language.h"
+
+#ifdef SDSUPPORT
+
+
+
+CardReader::CardReader()
+{
+   filesize = 0;
+   sdpos = 0;
+   sdprinting = false;
+   cardOK = false;
+   saving = false;
+   logging = false;
+   autostart_atmillis=0;
+   workDirDepth = 0;
+   file_subcall_ctr=0;
+   memset(workDirParents, 0, sizeof(workDirParents));
+
+   autostart_stilltocheck=true; //the SD start is delayed, because otherwise the serial cannot answer fast enough to make contact with the host software.
+   lastnr=0;
+  //power to SD reader
+  #if SDPOWER > -1
+    SET_OUTPUT(SDPOWER); 
+    WRITE(SDPOWER,HIGH);
+  #endif //SDPOWER
+  
+  autostart_atmillis=millis()+5000;
+}
+
+char *createFilename(char *buffer,const dir_t &p) //buffer>12characters
+{
+  char *pos=buffer;
+  for (uint8_t i = 0; i < 11; i++) 
+  {
+    if (p.name[i] == ' ')continue;
+    if (i == 8) 
+    {
+      *pos++='.';
+    }
+    *pos++=p.name[i];
+  }
+  *pos++=0;
+  return buffer;
+}
+
+
+void CardReader::lsDive(const char *prepend, SdFile parent, const char * const match/*=NULL*/)
+{
+  dir_t p;
+ uint8_t cnt=0;
+ 
+  while (parent.readDir(p, longFilename) > 0)
+  {
+    if( DIR_IS_SUBDIR(&p) && lsAction!=LS_Count && lsAction!=LS_GetFilename) // hence LS_SerialPrint
+    {
+
+      char path[13*2];
+      char lfilename[13];
+      createFilename(lfilename,p);
+      
+      path[0]=0;
+      if(strlen(prepend)==0) //avoid leading / if already in prepend
+      {
+       strcat(path,"/");
+      }
+      strcat(path,prepend);
+      strcat(path,lfilename);
+      strcat(path,"/");
+      
+      //Serial.print(path);
+      
+      SdFile dir;
+      if(!dir.open(parent,lfilename, O_READ))
+      {
+        if(lsAction==LS_SerialPrint)
+        {
+          SERIAL_ECHO_START;
+          SERIAL_ECHOLN(MSG_SD_CANT_OPEN_SUBDIR);
+          SERIAL_ECHOLN(lfilename);
+        }
+      }
+      lsDive(path,dir);
+      //close done automatically by destructor of SdFile
+
+      
+    }
+    else
+    {
+      char pn0 = p.name[0];
+      if (pn0 == DIR_NAME_FREE) break;
+      if (pn0 == DIR_NAME_DELETED || pn0 == '.' || pn0 == '_') continue;
+      char lf0 = longFilename[0];
+      if (lf0 == '.' || lf0 == '_') continue;
+
+      if (!DIR_IS_FILE_OR_SUBDIR(&p)) continue;
+      filenameIsDir=DIR_IS_SUBDIR(&p);
+      
+      
+      if(!filenameIsDir)
+      {
+        if(p.name[8]!='G') continue;
+        if(p.name[9]=='~') continue;
+      }
+      //if(cnt++!=nr) continue;
+      createFilename(filename,p);
+      if(lsAction==LS_SerialPrint)
+      {
+        SERIAL_PROTOCOL(prepend);
+        SERIAL_PROTOCOLLN(filename);
+      }
+      else if(lsAction==LS_Count)
+      {
+        nrFiles++;
+      } 
+      else if(lsAction==LS_GetFilename)
+      {
+        if (match != NULL) {
+          if (strcasecmp(match, filename) == 0) return;
+        }
+        else if (cnt == nrFiles) return;
+        cnt++;
+        
+      }
+    }
+  }
+}
+
+void CardReader::ls() 
+{
+  lsAction=LS_SerialPrint;
+  if(lsAction==LS_Count)
+  nrFiles=0;
+
+  root.rewind();
+  lsDive("",root);
+}
+
+
+void CardReader::initsd()
+{
+  cardOK = false;
+  if(root.isOpen())
+    root.close();
+#ifdef SDSLOW
+  if (!card.init(SPI_HALF_SPEED,SDSS)
+  #if defined(LCD_SDSS) && (LCD_SDSS != SDSS)
+    && !card.init(SPI_HALF_SPEED,LCD_SDSS)
+  #endif
+    )
+#else
+  if (!card.init(SPI_FULL_SPEED,SDSS)
+  #if defined(LCD_SDSS) && (LCD_SDSS != SDSS)
+    && !card.init(SPI_FULL_SPEED,LCD_SDSS)
+  #endif
+    )
+#endif
+  {
+    //if (!card.init(SPI_HALF_SPEED,SDSS))
+    SERIAL_ECHO_START;
+    SERIAL_ECHOLNPGM(MSG_SD_INIT_FAIL);
+  }
+  else if (!volume.init(&card))
+  {
+    SERIAL_ERROR_START;
+    SERIAL_ERRORLNPGM(MSG_SD_VOL_INIT_FAIL);
+  }
+  else if (!root.openRoot(&volume)) 
+  {
+    SERIAL_ERROR_START;
+    SERIAL_ERRORLNPGM(MSG_SD_OPENROOT_FAIL);
+  }
+  else 
+  {
+    cardOK = true;
+    SERIAL_ECHO_START;
+    SERIAL_ECHOLNPGM(MSG_SD_CARD_OK);
+  }
+  workDir=root;
+  curDir=&root;
+  /*
+  if(!workDir.openRoot(&volume))
+  {
+    SERIAL_ECHOLNPGM(MSG_SD_WORKDIR_FAIL);
+  }
+  */
+  
+}
+
+void CardReader::setroot()
+{
+  /*if(!workDir.openRoot(&volume))
+  {
+    SERIAL_ECHOLNPGM(MSG_SD_WORKDIR_FAIL);
+  }*/
+  workDir=root;
+  
+  curDir=&workDir;
+}
+void CardReader::release()
+{
+  sdprinting = false;
+  cardOK = false;
+}
+
+void CardReader::startFileprint()
+{
+  if(cardOK)
+  {
+    sdprinting = true;
+  }
+}
+
+void CardReader::pauseSDPrint()
+{
+  if(sdprinting)
+  {
+    sdprinting = false;
+  }
+}
+
+
+void CardReader::openLogFile(char* name)
+{
+  logging = true;
+  openFile(name, false);
+}
+
+void CardReader::getAbsFilename(char *t)
+{
+  uint8_t cnt=0;
+  *t='/';t++;cnt++;
+  for(uint8_t i=0;i<workDirDepth;i++)
+  {
+    workDirParents[i].getFilename(t); //SDBaseFile.getfilename!
+    while(*t!=0 && cnt< MAXPATHNAMELENGTH) 
+    {t++;cnt++;}  //crawl counter forward.
+  }
+  if(cnt<MAXPATHNAMELENGTH-13)
+    file.getFilename(t);
+  else
+    t[0]=0;
+}
+
+void CardReader::openFile(char* name,bool read, bool replace_current/*=true*/)
+{
+  if(!cardOK)
+    return;
+  if(file.isOpen())  //replacing current file by new file, or subfile call
+  {
+    if(!replace_current)
+    {
+     if((int)file_subcall_ctr>(int)SD_PROCEDURE_DEPTH-1)
+     {
+       SERIAL_ERROR_START;
+       SERIAL_ERRORPGM("trying to call sub-gcode files with too many levels. MAX level is:");
+       SERIAL_ERRORLN(SD_PROCEDURE_DEPTH);
+       kill();
+       return;
+     }
+     
+     SERIAL_ECHO_START;
+     SERIAL_ECHOPGM("SUBROUTINE CALL target:\"");
+     SERIAL_ECHO(name);
+     SERIAL_ECHOPGM("\" parent:\"");
+     
+     //store current filename and position
+     getAbsFilename(filenames[file_subcall_ctr]);
+     
+     SERIAL_ECHO(filenames[file_subcall_ctr]);
+     SERIAL_ECHOPGM("\" pos");
+     SERIAL_ECHOLN(sdpos);
+     filespos[file_subcall_ctr]=sdpos;
+     file_subcall_ctr++;
+    }
+    else
+    {
+     SERIAL_ECHO_START;
+     SERIAL_ECHOPGM("Now doing file: ");
+     SERIAL_ECHOLN(name);
+    }
+    file.close();
+  }
+  else //opening fresh file
+  {
+    file_subcall_ctr=0; //resetting procedure depth in case user cancels print while in procedure
+    SERIAL_ECHO_START;
+    SERIAL_ECHOPGM("Now fresh file: ");
+    SERIAL_ECHOLN(name);
+  }
+  sdprinting = false;
+  
+ 
+  SdFile myDir;
+  curDir=&root;
+  char *fname=name;
+  
+  char *dirname_start,*dirname_end;
+  if(name[0]=='/')
+  {
+    dirname_start=strchr(name,'/')+1;
+    while(dirname_start>0)
+    {
+      dirname_end=strchr(dirname_start,'/');
+      //SERIAL_ECHO("start:");SERIAL_ECHOLN((int)(dirname_start-name));
+      //SERIAL_ECHO("end  :");SERIAL_ECHOLN((int)(dirname_end-name));
+      if(dirname_end>0 && dirname_end>dirname_start)
+      {
+        char subdirname[13];
+        strncpy(subdirname, dirname_start, dirname_end-dirname_start);
+        subdirname[dirname_end-dirname_start]=0;
+        SERIAL_ECHOLN(subdirname);
+        if(!myDir.open(curDir,subdirname,O_READ))
+        {
+          SERIAL_PROTOCOLPGM(MSG_SD_OPEN_FILE_FAIL);
+          SERIAL_PROTOCOL(subdirname);
+          SERIAL_PROTOCOLLNPGM(".");
+          return;
+        }
+        else
+        {
+          //SERIAL_ECHOLN("dive ok");
+        }
+          
+        curDir=&myDir; 
+        dirname_start=dirname_end+1;
+      }
+      else // the reminder after all /fsa/fdsa/ is the filename
+      {
+        fname=dirname_start;
+        //SERIAL_ECHOLN("remaider");
+        //SERIAL_ECHOLN(fname);
+        break;
+      }
+      
+    }
+  }
+  else //relative path
+  {
+    curDir=&workDir;
+  }
+  if(read)
+  {
+    if (file.open(curDir, fname, O_READ)) 
+    {
+      filesize = file.fileSize();
+      SERIAL_PROTOCOLPGM(MSG_SD_FILE_OPENED);
+      SERIAL_PROTOCOL(fname);
+      SERIAL_PROTOCOLPGM(MSG_SD_SIZE);
+      SERIAL_PROTOCOLLN(filesize);
+      sdpos = 0;
+      
+      SERIAL_PROTOCOLLNPGM(MSG_SD_FILE_SELECTED);
+      getfilename(0, fname);
+      lcd_setstatus(longFilename[0] ? longFilename : fname);
+      lcd_setstatus("SD-PRINTING         ");
+    }
+    else
+    {
+      SERIAL_PROTOCOLPGM(MSG_SD_OPEN_FILE_FAIL);
+      SERIAL_PROTOCOL(fname);
+      SERIAL_PROTOCOLLNPGM(".");
+    }
+  }
+  else 
+  { //write
+    if (!file.open(curDir, fname, O_CREAT | O_APPEND | O_WRITE | O_TRUNC))
+    {
+      SERIAL_PROTOCOLPGM(MSG_SD_OPEN_FILE_FAIL);
+      SERIAL_PROTOCOL(fname);
+      SERIAL_PROTOCOLLNPGM(".");
+    }
+    else
+    {
+      saving = true;
+      SERIAL_PROTOCOLPGM(MSG_SD_WRITE_TO_FILE);
+      SERIAL_PROTOCOLLN(name);
+      lcd_setstatus(fname);
+    }
+  }
+  
+}
+
+void CardReader::removeFile(char* name)
+{
+  if(!cardOK)
+    return;
+  file.close();
+  sdprinting = false;
+  
+  
+  SdFile myDir;
+  curDir=&root;
+  char *fname=name;
+  
+  char *dirname_start,*dirname_end;
+  if(name[0]=='/')
+  {
+    dirname_start=strchr(name,'/')+1;
+    while(dirname_start>0)
+    {
+      dirname_end=strchr(dirname_start,'/');
+      //SERIAL_ECHO("start:");SERIAL_ECHOLN((int)(dirname_start-name));
+      //SERIAL_ECHO("end  :");SERIAL_ECHOLN((int)(dirname_end-name));
+      if(dirname_end>0 && dirname_end>dirname_start)
+      {
+        char subdirname[13];
+        strncpy(subdirname, dirname_start, dirname_end-dirname_start);
+        subdirname[dirname_end-dirname_start]=0;
+        SERIAL_ECHOLN(subdirname);
+        if(!myDir.open(curDir,subdirname,O_READ))
+        {
+          SERIAL_PROTOCOLPGM("open failed, File: ");
+          SERIAL_PROTOCOL(subdirname);
+          SERIAL_PROTOCOLLNPGM(".");
+          return;
+        }
+        else
+        {
+          //SERIAL_ECHOLN("dive ok");
+        }
+          
+        curDir=&myDir; 
+        dirname_start=dirname_end+1;
+      }
+      else // the reminder after all /fsa/fdsa/ is the filename
+      {
+        fname=dirname_start;
+        //SERIAL_ECHOLN("remaider");
+        //SERIAL_ECHOLN(fname);
+        break;
+      }
+      
+    }
+  }
+  else //relative path
+  {
+    curDir=&workDir;
+  }
+    if (file.remove(curDir, fname)) 
+    {
+      SERIAL_PROTOCOLPGM("File deleted:");
+      SERIAL_PROTOCOLLN(fname);
+      sdpos = 0;
+    }
+    else
+    {
+      SERIAL_PROTOCOLPGM("Deletion failed, File: ");
+      SERIAL_PROTOCOL(fname);
+      SERIAL_PROTOCOLLNPGM(".");
+    }
+  
+}
+
+void CardReader::getStatus()
+{
+  if(cardOK){
+    SERIAL_PROTOCOLPGM(MSG_SD_PRINTING_BYTE);
+    SERIAL_PROTOCOL(sdpos);
+    SERIAL_PROTOCOLPGM("/");
+    SERIAL_PROTOCOLLN(filesize);
+  }
+  else{
+    SERIAL_PROTOCOLLNPGM(MSG_SD_NOT_PRINTING);
+  }
+}
+void CardReader::write_command(char *buf)
+{
+  char* begin = buf;
+  char* npos = 0;
+  char* end = buf + strlen(buf) - 1;
+
+  file.writeError = false;
+  if((npos = strchr(buf, 'N')) != NULL)
+  {
+    begin = strchr(npos, ' ') + 1;
+    end = strchr(npos, '*') - 1;
+  }
+  end[1] = '\r';
+  end[2] = '\n';
+  end[3] = '\0';
+  file.write(begin);
+  if (file.writeError)
+  {
+    SERIAL_ERROR_START;
+    SERIAL_ERRORLNPGM(MSG_SD_ERR_WRITE_TO_FILE);
+  }
+}
+
+
+void CardReader::checkautostart(bool force)
+{
+  if(!force)
+  {
+    if(!autostart_stilltocheck)
+      return;
+    if(autostart_atmillis<millis())
+      return;
+  }
+  autostart_stilltocheck=false;
+  if(!cardOK)
+  {
+    initsd();
+    if(!cardOK) //fail
+      return;
+  }
+  
+  char autoname[30];
+  sprintf_P(autoname, PSTR("auto%i.g"), lastnr);
+  for(int8_t i=0;i<(int8_t)strlen(autoname);i++)
+    autoname[i]=tolower(autoname[i]);
+  dir_t p;
+
+  root.rewind();
+  
+  bool found=false;
+  while (root.readDir(p, NULL) > 0) 
+  {
+    for(int8_t i=0;i<(int8_t)strlen((char*)p.name);i++)
+    p.name[i]=tolower(p.name[i]);
+    //Serial.print((char*)p.name);
+    //Serial.print(" ");
+    //Serial.println(autoname);
+    if(p.name[9]!='~') //skip safety copies
+    if(strncmp((char*)p.name,autoname,5)==0)
+    {
+      char cmd[30];
+
+      sprintf_P(cmd, PSTR("M23 %s"), autoname);
+      enquecommand(cmd);
+      enquecommand_P(PSTR("M24"));
+      found=true;
+    }
+  }
+  if(!found)
+    lastnr=-1;
+  else
+    lastnr++;
+}
+
+void CardReader::closefile(bool store_location)
+{
+  file.sync();
+  file.close();
+  saving = false; 
+  logging = false;
+  
+  if(store_location)
+  {
+    //future: store printer state, filename and position for continuing a stopped print
+    // so one can unplug the printer and continue printing the next day.
+    
+  }
+
+  
+}
+
+void CardReader::getfilename(uint16_t nr, const char * const match/*=NULL*/)
+{
+  curDir=&workDir;
+  lsAction=LS_GetFilename;
+  nrFiles=nr;
+  curDir->rewind();
+  lsDive("",*curDir,match);
+  
+}
+
+uint16_t CardReader::getnrfilenames()
+{
+  curDir=&workDir;
+  lsAction=LS_Count;
+  nrFiles=0;
+  curDir->rewind();
+  lsDive("",*curDir);
+  //SERIAL_ECHOLN(nrFiles);
+  return nrFiles;
+}
+
+void CardReader::chdir(const char * relpath)
+{
+  SdFile newfile;
+  SdFile *parent=&root;
+  
+  if(workDir.isOpen())
+    parent=&workDir;
+  
+  if(!newfile.open(*parent,relpath, O_READ))
+  {
+   SERIAL_ECHO_START;
+   SERIAL_ECHOPGM(MSG_SD_CANT_ENTER_SUBDIR);
+   SERIAL_ECHOLN(relpath);
+  }
+  else
+  {
+    if (workDirDepth < MAX_DIR_DEPTH) {
+      for (int d = ++workDirDepth; d--;)
+        workDirParents[d+1] = workDirParents[d];
+      workDirParents[0]=*parent;
+    }
+    workDir=newfile;
+  }
+}
+
+void CardReader::updir()
+{
+  if(workDirDepth > 0)
+  {
+    --workDirDepth;
+    workDir = workDirParents[0];
+    int d;
+    for (int d = 0; d < workDirDepth; d++)
+      workDirParents[d] = workDirParents[d+1];
+  }
+}
+
+
+void CardReader::printingHasFinished()
+{
+    st_synchronize();
+    if(file_subcall_ctr>0) //heading up to a parent file that called current as a procedure.
+    {
+      file.close();
+      file_subcall_ctr--;
+      openFile(filenames[file_subcall_ctr],true,true);
+      setIndex(filespos[file_subcall_ctr]);
+      startFileprint();
+    }
+    else
+    {
+      quickStop();
+      file.close();
+      sdprinting = false;
+      if(SD_FINISHED_STEPPERRELEASE)
+      {
+          //finishAndDisableSteppers();
+          enquecommand_P(PSTR(SD_FINISHED_RELEASECOMMAND));
+      }
+      autotempShutdown();
+    }
+}
+#endif //SDSUPPORT

+ 101 - 0
cardreader.h

@@ -0,0 +1,101 @@
+#ifndef CARDREADER_H
+#define CARDREADER_H
+
+#ifdef SDSUPPORT
+
+#define MAX_DIR_DEPTH 10
+
+#include "SdFile.h"
+enum LsAction {LS_SerialPrint,LS_Count,LS_GetFilename};
+class CardReader
+{
+public:
+  CardReader();
+  
+  void initsd();
+  void write_command(char *buf);
+  //files auto[0-9].g on the sd card are performed in a row
+  //this is to delay autostart and hence the initialisaiton of the sd card to some seconds after the normal init, so the device is available quick after a reset
+
+  void checkautostart(bool x); 
+  void openFile(char* name,bool read,bool replace_current=true);
+  void openLogFile(char* name);
+  void removeFile(char* name);
+  void closefile(bool store_location=false);
+  void release();
+  void startFileprint();
+  void pauseSDPrint();
+  void getStatus();
+  void printingHasFinished();
+
+  void getfilename(uint16_t nr, const char* const match=NULL);
+  uint16_t getnrfilenames();
+  
+  void getAbsFilename(char *t);
+  
+
+  void ls();
+  void chdir(const char * relpath);
+  void updir();
+  void setroot();
+
+
+  FORCE_INLINE bool isFileOpen() { return file.isOpen(); }
+  FORCE_INLINE bool eof() { return sdpos>=filesize ;};
+  FORCE_INLINE int16_t get() {  sdpos = file.curPosition();return (int16_t)file.read();};
+  FORCE_INLINE void setIndex(long index) {sdpos = index;file.seekSet(index);};
+  FORCE_INLINE uint8_t percentDone(){if(!isFileOpen()) return 0; if(filesize) return sdpos/((filesize+99)/100); else return 0;};
+  FORCE_INLINE char* getWorkDirName(){workDir.getFilename(filename);return filename;};
+
+public:
+  bool saving;
+  bool logging;
+  bool sdprinting ;  
+  bool cardOK ;
+  char filename[13];
+  char longFilename[LONG_FILENAME_LENGTH];
+  bool filenameIsDir;
+  int lastnr; //last number of the autostart;
+private:
+  SdFile root,*curDir,workDir,workDirParents[MAX_DIR_DEPTH];
+  uint16_t workDirDepth;
+  Sd2Card card;
+  SdVolume volume;
+  SdFile file;
+  #define SD_PROCEDURE_DEPTH 1
+  #define MAXPATHNAMELENGTH (13*MAX_DIR_DEPTH+MAX_DIR_DEPTH+1)
+  uint8_t file_subcall_ctr;
+  uint32_t filespos[SD_PROCEDURE_DEPTH];
+  char filenames[SD_PROCEDURE_DEPTH][MAXPATHNAMELENGTH];
+  uint32_t filesize;
+  //int16_t n;
+  unsigned long autostart_atmillis;
+  uint32_t sdpos ;
+
+  bool autostart_stilltocheck; //the sd start is delayed, because otherwise the serial cannot answer fast enought to make contact with the hostsoftware.
+  
+  LsAction lsAction; //stored for recursion.
+  int16_t nrFiles; //counter for the files in the current directory and recycled as position counter for getting the nrFiles'th name in the directory.
+  char* diveDirName;
+  void lsDive(const char *prepend, SdFile parent, const char * const match=NULL);
+};
+extern CardReader card;
+#define IS_SD_PRINTING (card.sdprinting)
+
+#if (SDCARDDETECT > -1)
+# ifdef SDCARDDETECTINVERTED 
+#  define IS_SD_INSERTED (READ(SDCARDDETECT)!=0)
+# else
+#  define IS_SD_INSERTED (READ(SDCARDDETECT)==0)
+# endif //SDCARDTETECTINVERTED
+#else
+//If we don't have a card detect line, aways asume the card is inserted
+# define IS_SD_INSERTED true
+#endif
+
+#else
+
+#define IS_SD_PRINTING (false)
+
+#endif //SDSUPPORT
+#endif

+ 59 - 0
digipot_mcp4451.cpp

@@ -0,0 +1,59 @@
+#include "Configuration.h"
+
+#ifdef DIGIPOT_I2C
+#include "Stream.h"
+#include "utility/twi.h"
+#include "Wire.h"
+
+// Settings for the I2C based DIGIPOT (MCP4451) on Azteeg X3 Pro
+#if MB(5DPRINT)
+#define DIGIPOT_I2C_FACTOR 117.96
+#define DIGIPOT_I2C_MAX_CURRENT 1.736
+#else
+#define DIGIPOT_I2C_FACTOR 106.7
+#define DIGIPOT_I2C_MAX_CURRENT 2.5
+#endif
+
+static byte current_to_wiper( float current ){
+    return byte(ceil(float((DIGIPOT_I2C_FACTOR*current))));
+}
+
+static void i2c_send(byte addr, byte a, byte b)
+{
+	Wire.beginTransmission(addr);
+    Wire.write(a);
+    Wire.write(b);
+    Wire.endTransmission();
+}
+
+// This is for the MCP4451 I2C based digipot
+void digipot_i2c_set_current( int channel, float current )
+{
+    current = min( (float) max( current, 0.0f ), DIGIPOT_I2C_MAX_CURRENT);
+    // these addresses are specific to Azteeg X3 Pro, can be set to others,
+    // In this case first digipot is at address A0=0, A1= 0, second one is at A0=0, A1= 1
+    byte addr= 0x2C; // channel 0-3
+    if(channel >= 4) {
+    	addr= 0x2E; // channel 4-7
+    	channel-= 4;
+    }
+
+    // Initial setup
+    i2c_send( addr, 0x40, 0xff );
+    i2c_send( addr, 0xA0, 0xff );
+
+    // Set actual wiper value
+    byte addresses[4] = { 0x00, 0x10, 0x60, 0x70 };
+    i2c_send( addr, addresses[channel], current_to_wiper(current) );
+}
+
+void digipot_i2c_init()
+{
+    const float digipot_motor_current[] = DIGIPOT_I2C_MOTOR_CURRENTS;
+    Wire.begin();
+    // setup initial currents as defined in Configuration_adv.h
+    for(int i=0;i<=sizeof(digipot_motor_current)/sizeof(float);i++) {
+        digipot_i2c_set_current(i, digipot_motor_current[i]);
+    }
+}
+#endif

+ 337 - 0
dogm_font_data_marlin.h

@@ -0,0 +1,337 @@
+/*
+  Fontname: -Misc-Fixed-Medium-R-Normal--9-90-75-75-C-60-ISO10646-1
+  Copyright: Public domain font.  Share and enjoy.
+  Capital A Height: 6, '1' Height: 6
+  Calculated Max Values w= 6 h= 9 x= 2 y= 7 dx= 6 dy= 0 ascent= 7 len= 9
+  Font Bounding box     w= 6 h= 9 x= 0 y=-2
+  Calculated Min Values           x= 0 y=-2 dx= 0 dy= 0
+  Pure Font   ascent = 6 descent=-2
+  X Font      ascent = 6 descent=-2
+  Max Font    ascent = 7 descent=-2
+*/
+#include <utility/u8g.h>
+const u8g_fntpgm_uint8_t u8g_font_6x9[2300] U8G_SECTION(".progmem.u8g_font_6x9") = {
+  0,6,9,0,254,6,1,137,2,254,32,255,254,7,254,6,
+  254,0,0,0,6,0,7,1,6,6,6,2,0,128,128,128,
+  128,0,128,3,3,3,6,1,3,160,160,160,5,7,7,6,
+  0,255,80,80,248,80,248,80,80,5,9,9,6,0,254,32,
+  112,168,160,112,40,168,112,32,6,8,8,6,0,255,64,168,
+  72,16,32,72,84,8,5,7,7,6,0,255,96,144,144,96,
+  152,144,104,1,3,3,6,2,3,128,128,128,2,7,7,6,
+  2,255,64,128,128,128,128,128,64,2,7,7,6,2,255,128,
+  64,64,64,64,64,128,5,5,5,6,0,0,136,80,248,80,
+  136,5,5,5,6,0,0,32,32,248,32,32,2,4,4,6,
+  2,254,192,64,64,128,5,1,1,6,0,2,248,2,2,2,
+  6,2,0,192,192,4,6,6,6,1,0,16,16,32,64,128,
+  128,4,6,6,6,1,0,96,144,144,144,144,96,3,6,6,
+  6,1,0,64,192,64,64,64,224,4,6,6,6,1,0,96,
+  144,16,32,64,240,4,6,6,6,1,0,240,32,96,16,16,
+  224,5,6,6,6,0,0,16,48,80,144,248,16,4,6,6,
+  6,1,0,240,128,224,16,16,224,4,6,6,6,1,0,96,
+  128,224,144,144,96,4,6,6,6,1,0,240,16,16,32,64,
+  64,4,6,6,6,1,0,96,144,96,144,144,96,4,6,6,
+  6,1,0,96,144,144,112,16,96,2,5,5,6,2,0,192,
+  192,0,192,192,2,7,7,6,2,254,192,192,0,192,64,64,
+  128,5,5,5,6,0,0,24,96,128,96,24,5,3,3,6,
+  0,1,248,0,248,5,5,5,6,0,0,192,48,8,48,192,
+  4,7,7,6,1,0,96,144,16,96,64,0,64,5,6,6,
+  6,0,0,112,144,168,176,128,112,5,6,6,6,0,0,32,
+  80,136,248,136,136,5,6,6,6,0,0,240,136,240,136,136,
+  240,4,6,6,6,1,0,96,144,128,128,144,96,4,6,6,
+  6,1,0,224,144,144,144,144,224,4,6,6,6,1,0,240,
+  128,224,128,128,240,4,6,6,6,1,0,240,128,224,128,128,
+  128,4,6,6,6,1,0,96,144,128,176,144,96,4,6,6,
+  6,1,0,144,144,240,144,144,144,3,6,6,6,1,0,224,
+  64,64,64,64,224,5,6,6,6,0,0,56,16,16,16,144,
+  96,4,6,6,6,1,0,144,160,192,160,144,144,4,6,6,
+  6,1,0,128,128,128,128,128,240,5,6,6,6,0,0,136,
+  216,168,168,136,136,4,6,6,6,1,0,144,208,176,144,144,
+  144,5,6,6,6,0,0,112,136,136,136,136,112,4,6,6,
+  6,1,0,224,144,144,224,128,128,4,7,7,6,1,255,96,
+  144,144,208,176,96,16,4,6,6,6,1,0,224,144,144,224,
+  144,144,4,6,6,6,1,0,96,144,64,32,144,96,5,6,
+  6,6,0,0,248,32,32,32,32,32,4,6,6,6,1,0,
+  144,144,144,144,144,96,4,6,6,6,1,0,144,144,144,240,
+  96,96,5,6,6,6,0,0,136,136,168,168,216,136,5,6,
+  6,6,0,0,136,80,32,32,80,136,5,6,6,6,0,0,
+  136,136,80,32,32,32,4,6,6,6,1,0,240,16,32,64,
+  128,240,3,6,6,6,1,0,224,128,128,128,128,224,4,6,
+  6,6,1,0,128,128,64,32,16,16,3,6,6,6,1,0,
+  224,32,32,32,32,224,5,3,3,6,0,3,32,80,136,5,
+  1,1,6,0,254,248,2,2,2,6,2,4,128,64,4,4,
+  4,6,1,0,112,144,144,112,4,6,6,6,1,0,128,128,
+  224,144,144,224,4,4,4,6,1,0,112,128,128,112,4,6,
+  6,6,1,0,16,16,112,144,144,112,4,4,4,6,1,0,
+  96,176,192,112,4,6,6,6,1,0,32,80,64,224,64,64,
+  4,6,6,6,1,254,96,144,144,112,16,96,4,6,6,6,
+  1,0,128,128,224,144,144,144,3,6,6,6,1,0,64,0,
+  192,64,64,224,3,8,8,6,1,254,32,0,96,32,32,32,
+  160,64,4,6,6,6,1,0,128,128,160,192,160,144,3,6,
+  6,6,1,0,192,64,64,64,64,224,5,4,4,6,0,0,
+  208,168,168,136,4,4,4,6,1,0,224,144,144,144,4,4,
+  4,6,1,0,96,144,144,96,4,6,6,6,1,254,224,144,
+  144,224,128,128,4,6,6,6,1,254,112,144,144,112,16,16,
+  4,4,4,6,1,0,160,208,128,128,4,4,4,6,1,0,
+  112,192,48,224,4,6,6,6,1,0,64,64,224,64,80,32,
+  4,4,4,6,1,0,144,144,144,112,4,4,4,6,1,0,
+  144,144,96,96,5,4,4,6,0,0,136,168,168,80,4,4,
+  4,6,1,0,144,96,96,144,4,6,6,6,1,254,144,144,
+  144,112,144,96,4,4,4,6,1,0,240,32,64,240,3,7,
+  7,6,1,0,32,64,64,128,64,64,32,1,7,7,6,2,
+  255,128,128,128,128,128,128,128,3,7,7,6,1,0,128,64,
+  64,32,64,64,128,4,2,2,6,1,3,80,160,255,255,255,
+  255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+  255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,
+  0,6,0,7,1,6,6,6,2,0,128,0,128,128,128,128,
+  4,6,6,6,1,255,32,112,160,160,112,32,5,7,7,6,
+  0,255,48,72,64,240,64,64,248,5,5,5,6,0,0,168,
+  80,136,80,168,5,6,6,6,0,0,136,80,248,32,248,32,
+  1,7,7,6,2,255,128,128,128,0,128,128,128,4,7,7,
+  6,1,255,112,128,96,144,96,16,224,3,1,1,6,1,5,
+  160,6,7,7,6,0,0,120,132,148,164,148,132,120,3,5,
+  5,6,1,1,96,160,96,0,224,5,5,5,6,0,0,40,
+  80,160,80,40,4,3,3,6,1,0,240,16,16,4,1,1,
+  6,1,2,240,6,7,7,6,0,0,120,132,180,164,164,132,
+  120,4,1,1,6,1,5,240,4,3,3,6,1,2,96,144,
+  96,5,7,7,6,0,255,32,32,248,32,32,0,248,3,5,
+  5,6,1,1,64,160,32,64,224,3,5,5,6,1,1,192,
+  32,64,32,192,2,2,2,6,2,4,64,128,4,5,5,6,
+  1,255,144,144,176,208,128,5,6,6,6,0,0,120,232,232,
+  104,40,40,1,1,1,6,2,2,128,2,2,2,6,2,254,
+  64,128,3,5,5,6,1,1,64,192,64,64,224,3,5,5,
+  6,1,1,64,160,64,0,224,5,5,5,6,0,0,160,80,
+  40,80,160,5,8,8,6,0,255,64,192,64,80,112,48,120,
+  16,5,8,8,6,0,255,64,192,64,80,104,8,16,56,5,
+  8,8,6,0,255,192,32,64,48,240,48,120,16,4,7,7,
+  6,1,0,32,0,32,96,128,144,96,5,7,7,6,0,0,
+  64,32,32,80,112,136,136,5,7,7,6,0,0,16,32,32,
+  80,112,136,136,5,7,7,6,0,0,32,80,32,80,112,136,
+  136,5,7,7,6,0,0,40,80,32,80,112,136,136,5,7,
+  7,6,0,0,80,0,32,80,112,136,136,5,7,7,6,0,
+  0,32,80,32,80,112,136,136,5,6,6,6,0,0,120,160,
+  240,160,160,184,4,8,8,6,1,254,96,144,128,128,144,96,
+  32,64,4,7,7,6,1,0,64,32,240,128,224,128,240,4,
+  7,7,6,1,0,32,64,240,128,224,128,240,4,7,7,6,
+  1,0,32,80,240,128,224,128,240,4,7,7,6,1,0,80,
+  0,240,128,224,128,240,3,7,7,6,1,0,128,64,224,64,
+  64,64,224,3,7,7,6,1,0,32,64,224,64,64,64,224,
+  3,7,7,6,1,0,64,160,224,64,64,64,224,3,7,7,
+  6,1,0,160,0,224,64,64,64,224,5,6,6,6,0,0,
+  112,72,232,72,72,112,4,7,7,6,1,0,80,160,144,208,
+  176,144,144,4,7,7,6,1,0,64,32,96,144,144,144,96,
+  4,7,7,6,1,0,32,64,96,144,144,144,96,4,7,7,
+  6,1,0,32,80,96,144,144,144,96,4,7,7,6,1,0,
+  80,160,96,144,144,144,96,4,7,7,6,1,0,80,0,96,
+  144,144,144,96,5,5,5,6,0,0,136,80,32,80,136,4,
+  8,8,6,1,255,16,112,176,176,208,208,224,128,4,7,7,
+  6,1,0,64,32,144,144,144,144,96,4,7,7,6,1,0,
+  32,64,144,144,144,144,96,4,7,7,6,1,0,32,80,144,
+  144,144,144,96,4,7,7,6,1,0,80,0,144,144,144,144,
+  96,5,7,7,6,0,0,16,32,136,80,32,32,32,4,6,
+  6,6,1,0,128,224,144,144,224,128,4,6,6,6,1,0,
+  96,144,160,160,144,160,4,7,7,6,1,0,64,32,0,112,
+  144,144,112,4,7,7,6,1,0,32,64,0,112,144,144,112,
+  4,7,7,6,1,0,32,80,0,112,144,144,112,4,7,7,
+  6,1,0,80,160,0,112,144,144,112,4,6,6,6,1,0,
+  80,0,112,144,144,112,4,7,7,6,1,0,32,80,32,112,
+  144,144,112,5,4,4,6,0,0,112,168,176,120,4,6,6,
+  6,1,254,112,128,128,112,32,64,4,7,7,6,1,0,64,
+  32,0,96,176,192,112,4,7,7,6,1,0,32,64,0,96,
+  176,192,112,4,7,7,6,1,0,32,80,0,96,176,192,112,
+  4,6,6,6,1,0,80,0,96,176,192,112,3,7,7,6,
+  1,0,128,64,0,192,64,64,224,3,7,7,6,1,0,32,
+  64,0,192,64,64,224,3,7,7,6,1,0,64,160,0,192,
+  64,64,224,3,6,6,6,1,0,160,0,192,64,64,224,4,
+  7,7,6,1,0,48,96,16,112,144,144,96,4,7,7,6,
+  1,0,80,160,0,224,144,144,144,4,7,7,6,1,0,64,
+  32,0,96,144,144,96,4,7,7,6,1,0,32,64,0,96,
+  144,144,96,4,7,7,6,1,0,32,80,0,96,144,144,96,
+  4,7,7,6,1,0,80,160,0,96,144,144,96,4,6,6,
+  6,1,0,80,0,96,144,144,96,5,5,5,6,0,0,32,
+  0,248,0,32,4,4,4,6,1,0,112,176,208,224,4,7,
+  7,6,1,0,64,32,0,144,144,144,112,4,7,7,6,1,
+  0,32,64,0,144,144,144,112,4,7,7,6,1,0,32,80,
+  0,144,144,144,112,4,6,6,6,1,0,80,0,144,144,144,
+  112,4,9,9,6,1,254,32,64,0,144,144,144,112,144,96,
+  4,8,8,6,1,254,128,128,224,144,144,224,128,128,4,8,
+  8,6,1,254,80,0,144,144,144,112,144,96};
+
+// STB Marlin
+/*
+  Fontname: u8g_font_6x10_marlin
+  Copyright: Public domain terminal emulator font.  Share and enjoy.
+  Capital A Height: 7, '1' Height: 7
+  Calculated Max Values w= 6 h=10 x= 2 y= 7 dx= 6 dy= 0 ascent= 8 len=10
+  Font Bounding box     w= 6 h= 9 x= 0 y=-2
+  Calculated Min Values           x= 0 y=-2 dx= 0 dy= 0
+  Pure Font   ascent = 7 descent=-2
+  X Font      ascent = 7 descent=-2
+  Max Font    ascent = 8 descent=-2
+*/
+#include <utility/u8g.h>
+const u8g_fntpgm_uint8_t u8g_font_6x10_marlin[2617] U8G_SECTION(".progmem.u8g_font_6x10_marlin") = {
+  0,6,9,0,254,7,1,153,3,43,32,255,254,8,254,7,
+  254,0,0,0,6,0,0,1,7,7,6,2,0,128,128,128,
+  128,128,0,128,3,3,3,6,1,4,160,160,160,5,7,7,
+  6,0,0,80,80,248,80,248,80,80,5,7,7,6,0,0,
+  32,112,160,112,40,112,32,5,7,7,6,0,0,72,168,80,
+  32,80,168,144,5,7,7,6,0,0,64,160,160,64,168,144,
+  104,1,3,3,6,2,4,128,128,128,3,7,7,6,1,0,
+  32,64,128,128,128,64,32,3,7,7,6,1,0,128,64,32,
+  32,32,64,128,5,5,5,6,0,1,136,80,248,80,136,5,
+  5,5,6,0,1,32,32,248,32,32,3,3,3,6,1,255,
+  96,64,128,5,1,1,6,0,3,248,3,3,3,6,1,255,
+  64,224,64,5,7,7,6,0,0,8,8,16,32,64,128,128,
+  5,7,7,6,0,0,32,80,136,136,136,80,32,5,7,7,
+  6,0,0,32,96,160,32,32,32,248,5,7,7,6,0,0,
+  112,136,8,48,64,128,248,5,7,7,6,0,0,248,8,16,
+  48,8,136,112,5,7,7,6,0,0,16,48,80,144,248,16,
+  16,5,7,7,6,0,0,248,128,176,200,8,136,112,5,7,
+  7,6,0,0,48,64,128,176,200,136,112,5,7,7,6,0,
+  0,248,8,16,16,32,64,64,5,7,7,6,0,0,112,136,
+  136,112,136,136,112,5,7,7,6,0,0,112,136,152,104,8,
+  16,96,3,7,7,6,1,255,64,224,64,0,64,224,64,3,
+  7,7,6,1,255,64,224,64,0,96,64,128,4,7,7,6,
+  1,0,16,32,64,128,64,32,16,5,3,3,6,0,2,248,
+  0,248,4,7,7,6,1,0,128,64,32,16,32,64,128,5,
+  7,7,6,0,0,112,136,16,32,32,0,32,5,7,7,6,
+  0,0,112,136,152,168,176,128,112,5,7,7,6,0,0,32,
+  80,136,136,248,136,136,5,7,7,6,0,0,240,72,72,112,
+  72,72,240,5,7,7,6,0,0,112,136,128,128,128,136,112,
+  5,7,7,6,0,0,240,72,72,72,72,72,240,5,7,7,
+  6,0,0,248,128,128,240,128,128,248,5,7,7,6,0,0,
+  248,128,128,240,128,128,128,5,7,7,6,0,0,112,136,128,
+  128,152,136,112,5,7,7,6,0,0,136,136,136,248,136,136,
+  136,3,7,7,6,1,0,224,64,64,64,64,64,224,5,7,
+  7,6,0,0,56,16,16,16,16,144,96,5,7,7,6,0,
+  0,136,144,160,192,160,144,136,5,7,7,6,0,0,128,128,
+  128,128,128,128,248,5,7,7,6,0,0,136,136,216,168,136,
+  136,136,5,7,7,6,0,0,136,136,200,168,152,136,136,5,
+  7,7,6,0,0,112,136,136,136,136,136,112,5,7,7,6,
+  0,0,240,136,136,240,128,128,128,5,8,8,6,0,255,112,
+  136,136,136,136,168,112,8,5,7,7,6,0,0,240,136,136,
+  240,160,144,136,5,7,7,6,0,0,112,136,128,112,8,136,
+  112,5,7,7,6,0,0,248,32,32,32,32,32,32,5,7,
+  7,6,0,0,136,136,136,136,136,136,112,5,7,7,6,0,
+  0,136,136,136,80,80,80,32,5,7,7,6,0,0,136,136,
+  136,168,168,216,136,5,7,7,6,0,0,136,136,80,32,80,
+  136,136,5,7,7,6,0,0,136,136,80,32,32,32,32,5,
+  7,7,6,0,0,248,8,16,32,64,128,248,3,7,7,6,
+  1,0,224,128,128,128,128,128,224,5,7,7,6,0,0,128,
+  128,64,32,16,8,8,3,7,7,6,1,0,224,32,32,32,
+  32,32,224,5,3,3,6,0,4,32,80,136,5,1,1,6,
+  0,255,248,2,2,2,6,2,6,128,64,5,5,5,6,0,
+  0,112,8,120,136,120,5,7,7,6,0,0,128,128,176,200,
+  136,200,176,5,5,5,6,0,0,112,136,128,136,112,5,7,
+  7,6,0,0,8,8,104,152,136,152,104,5,5,5,6,0,
+  0,112,136,248,128,112,5,7,7,6,0,0,48,72,64,240,
+  64,64,64,5,7,7,6,0,254,120,136,136,120,8,136,112,
+  5,7,7,6,0,0,128,128,176,200,136,136,136,3,7,7,
+  6,1,0,64,0,192,64,64,64,224,4,9,9,6,1,254,
+  16,0,48,16,16,16,144,144,96,5,7,7,6,0,0,128,
+  128,136,144,224,144,136,3,7,7,6,1,0,192,64,64,64,
+  64,64,224,5,5,5,6,0,0,208,168,168,168,136,5,5,
+  5,6,0,0,176,200,136,136,136,5,5,5,6,0,0,112,
+  136,136,136,112,5,7,7,6,0,254,176,200,136,200,176,128,
+  128,5,7,7,6,0,254,104,152,136,152,104,8,8,5,5,
+  5,6,0,0,176,200,128,128,128,5,5,5,6,0,0,112,
+  128,112,8,240,5,7,7,6,0,0,64,64,240,64,64,72,
+  48,5,5,5,6,0,0,136,136,136,152,104,5,5,5,6,
+  0,0,136,136,80,80,32,5,5,5,6,0,0,136,136,168,
+  168,80,5,5,5,6,0,0,136,80,32,80,136,5,7,7,
+  6,0,254,136,136,152,104,8,136,112,5,5,5,6,0,0,
+  248,16,32,64,248,4,7,7,6,1,0,48,64,32,192,32,
+  64,48,1,7,7,6,2,0,128,128,128,128,128,128,128,4,
+  7,7,6,1,0,192,32,64,48,64,32,192,5,3,3,6,
+  0,4,72,168,144,0,0,0,1,0,0,0,0,0,1,0,
+  0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,
+  1,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,
+  0,0,1,0,0,0,0,0,1,0,0,0,0,0,1,0,
+  0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,
+  1,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,
+  0,0,1,0,0,0,0,0,1,0,0,0,0,0,1,0,
+  0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,
+  1,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,
+  0,0,1,0,0,0,0,0,1,0,0,0,0,0,1,0,
+  0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,
+  1,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,
+  0,0,1,0,0,0,0,0,1,0,0,0,0,0,6,0,
+  0,1,7,7,6,2,0,128,0,128,128,128,128,128,5,7,
+  7,6,0,255,32,120,160,160,160,120,32,5,7,7,6,0,
+  0,48,72,64,224,64,72,176,5,5,5,6,0,0,136,112,
+  80,112,136,5,8,8,6,0,255,136,136,80,32,248,32,32,
+  32,1,7,7,6,2,0,128,128,128,0,128,128,128,5,8,
+  8,6,0,255,112,128,224,144,72,56,8,112,3,1,1,6,
+  1,7,160,5,7,7,6,0,0,112,136,168,200,168,136,112,
+  4,6,6,6,1,1,112,144,176,80,0,240,6,5,5,6,
+  0,0,36,72,144,72,36,4,2,2,6,1,2,240,16,4,
+  1,1,6,1,3,240,5,7,7,6,0,0,112,136,232,200,
+  200,136,112,5,1,1,6,0,7,248,3,3,3,6,1,4,
+  64,160,64,5,6,6,6,0,0,32,32,248,32,32,248,4,
+  5,5,6,1,3,96,144,32,64,240,4,5,5,6,1,3,
+  224,16,96,16,224,2,2,2,6,2,6,64,128,5,6,6,
+  6,0,255,136,136,136,200,176,128,5,7,7,6,0,0,120,
+  232,232,104,40,40,40,1,1,1,6,2,3,128,2,2,2,
+  6,2,254,64,128,3,5,5,6,1,3,64,192,64,64,224,
+  4,6,6,6,1,1,96,144,144,96,0,240,6,5,5,6,
+  0,0,144,72,36,72,144,6,9,9,6,0,255,64,192,64,
+  64,228,12,20,60,4,6,9,9,6,0,255,64,192,64,64,
+  232,20,4,8,28,5,9,9,6,0,255,192,32,64,32,200,
+  24,40,120,8,5,7,7,6,0,0,32,0,32,32,64,136,
+  112,5,8,8,6,0,0,64,32,112,136,136,248,136,136,5,
+  8,8,6,0,0,16,32,112,136,136,248,136,136,5,8,8,
+  6,0,0,32,80,112,136,136,248,136,136,5,8,8,6,0,
+  0,72,176,112,136,136,248,136,136,5,8,8,6,0,0,80,
+  0,112,136,136,248,136,136,5,8,8,6,0,0,32,80,112,
+  136,136,248,136,136,6,7,7,6,0,0,60,80,144,156,240,
+  144,156,5,9,9,6,0,254,112,136,128,128,128,136,112,32,
+  64,5,8,8,6,0,0,64,248,128,128,240,128,128,248,5,
+  8,8,6,0,0,16,248,128,128,240,128,128,248,5,8,8,
+  6,0,0,32,248,128,128,240,128,128,248,5,8,8,6,0,
+  0,80,248,128,128,240,128,128,248,3,8,8,6,1,0,128,
+  64,224,64,64,64,64,224,3,8,8,6,1,0,32,64,224,
+  64,64,64,64,224,3,8,8,6,1,0,64,160,224,64,64,
+  64,64,224,3,8,8,6,1,0,160,0,224,64,64,64,64,
+  224,5,7,7,6,0,0,240,72,72,232,72,72,240,5,8,
+  8,6,0,0,40,80,136,200,168,152,136,136,5,8,8,6,
+  0,0,64,32,112,136,136,136,136,112,5,8,8,6,0,0,
+  16,32,112,136,136,136,136,112,5,8,8,6,0,0,32,80,
+  112,136,136,136,136,112,5,8,8,6,0,0,40,80,112,136,
+  136,136,136,112,5,8,8,6,0,0,80,0,112,136,136,136,
+  136,112,5,5,5,6,0,0,136,80,32,80,136,5,7,7,
+  6,0,0,112,152,152,168,200,200,112,5,8,8,6,0,0,
+  64,32,136,136,136,136,136,112,5,8,8,6,0,0,16,32,
+  136,136,136,136,136,112,5,8,8,6,0,0,32,80,0,136,
+  136,136,136,112,5,8,8,6,0,0,80,0,136,136,136,136,
+  136,112,5,8,8,6,0,0,16,32,136,136,80,32,32,32,
+  5,7,7,6,0,0,128,240,136,240,128,128,128,5,7,7,
+  6,0,0,112,136,144,160,144,136,176,5,8,8,6,0,0,
+  64,32,0,112,8,120,136,120,5,8,8,6,0,0,16,32,
+  0,112,8,120,136,120,5,8,8,6,0,0,32,80,0,112,
+  8,120,136,120,5,8,8,6,0,0,40,80,0,112,8,120,
+  136,120,5,7,7,6,0,0,80,0,112,8,120,136,120,5,
+  8,8,6,0,0,32,80,32,112,8,120,136,120,6,5,5,
+  6,0,0,120,20,124,144,124,5,7,7,6,0,254,112,136,
+  128,136,112,32,64,5,8,8,6,0,0,64,32,0,112,136,
+  248,128,112,5,8,8,6,0,0,16,32,0,112,136,248,128,
+  112,5,8,8,6,0,0,32,80,0,112,136,248,128,112,5,
+  7,7,6,0,0,80,0,112,136,248,128,112,3,8,8,6,
+  1,0,128,64,0,192,64,64,64,224,3,8,8,6,1,0,
+  64,128,0,192,64,64,64,224,3,8,8,6,1,0,64,160,
+  0,192,64,64,64,224,6,10,10,6,0,254,164,168,0,252,
+  132,128,128,128,132,252,6,10,10,6,0,254,84,148,0,252,
+  132,4,4,4,132,252,5,8,8,6,0,0,40,80,0,176,
+  200,136,136,136,5,8,8,6,0,0,64,32,0,112,136,136,
+  136,112,4,10,10,6,2,254,48,64,128,144,144,144,144,144,
+  144,144,4,10,10,6,0,254,192,32,16,144,144,144,144,144,
+  144,144,6,7,7,6,0,1,68,140,140,132,128,64,60,6,
+  7,7,6,0,1,136,196,196,132,4,8,240,5,5,5,6,
+  0,1,32,0,248,0,32,5,8,8,6,0,0,64,240,200,
+  136,136,152,120,16,5,8,8,6,0,0,224,248,136,136,136,
+  136,136,248,5,5,5,6,0,1,32,48,248,48,32,5,8,
+  8,6,0,0,32,112,248,32,32,32,32,224,5,9,9,6,
+  0,255,32,112,168,168,184,136,136,80,32,5,9,9,6,0,
+  255,224,128,192,176,168,168,48,40,40,5,9,9,6,0,255,
+  248,168,136,136,136,136,136,168,248,5,10,10,6,0,254,32,
+  80,80,80,80,136,168,168,136,112};
+  

+ 472 - 0
dogm_lcd_implementation.h

@@ -0,0 +1,472 @@
+/**
+ *dogm_lcd_implementation.h
+ *
+ *Graphics LCD implementation for 128x64 pixel LCDs by STB for ErikZalm/Marlin
+ *Demonstrator: http://www.reprap.org/wiki/STB_Electronics
+ *License: http://opensource.org/licenses/BSD-3-Clause
+ *
+ *With the use of:
+ *u8glib by Oliver Kraus
+ *http://code.google.com/p/u8glib/
+ *License: http://opensource.org/licenses/BSD-3-Clause
+ */
+
+
+#ifndef ULTRA_LCD_IMPLEMENTATION_DOGM_H
+#define ULTRA_LCD_IMPLEMENTATION_DOGM_H
+
+/**
+* Implementation of the LCD display routines for a DOGM128 graphic display. These are common LCD 128x64 pixel graphic displays.
+**/
+
+#ifdef ULTIPANEL
+#define BLEN_A 0
+#define BLEN_B 1
+#define BLEN_C 2
+#define EN_A (1<<BLEN_A)
+#define EN_B (1<<BLEN_B)
+#define EN_C (1<<BLEN_C)
+#define encrot0 0
+#define encrot1 2
+#define encrot2 3
+#define encrot3 1
+#define LCD_CLICKED (buttons&EN_C)
+#endif
+
+#include <U8glib.h>
+#include "DOGMbitmaps.h"
+#include "dogm_font_data_marlin.h"
+#include "ultralcd.h"
+#include "ultralcd_st7920_u8glib_rrd.h"
+
+/* Russian language not supported yet, needs custom font
+
+#ifdef LANGUAGE_RU
+#include "LiquidCrystalRus.h"
+#define LCD_CLASS LiquidCrystalRus
+#else
+#include <LiquidCrystal.h>
+#define LCD_CLASS LiquidCrystal
+#endif
+*/
+
+// DOGM parameters (size in pixels)
+#define DOG_CHAR_WIDTH			6
+#define DOG_CHAR_HEIGHT			12
+#define DOG_CHAR_WIDTH_LARGE	9
+#define DOG_CHAR_HEIGHT_LARGE	18
+
+#define START_ROW				0
+
+/* Custom characters defined in font font_6x10_marlin.c */
+#define LCD_STR_DEGREE      "\xB0"
+#define LCD_STR_REFRESH     "\xF8"
+#define LCD_STR_FOLDER      "\xF9"
+#define LCD_STR_ARROW_RIGHT "\xFA"
+#define LCD_STR_UPLEVEL     "\xFB"
+#define LCD_STR_CLOCK       "\xFC"
+#define LCD_STR_FEEDRATE    "\xFD"
+#define LCD_STR_BEDTEMP     "\xFE"
+#define LCD_STR_THERMOMETER "\xFF"
+
+#define FONT_STATUSMENU	u8g_font_6x9
+
+int lcd_contrast;
+
+// LCD selection
+#ifdef U8GLIB_ST7920
+//U8GLIB_ST7920_128X64_RRD u8g(0,0,0);
+U8GLIB_ST7920_128X64_RRD u8g(0);
+#elif defined(MAKRPANEL)
+// The MaKrPanel display, ST7565 controller as well
+U8GLIB_NHD_C12864 u8g(DOGLCD_CS, DOGLCD_A0);
+#else
+// for regular DOGM128 display with HW-SPI
+U8GLIB_DOGM128 u8g(DOGLCD_CS, DOGLCD_A0);	// HW-SPI Com: CS, A0
+#endif
+
+static void lcd_implementation_init()
+{
+#ifdef LCD_PIN_BL
+	pinMode(LCD_PIN_BL, OUTPUT);	// Enable LCD backlight
+	digitalWrite(LCD_PIN_BL, HIGH);
+#endif
+
+        u8g.setContrast(lcd_contrast);	
+	//  Uncomment this if you have the first generation (V1.10) of STBs board
+	//  pinMode(17, OUTPUT);	// Enable LCD backlight
+	//  digitalWrite(17, HIGH);
+	
+	u8g.firstPage();
+	do {
+		u8g.setFont(u8g_font_6x10_marlin);
+		u8g.setColorIndex(1);
+		u8g.drawBox (0, 0, u8g.getWidth(), u8g.getHeight());
+		u8g.setColorIndex(1);
+	   } while( u8g.nextPage() );
+
+#ifdef LCD_SCREEN_ROT_90
+	u8g.setRot90();	// Rotate screen by 90°
+#endif
+
+#ifdef LCD_SCREEN_ROT_180
+	u8g.setRot180();	// Rotate screen by 180°
+#endif
+
+#ifdef LCD_SCREEN_ROT_270
+	u8g.setRot270();	// Rotate screen by 270°
+#endif
+
+   
+	u8g.firstPage();
+	do {
+			// RepRap init bmp
+			u8g.drawBitmapP(0,0,START_BMPBYTEWIDTH,START_BMPHEIGHT,start_bmp);
+			// Welcome message
+			u8g.setFont(u8g_font_6x10_marlin);
+			u8g.drawStr(62,10,"MARLIN"); 
+			u8g.setFont(u8g_font_5x8);
+			u8g.drawStr(62,19,"V1.0.2");
+			u8g.setFont(u8g_font_6x10_marlin);
+			u8g.drawStr(62,28,"by ErikZalm");
+			u8g.drawStr(62,41,"DOGM128 LCD");
+			u8g.setFont(u8g_font_5x8);
+			u8g.drawStr(62,48,"enhancements");
+			u8g.setFont(u8g_font_5x8);
+			u8g.drawStr(62,55,"by STB, MM");
+			u8g.drawStr(62,61,"uses u");
+			u8g.drawStr90(92,57,"8");
+			u8g.drawStr(100,61,"glib");
+	   } while( u8g.nextPage() );
+}
+
+static void lcd_implementation_clear()
+{
+// NO NEED TO IMPLEMENT LIKE SO. Picture loop automatically clears the display.
+//
+// Check this article: http://arduino.cc/forum/index.php?topic=91395.25;wap2
+//
+//	u8g.firstPage();
+//	do {	
+//			u8g.setColorIndex(0);
+//			u8g.drawBox (0, 0, u8g.getWidth(), u8g.getHeight());
+//			u8g.setColorIndex(1);
+//		} while( u8g.nextPage() );
+}
+
+/* Arduino < 1.0.0 is missing a function to print PROGMEM strings, so we need to implement our own */
+static void lcd_printPGM(const char* str)
+{
+    char c;
+    while((c = pgm_read_byte(str++)) != '\0')
+    {
+			u8g.print(c);
+    }
+}
+
+static void _draw_heater_status(int x, int heater) {
+  bool isBed = heater < 0;
+  int y = 17 + (isBed ? 1 : 0);
+  u8g.setFont(FONT_STATUSMENU);
+  u8g.setPrintPos(x,6);
+  u8g.print(itostr3(int((heater >= 0 ? degTargetHotend(heater) : degTargetBed()) + 0.5)));
+  lcd_printPGM(PSTR(LCD_STR_DEGREE " "));
+  u8g.setPrintPos(x,27);
+  u8g.print(itostr3(int(heater >= 0 ? degHotend(heater) : degBed()) + 0.5));
+  lcd_printPGM(PSTR(LCD_STR_DEGREE " "));
+  if (!isHeatingHotend(0)) {
+    u8g.drawBox(x+7,y,2,2);
+  }
+  else {
+    u8g.setColorIndex(0); // white on black
+    u8g.drawBox(x+7,y,2,2);
+    u8g.setColorIndex(1); // black on white
+  }
+}
+
+static void lcd_implementation_status_screen()
+{
+
+ static unsigned char fan_rot = 0;
+ 
+ u8g.setColorIndex(1);	// black on white
+ 
+ // Symbols menu graphics, animated fan
+ u8g.drawBitmapP(9,1,STATUS_SCREENBYTEWIDTH,STATUS_SCREENHEIGHT, (blink % 2) && fanSpeed ? status_screen0_bmp : status_screen1_bmp);
+ 
+ #ifdef SDSUPPORT
+ //SD Card Symbol
+ u8g.drawBox(42,42,8,7);
+ u8g.drawBox(50,44,2,5);
+ u8g.drawFrame(42,49,10,4);
+ u8g.drawPixel(50,43);
+ // Progress bar
+ u8g.drawFrame(54,49,73,4);
+ 
+ // SD Card Progress bar and clock
+ u8g.setFont(FONT_STATUSMENU);
+ 
+ if (IS_SD_PRINTING)
+   {
+	// Progress bar
+	u8g.drawBox(55,50, (unsigned int)( (71 * card.percentDone())/100) ,2);
+   }
+    else {
+			// do nothing
+		 }
+ 
+ u8g.setPrintPos(80,47);
+ if(starttime != 0)
+    {
+        uint16_t time = millis()/60000 - starttime/60000;
+
+		u8g.print(itostr2(time/60));
+		u8g.print(':');
+		u8g.print(itostr2(time%60));
+    }else{
+			lcd_printPGM(PSTR("--:--"));
+		 }
+ #endif
+ 
+  // Extruders
+  _draw_heater_status(6, 0);
+  #if EXTRUDERS > 1
+    _draw_heater_status(31, 1);
+    #if EXTRUDERS > 2
+      _draw_heater_status(55, 2);
+    #endif
+  #endif
+
+  // Heatbed
+  _draw_heater_status(81, -1);
+ 
+ // Fan
+ u8g.setFont(FONT_STATUSMENU);
+ u8g.setPrintPos(104,27);
+ #if defined(FAN_PIN) && FAN_PIN > -1
+ u8g.print(itostr3(int((fanSpeed*100)/256 + 1)));
+ u8g.print("%");
+ #else
+ u8g.print("---");
+ #endif
+ 
+ 
+ // X, Y, Z-Coordinates
+ u8g.setFont(FONT_STATUSMENU);
+ u8g.drawBox(0,29,128,10);
+ u8g.setColorIndex(0);	// white on black
+ u8g.setPrintPos(2,37);
+ u8g.print("X");
+ u8g.drawPixel(8,33);
+ u8g.drawPixel(8,35);
+ u8g.setPrintPos(10,37);
+ u8g.print(ftostr31ns(current_position[X_AXIS]));
+ u8g.setPrintPos(43,37);
+ lcd_printPGM(PSTR("Y"));
+ u8g.drawPixel(49,33);
+ u8g.drawPixel(49,35);
+ u8g.setPrintPos(51,37);
+ u8g.print(ftostr31ns(current_position[Y_AXIS]));
+ u8g.setPrintPos(83,37);
+ u8g.print("Z");
+ u8g.drawPixel(89,33);
+ u8g.drawPixel(89,35);
+ u8g.setPrintPos(91,37);
+ u8g.print(ftostr31(current_position[Z_AXIS]));
+ u8g.setColorIndex(1);	// black on white
+ 
+ // Feedrate
+ u8g.setFont(u8g_font_6x10_marlin);
+ u8g.setPrintPos(3,49);
+ u8g.print(LCD_STR_FEEDRATE[0]);
+ u8g.setFont(FONT_STATUSMENU);
+ u8g.setPrintPos(12,48);
+ u8g.print(itostr3(feedmultiply));
+ u8g.print('%');
+
+ // Status line
+ u8g.setFont(FONT_STATUSMENU);
+ u8g.setPrintPos(0,61);
+ #ifndef FILAMENT_LCD_DISPLAY
+ 	u8g.print(lcd_status_message);
+ #else
+	if(message_millis+5000>millis()){  //Display both Status message line and Filament display on the last line
+	 u8g.print(lcd_status_message);
+ 	}
+ 	else
+	{
+	 lcd_printPGM(PSTR("dia:"));
+	 u8g.print(ftostr12ns(filament_width_meas));
+	 lcd_printPGM(PSTR(" factor:"));
+	 u8g.print(itostr3(extrudemultiply));
+	 u8g.print('%');
+	}
+ #endif 	
+
+}
+
+static void lcd_implementation_drawmenu_generic(uint8_t row, const char* pstr, char pre_char, char post_char)
+{
+    char c;
+    
+    uint8_t n = LCD_WIDTH - 1 - 2;
+		
+		if ((pre_char == '>') || (pre_char == LCD_STR_UPLEVEL[0] ))
+		   {
+			u8g.setColorIndex(1);		// black on white
+			u8g.drawBox (0, row*DOG_CHAR_HEIGHT + 3, 128, DOG_CHAR_HEIGHT);
+			u8g.setColorIndex(0);		// following text must be white on black
+		   } else u8g.setColorIndex(1); // unmarked text is black on white
+		
+		u8g.setPrintPos(0 * DOG_CHAR_WIDTH, (row + 1) * DOG_CHAR_HEIGHT);
+		u8g.print(pre_char == '>' ? ' ' : pre_char);	// Row selector is obsolete
+
+
+    while( (c = pgm_read_byte(pstr)) != '\0' )
+    {
+		u8g.print(c);
+        pstr++;
+        n--;
+    }
+    while(n--){
+					u8g.print(' ');
+		}
+	   
+		u8g.print(post_char);
+		u8g.print(' ');
+		u8g.setColorIndex(1);		// restore settings to black on white
+}
+
+static void _drawmenu_setting_edit_generic(uint8_t row, const char* pstr, char pre_char, const char* data, bool pgm) {
+  char c;
+  uint8_t n = LCD_WIDTH - 1 - 2 - (pgm ? strlen_P(data) : strlen(data));
+		
+  u8g.setPrintPos(0 * DOG_CHAR_WIDTH, (row + 1) * DOG_CHAR_HEIGHT);
+  u8g.print(pre_char);
+
+  while( (c = pgm_read_byte(pstr)) != '\0' ) {
+    u8g.print(c);
+    pstr++;
+    n--;
+  }
+
+  u8g.print(':');
+
+  while(n--) u8g.print(' ');
+
+  if (pgm) { lcd_printPGM(data); } else { u8g.print(data); }
+}
+
+#define lcd_implementation_drawmenu_setting_edit_generic(row, pstr, pre_char, data) _drawmenu_setting_edit_generic(row, pstr, pre_char, data, false)
+#define lcd_implementation_drawmenu_setting_edit_generic_P(row, pstr, pre_char, data) _drawmenu_setting_edit_generic(row, pstr, pre_char, data, true)
+
+#define lcd_implementation_drawmenu_setting_edit_int3_selected(row, pstr, pstr2, data, minValue, maxValue) lcd_implementation_drawmenu_setting_edit_generic(row, pstr, '>', itostr3(*(data)))
+#define lcd_implementation_drawmenu_setting_edit_int3(row, pstr, pstr2, data, minValue, maxValue) lcd_implementation_drawmenu_setting_edit_generic(row, pstr, ' ', itostr3(*(data)))
+#define lcd_implementation_drawmenu_setting_edit_float3_selected(row, pstr, pstr2, data, minValue, maxValue) lcd_implementation_drawmenu_setting_edit_generic(row, pstr, '>', ftostr3(*(data)))
+#define lcd_implementation_drawmenu_setting_edit_float3(row, pstr, pstr2, data, minValue, maxValue) lcd_implementation_drawmenu_setting_edit_generic(row, pstr, ' ', ftostr3(*(data)))
+#define lcd_implementation_drawmenu_setting_edit_float32_selected(row, pstr, pstr2, data, minValue, maxValue) lcd_implementation_drawmenu_setting_edit_generic(row, pstr, '>', ftostr32(*(data)))
+#define lcd_implementation_drawmenu_setting_edit_float32(row, pstr, pstr2, data, minValue, maxValue) lcd_implementation_drawmenu_setting_edit_generic(row, pstr, ' ', ftostr32(*(data)))
+#define lcd_implementation_drawmenu_setting_edit_float43_selected(row, pstr, pstr2, data, minValue, maxValue) lcd_implementation_drawmenu_setting_edit_generic(row, pstr, '>', ftostr43(*(data)))
+#define lcd_implementation_drawmenu_setting_edit_float43(row, pstr, pstr2, data, minValue, maxValue) lcd_implementation_drawmenu_setting_edit_generic(row, pstr, ' ', ftostr43(*(data)))
+#define lcd_implementation_drawmenu_setting_edit_float5_selected(row, pstr, pstr2, data, minValue, maxValue) lcd_implementation_drawmenu_setting_edit_generic(row, pstr, '>', ftostr5(*(data)))
+#define lcd_implementation_drawmenu_setting_edit_float5(row, pstr, pstr2, data, minValue, maxValue) lcd_implementation_drawmenu_setting_edit_generic(row, pstr, ' ', ftostr5(*(data)))
+#define lcd_implementation_drawmenu_setting_edit_float52_selected(row, pstr, pstr2, data, minValue, maxValue) lcd_implementation_drawmenu_setting_edit_generic(row, pstr, '>', ftostr52(*(data)))
+#define lcd_implementation_drawmenu_setting_edit_float52(row, pstr, pstr2, data, minValue, maxValue) lcd_implementation_drawmenu_setting_edit_generic(row, pstr, ' ', ftostr52(*(data)))
+#define lcd_implementation_drawmenu_setting_edit_float51_selected(row, pstr, pstr2, data, minValue, maxValue) lcd_implementation_drawmenu_setting_edit_generic(row, pstr, '>', ftostr51(*(data)))
+#define lcd_implementation_drawmenu_setting_edit_float51(row, pstr, pstr2, data, minValue, maxValue) lcd_implementation_drawmenu_setting_edit_generic(row, pstr, ' ', ftostr51(*(data)))
+#define lcd_implementation_drawmenu_setting_edit_long5_selected(row, pstr, pstr2, data, minValue, maxValue) lcd_implementation_drawmenu_setting_edit_generic(row, pstr, '>', ftostr5(*(data)))
+#define lcd_implementation_drawmenu_setting_edit_long5(row, pstr, pstr2, data, minValue, maxValue) lcd_implementation_drawmenu_setting_edit_generic(row, pstr, ' ', ftostr5(*(data)))
+#define lcd_implementation_drawmenu_setting_edit_bool_selected(row, pstr, pstr2, data) lcd_implementation_drawmenu_setting_edit_generic_P(row, pstr, '>', (*(data))?PSTR(MSG_ON):PSTR(MSG_OFF))
+#define lcd_implementation_drawmenu_setting_edit_bool(row, pstr, pstr2, data) lcd_implementation_drawmenu_setting_edit_generic_P(row, pstr, ' ', (*(data))?PSTR(MSG_ON):PSTR(MSG_OFF))
+
+//Add version for callback functions
+#define lcd_implementation_drawmenu_setting_edit_callback_int3_selected(row, pstr, pstr2, data, minValue, maxValue, callback) lcd_implementation_drawmenu_setting_edit_generic(row, pstr, '>', itostr3(*(data)))
+#define lcd_implementation_drawmenu_setting_edit_callback_int3(row, pstr, pstr2, data, minValue, maxValue, callback) lcd_implementation_drawmenu_setting_edit_generic(row, pstr, ' ', itostr3(*(data)))
+#define lcd_implementation_drawmenu_setting_edit_callback_float3_selected(row, pstr, pstr2, data, minValue, maxValue, callback) lcd_implementation_drawmenu_setting_edit_generic(row, pstr, '>', ftostr3(*(data)))
+#define lcd_implementation_drawmenu_setting_edit_callback_float3(row, pstr, pstr2, data, minValue, maxValue, callback) lcd_implementation_drawmenu_setting_edit_generic(row, pstr, ' ', ftostr3(*(data)))
+#define lcd_implementation_drawmenu_setting_edit_callback_float32_selected(row, pstr, pstr2, data, minValue, maxValue, callback) lcd_implementation_drawmenu_setting_edit_generic(row, pstr, '>', ftostr32(*(data)))
+#define lcd_implementation_drawmenu_setting_edit_callback_float32(row, pstr, pstr2, data, minValue, maxValue, callback) lcd_implementation_drawmenu_setting_edit_generic(row, pstr, ' ', ftostr32(*(data)))
+#define lcd_implementation_drawmenu_setting_edit_callback_float43_selected(row, pstr, pstr2, data, minValue, maxValue, callback) lcd_implementation_drawmenu_setting_edit_generic(row, pstr, '>', ftostr43(*(data)))
+#define lcd_implementation_drawmenu_setting_edit_callback_float43(row, pstr, pstr2, data, minValue, maxValue, callback) lcd_implementation_drawmenu_setting_edit_generic(row, pstr, ' ', ftostr43(*(data)))
+#define lcd_implementation_drawmenu_setting_edit_callback_float5_selected(row, pstr, pstr2, data, minValue, maxValue, callback) lcd_implementation_drawmenu_setting_edit_generic(row, pstr, '>', ftostr5(*(data)))
+#define lcd_implementation_drawmenu_setting_edit_callback_float5(row, pstr, pstr2, data, minValue, maxValue, callback) lcd_implementation_drawmenu_setting_edit_generic(row, pstr, ' ', ftostr5(*(data)))
+#define lcd_implementation_drawmenu_setting_edit_callback_float52_selected(row, pstr, pstr2, data, minValue, maxValue, callback) lcd_implementation_drawmenu_setting_edit_generic(row, pstr, '>', ftostr52(*(data)))
+#define lcd_implementation_drawmenu_setting_edit_callback_float52(row, pstr, pstr2, data, minValue, maxValue, callback) lcd_implementation_drawmenu_setting_edit_generic(row, pstr, ' ', ftostr52(*(data)))
+#define lcd_implementation_drawmenu_setting_edit_callback_float51_selected(row, pstr, pstr2, data, minValue, maxValue, callback) lcd_implementation_drawmenu_setting_edit_generic(row, pstr, '>', ftostr51(*(data)))
+#define lcd_implementation_drawmenu_setting_edit_callback_float51(row, pstr, pstr2, data, minValue, maxValue, callback) lcd_implementation_drawmenu_setting_edit_generic(row, pstr, ' ', ftostr51(*(data)))
+#define lcd_implementation_drawmenu_setting_edit_callback_long5_selected(row, pstr, pstr2, data, minValue, maxValue, callback) lcd_implementation_drawmenu_setting_edit_generic(row, pstr, '>', ftostr5(*(data)))
+#define lcd_implementation_drawmenu_setting_edit_callback_long5(row, pstr, pstr2, data, minValue, maxValue, callback) lcd_implementation_drawmenu_setting_edit_generic(row, pstr, ' ', ftostr5(*(data)))
+#define lcd_implementation_drawmenu_setting_edit_callback_bool_selected(row, pstr, pstr2, data, callback) lcd_implementation_drawmenu_setting_edit_generic_P(row, pstr, '>', (*(data))?PSTR(MSG_ON):PSTR(MSG_OFF))
+#define lcd_implementation_drawmenu_setting_edit_callback_bool(row, pstr, pstr2, data, callback) lcd_implementation_drawmenu_setting_edit_generic_P(row, pstr, ' ', (*(data))?PSTR(MSG_ON):PSTR(MSG_OFF))
+
+void lcd_implementation_drawedit(const char* pstr, char* value)
+{
+		u8g.setPrintPos(0 * DOG_CHAR_WIDTH_LARGE, (u8g.getHeight() - 1 - DOG_CHAR_HEIGHT_LARGE) - (1 * DOG_CHAR_HEIGHT_LARGE) - START_ROW );
+		u8g.setFont(u8g_font_9x18);
+		lcd_printPGM(pstr);
+		u8g.print(':');
+		u8g.setPrintPos((14 - strlen(value)) * DOG_CHAR_WIDTH_LARGE, (u8g.getHeight() - 1 - DOG_CHAR_HEIGHT_LARGE) - (1 * DOG_CHAR_HEIGHT_LARGE) - START_ROW );
+		u8g.print(value);
+}
+
+static void _drawmenu_sd(uint8_t row, const char* pstr, const char* filename, char * const longFilename, bool isDir, bool isSelected) {
+  char c;
+  uint8_t n = LCD_WIDTH - 1;
+
+  if (longFilename[0] != '\0') {
+    filename = longFilename;
+    longFilename[n] = '\0';
+  }
+
+  if (isSelected) {
+    u8g.setColorIndex(1); // black on white
+    u8g.drawBox (0, row*DOG_CHAR_HEIGHT + 3, 128, DOG_CHAR_HEIGHT);
+    u8g.setColorIndex(0); // following text must be white on black
+  }
+
+  u8g.setPrintPos(0 * DOG_CHAR_WIDTH, (row + 1) * DOG_CHAR_HEIGHT);
+  u8g.print(' ');	// Indent by 1 char
+
+  if (isDir) u8g.print(LCD_STR_FOLDER[0]);
+
+  while((c = *filename) != '\0') {
+    u8g.print(c);
+    filename++;
+    n--;
+  }
+  while(n--) u8g.print(' ');
+
+  if (isSelected) u8g.setColorIndex(1); // black on white
+}
+
+#define lcd_implementation_drawmenu_sdfile_selected(row, pstr, filename, longFilename) _drawmenu_sd(row, pstr, filename, longFilename, false, true)
+#define lcd_implementation_drawmenu_sdfile(row, pstr, filename, longFilename) _drawmenu_sd(row, pstr, filename, longFilename, false, false)
+#define lcd_implementation_drawmenu_sddirectory_selected(row, pstr, filename, longFilename) _drawmenu_sd(row, pstr, filename, longFilename, true, true)
+#define lcd_implementation_drawmenu_sddirectory(row, pstr, filename, longFilename) _drawmenu_sd(row, pstr, filename, longFilename, true, false)
+
+#define lcd_implementation_drawmenu_back_selected(row, pstr, data) lcd_implementation_drawmenu_generic(row, pstr, LCD_STR_UPLEVEL[0], LCD_STR_UPLEVEL[0])
+#define lcd_implementation_drawmenu_back(row, pstr, data) lcd_implementation_drawmenu_generic(row, pstr, ' ', LCD_STR_UPLEVEL[0])
+#define lcd_implementation_drawmenu_submenu_selected(row, pstr, data) lcd_implementation_drawmenu_generic(row, pstr, '>', LCD_STR_ARROW_RIGHT[0])
+#define lcd_implementation_drawmenu_submenu(row, pstr, data) lcd_implementation_drawmenu_generic(row, pstr, ' ', LCD_STR_ARROW_RIGHT[0])
+#define lcd_implementation_drawmenu_gcode_selected(row, pstr, gcode) lcd_implementation_drawmenu_generic(row, pstr, '>', ' ')
+#define lcd_implementation_drawmenu_gcode(row, pstr, gcode) lcd_implementation_drawmenu_generic(row, pstr, ' ', ' ')
+#define lcd_implementation_drawmenu_function_selected(row, pstr, data) lcd_implementation_drawmenu_generic(row, pstr, '>', ' ')
+#define lcd_implementation_drawmenu_function(row, pstr, data) lcd_implementation_drawmenu_generic(row, pstr, ' ', ' ')
+
+static void lcd_implementation_quick_feedback()
+{
+
+#if BEEPER > -1
+    SET_OUTPUT(BEEPER);
+    for(int8_t i=0;i<10;i++)
+    {
+		WRITE(BEEPER,HIGH);
+		delay(3);
+		WRITE(BEEPER,LOW);
+		delay(3);
+    }
+#endif
+}
+#endif//ULTRA_LCD_IMPLEMENTATION_DOGM_H
+
+

+ 4053 - 0
fastio.h

@@ -0,0 +1,4053 @@
+/*
+  This code contributed by Triffid_Hunter and modified by Kliment
+  why double up on these macros? see http://gcc.gnu.org/onlinedocs/cpp/Stringification.html
+*/
+
+#ifndef	_FASTIO_ARDUINO_H
+#define	_FASTIO_ARDUINO_H
+
+#include <avr/io.h>
+
+/*
+  utility functions
+*/
+
+#ifndef MASK
+/// MASKING- returns \f$2^PIN\f$
+#define MASK(PIN)  (1 << PIN)
+#endif
+
+/*
+  magic I/O routines
+  now you can simply SET_OUTPUT(STEP); WRITE(STEP, 1); WRITE(STEP, 0);
+*/
+
+/// Read a pin
+#define _READ(IO) ((bool)(DIO ## IO ## _RPORT & MASK(DIO ## IO ## _PIN)))
+/// write to a pin
+// On some boards pins > 0x100 are used. These are not converted to atomic actions. An critical section is needed.
+
+#define _WRITE_NC(IO, v)  do { if (v) {DIO ##  IO ## _WPORT |= MASK(DIO ## IO ## _PIN); } else {DIO ##  IO ## _WPORT &= ~MASK(DIO ## IO ## _PIN); }; } while (0)
+
+#define _WRITE_C(IO, v)   do { if (v) { \
+                                         CRITICAL_SECTION_START; \
+                                         {DIO ##  IO ## _WPORT |= MASK(DIO ## IO ## _PIN); }\
+                                         CRITICAL_SECTION_END; \
+                                       }\
+                                       else {\
+                                         CRITICAL_SECTION_START; \
+                                         {DIO ##  IO ## _WPORT &= ~MASK(DIO ## IO ## _PIN); }\
+                                         CRITICAL_SECTION_END; \
+                                       }\
+                                     }\
+                                     while (0)
+
+#define _WRITE(IO, v)  do {  if (&(DIO ##  IO ## _RPORT) >= (uint8_t *)0x100) {_WRITE_C(IO, v); } else {_WRITE_NC(IO, v); }; } while (0)
+
+/// toggle a pin
+#define _TOGGLE(IO)  do {DIO ##  IO ## _RPORT = MASK(DIO ## IO ## _PIN); } while (0)
+
+/// set pin as input
+#define	_SET_INPUT(IO) do {DIO ##  IO ## _DDR &= ~MASK(DIO ## IO ## _PIN); } while (0)
+/// set pin as output
+#define	_SET_OUTPUT(IO) do {DIO ##  IO ## _DDR |=  MASK(DIO ## IO ## _PIN); } while (0)
+
+/// check if pin is an input
+#define	_GET_INPUT(IO)  ((DIO ## IO ## _DDR & MASK(DIO ## IO ## _PIN)) == 0)
+/// check if pin is an output
+#define	_GET_OUTPUT(IO)  ((DIO ## IO ## _DDR & MASK(DIO ## IO ## _PIN)) != 0)
+
+/// check if pin is an timer
+#define	_GET_TIMER(IO)  ((DIO ## IO ## _PWM)
+
+//  why double up on these macros? see http://gcc.gnu.org/onlinedocs/cpp/Stringification.html
+
+/// Read a pin wrapper
+#define READ(IO)  _READ(IO)
+/// Write to a pin wrapper
+#define WRITE(IO, v)  _WRITE(IO, v)
+
+/// toggle a pin wrapper
+#define TOGGLE(IO)  _TOGGLE(IO)
+
+/// set pin as input wrapper
+#define SET_INPUT(IO)  _SET_INPUT(IO)
+/// set pin as output wrapper
+#define SET_OUTPUT(IO)  _SET_OUTPUT(IO)
+
+/// check if pin is an input wrapper
+#define GET_INPUT(IO)  _GET_INPUT(IO)
+/// check if pin is an output wrapper
+#define GET_OUTPUT(IO)  _GET_OUTPUT(IO)
+
+/// check if pin is an timer wrapper
+#define GET_TIMER(IO)  _GET_TIMER(IO)
+
+/*
+	ports and functions
+
+	added as necessary or if I feel like it- not a comprehensive list!
+*/
+
+#if defined (__AVR_ATmega168__) || defined (__AVR_ATmega328__) || defined (__AVR_ATmega328P__)
+// UART
+#define	RXD					DIO0
+#define	TXD					DIO1
+
+// SPI
+#define	SCK					DIO13
+#define	MISO				DIO12
+#define	MOSI				DIO11
+#define	SS					DIO10
+
+// TWI (I2C)
+#define	SCL					AIO5
+#define	SDA					AIO4
+
+// timers and PWM
+#define	OC0A				DIO6
+#define	OC0B				DIO5
+#define	OC1A				DIO9
+#define	OC1B				DIO10
+#define	OC2A				DIO11
+#define	OC2B				DIO3
+
+#define	DEBUG_LED		AIO5
+
+/*
+pins
+*/
+
+#define DIO0_PIN		PIND0
+#define DIO0_RPORT	PIND
+#define DIO0_WPORT	PORTD
+#define DIO0_DDR		DDRD
+#define DIO0_PWM		NULL
+
+#define DIO1_PIN		PIND1
+#define DIO1_RPORT	PIND
+#define DIO1_WPORT	PORTD
+#define DIO1_DDR		DDRD
+#define DIO1_PWM		NULL
+
+#define DIO2_PIN		PIND2
+#define DIO2_RPORT	PIND
+#define DIO2_WPORT	PORTD
+#define DIO2_DDR		DDRD
+#define DIO2_PWM		NULL
+
+#define DIO3_PIN		PIND3
+#define DIO3_RPORT	PIND
+#define DIO3_WPORT	PORTD
+#define DIO3_DDR		DDRD
+#define DIO3_PWM		&OCR2B
+
+#define DIO4_PIN		PIND4
+#define DIO4_RPORT	PIND
+#define DIO4_WPORT	PORTD
+#define DIO4_DDR		DDRD
+#define DIO4_PWM		NULL
+
+#define DIO5_PIN		PIND5
+#define DIO5_RPORT	PIND
+#define DIO5_WPORT	PORTD
+#define DIO5_DDR		DDRD
+#define DIO5_PWM		&OCR0B
+
+#define DIO6_PIN		PIND6
+#define DIO6_RPORT	PIND
+#define DIO6_WPORT	PORTD
+#define DIO6_DDR		DDRD
+#define DIO6_PWM		&OCR0A
+
+#define DIO7_PIN		PIND7
+#define DIO7_RPORT	PIND
+#define DIO7_WPORT	PORTD
+#define DIO7_DDR		DDRD
+#define DIO7_PWM		NULL
+
+#define DIO8_PIN		PINB0
+#define DIO8_RPORT	PINB
+#define DIO8_WPORT	PORTB
+#define DIO8_DDR		DDRB
+#define DIO8_PWM		NULL
+
+#define DIO9_PIN		PINB1
+#define DIO9_RPORT	PINB
+#define DIO9_WPORT	PORTB
+#define DIO9_DDR		DDRB
+#define DIO9_PWM		NULL
+
+#define DIO10_PIN		PINB2
+#define DIO10_RPORT	PINB
+#define DIO10_WPORT	PORTB
+#define DIO10_DDR		DDRB
+#define DIO10_PWM		NULL
+
+#define DIO11_PIN		PINB3
+#define DIO11_RPORT	PINB
+#define DIO11_WPORT	PORTB
+#define DIO11_DDR		DDRB
+#define DIO11_PWM		&OCR2A
+
+#define DIO12_PIN		PINB4
+#define DIO12_RPORT	PINB
+#define DIO12_WPORT	PORTB
+#define DIO12_DDR		DDRB
+#define DIO12_PWM		NULL
+
+#define DIO13_PIN		PINB5
+#define DIO13_RPORT	PINB
+#define DIO13_WPORT	PORTB
+#define DIO13_DDR		DDRB
+#define DIO13_PWM		NULL
+
+
+#define DIO14_PIN		PINC0
+#define DIO14_RPORT	PINC
+#define DIO14_WPORT	PORTC
+#define DIO14_DDR		DDRC
+#define DIO14_PWM		NULL
+
+#define DIO15_PIN		PINC1
+#define DIO15_RPORT	PINC
+#define DIO15_WPORT	PORTC
+#define DIO15_DDR		DDRC
+#define DIO15_PWM		NULL
+
+#define DIO16_PIN		PINC2
+#define DIO16_RPORT	PINC
+#define DIO16_WPORT	PORTC
+#define DIO16_DDR		DDRC
+#define DIO16_PWM		NULL
+
+#define DIO17_PIN		PINC3
+#define DIO17_RPORT	PINC
+#define DIO17_WPORT	PORTC
+#define DIO17_DDR		DDRC
+#define DIO17_PWM		NULL
+
+#define DIO18_PIN		PINC4
+#define DIO18_RPORT	PINC
+#define DIO18_WPORT	PORTC
+#define DIO18_DDR		DDRC
+#define DIO18_PWM		NULL
+
+#define DIO19_PIN		PINC5
+#define DIO19_RPORT	PINC
+#define DIO19_WPORT	PORTC
+#define DIO19_DDR		DDRC
+#define DIO19_PWM		NULL
+
+#define DIO20_PIN		PINC6
+#define DIO20_RPORT	PINC
+#define DIO20_WPORT	PORTC
+#define DIO20_DDR		DDRC
+#define DIO20_PWM		NULL
+
+#define DIO21_PIN		PINC7
+#define DIO21_RPORT	PINC
+#define DIO21_WPORT	PORTC
+#define DIO21_DDR		DDRC
+#define DIO21_PWM		NULL
+
+
+
+#undef PB0
+#define PB0_PIN			PINB0
+#define PB0_RPORT		PINB
+#define PB0_WPORT		PORTB
+#define PB0_DDR			DDRB
+#define PB0_PWM			NULL
+
+#undef PB1
+#define PB1_PIN			PINB1
+#define PB1_RPORT		PINB
+#define PB1_WPORT		PORTB
+#define PB1_DDR			DDRB
+#define PB1_PWM			NULL
+
+#undef PB2
+#define PB2_PIN			PINB2
+#define PB2_RPORT		PINB
+#define PB2_WPORT		PORTB
+#define PB2_DDR			DDRB
+#define PB2_PWM			NULL
+
+#undef PB3
+#define PB3_PIN			PINB3
+#define PB3_RPORT		PINB
+#define PB3_WPORT		PORTB
+#define PB3_DDR			DDRB
+#define PB3_PWM			&OCR2A
+
+#undef PB4
+#define PB4_PIN			PINB4
+#define PB4_RPORT		PINB
+#define PB4_WPORT		PORTB
+#define PB4_DDR			DDRB
+#define PB4_PWM			NULL
+
+#undef PB5
+#define PB5_PIN			PINB5
+#define PB5_RPORT		PINB
+#define PB5_WPORT		PORTB
+#define PB5_DDR			DDRB
+#define PB5_PWM			NULL
+
+#undef PB6
+#define PB6_PIN			PINB6
+#define PB6_RPORT		PINB
+#define PB6_WPORT		PORTB
+#define PB6_DDR			DDRB
+#define PB6_PWM			NULL
+
+#undef PB7
+#define PB7_PIN			PINB7
+#define PB7_RPORT		PINB
+#define PB7_WPORT		PORTB
+#define PB7_DDR			DDRB
+#define PB7_PWM			NULL
+
+
+#undef PC0
+#define PC0_PIN			PINC0
+#define PC0_RPORT		PINC
+#define PC0_WPORT		PORTC
+#define PC0_DDR			DDRC
+#define PC0_PWM			NULL
+
+#undef PC1
+#define PC1_PIN			PINC1
+#define PC1_RPORT		PINC
+#define PC1_WPORT		PORTC
+#define PC1_DDR			DDRC
+#define PC1_PWM			NULL
+
+#undef PC2
+#define PC2_PIN			PINC2
+#define PC2_RPORT		PINC
+#define PC2_WPORT		PORTC
+#define PC2_DDR			DDRC
+#define PC2_PWM			NULL
+
+#undef PC3
+#define PC3_PIN			PINC3
+#define PC3_RPORT		PINC
+#define PC3_WPORT		PORTC
+#define PC3_DDR			DDRC
+#define PC3_PWM			NULL
+
+#undef PC4
+#define PC4_PIN			PINC4
+#define PC4_RPORT		PINC
+#define PC4_WPORT		PORTC
+#define PC4_DDR			DDRC
+#define PC4_PWM			NULL
+
+#undef PC5
+#define PC5_PIN			PINC5
+#define PC5_RPORT		PINC
+#define PC5_WPORT		PORTC
+#define PC5_DDR			DDRC
+#define PC5_PWM			NULL
+
+#undef PC6
+#define PC6_PIN			PINC6
+#define PC6_RPORT		PINC
+#define PC6_WPORT		PORTC
+#define PC6_DDR			DDRC
+#define PC6_PWM			NULL
+
+#undef PC7
+#define PC7_PIN			PINC7
+#define PC7_RPORT		PINC
+#define PC7_WPORT		PORTC
+#define PC7_DDR			DDRC
+#define PC7_PWM			NULL
+
+
+#undef PD0
+#define PD0_PIN			PIND0
+#define PD0_RPORT		PIND
+#define PD0_WPORT		PORTD
+#define PD0_DDR			DDRD
+#define PD0_PWM			NULL
+
+#undef PD1
+#define PD1_PIN			PIND1
+#define PD1_RPORT		PIND
+#define PD1_WPORT		PORTD
+#define PD1_DDR			DDRD
+#define PD1_PWM			NULL
+
+#undef PD2
+#define PD2_PIN			PIND2
+#define PD2_RPORT		PIND
+#define PD2_WPORT		PORTD
+#define PD2_DDR			DDRD
+#define PD2_PWM			NULL
+
+#undef PD3
+#define PD3_PIN			PIND3
+#define PD3_RPORT		PIND
+#define PD3_WPORT		PORTD
+#define PD3_DDR			DDRD
+#define PD3_PWM			&OCR2B
+
+#undef PD4
+#define PD4_PIN			PIND4
+#define PD4_RPORT		PIND
+#define PD4_WPORT		PORTD
+#define PD4_DDR			DDRD
+#define PD4_PWM			NULL
+
+#undef PD5
+#define PD5_PIN			PIND5
+#define PD5_RPORT		PIND
+#define PD5_WPORT		PORTD
+#define PD5_DDR			DDRD
+#define PD5_PWM			&OCR0B
+
+#undef PD6
+#define PD6_PIN			PIND6
+#define PD6_RPORT		PIND
+#define PD6_WPORT		PORTD
+#define PD6_DDR			DDRD
+#define PD6_PWM			&OCR0A
+
+#undef PD7
+#define PD7_PIN			PIND7
+#define PD7_RPORT		PIND
+#define PD7_WPORT		PORTD
+#define PD7_DDR			DDRD
+#define PD7_PWM			NULL
+#endif	/*	_AVR_ATmega{168,328,328P}__ */
+
+#if defined (__AVR_ATmega644__) || defined (__AVR_ATmega644P__) || defined (__AVR_ATmega644PA__) || defined (__AVR_ATmega1284P__)
+// UART
+#define	RXD					DIO8
+#define	TXD					DIO9
+#define	RXD0				DIO8
+#define	TXD0				DIO9
+
+#define	RXD1				DIO10
+#define	TXD1				DIO11
+
+// SPI
+#define	SCK					DIO7
+#define	MISO				DIO6
+#define	MOSI				DIO5
+#define	SS					DIO4
+
+// TWI (I2C)
+#define	SCL					DIO16
+#define	SDA					DIO17
+
+// timers and PWM
+#define	OC0A				DIO3
+#define	OC0B				DIO4
+#define	OC1A				DIO13
+#define	OC1B				DIO12
+#define	OC2A				DIO15
+#define	OC2B				DIO14
+
+#define	DEBUG_LED		DIO0
+/*
+pins
+*/
+
+#define DIO0_PIN		PINB0
+#define DIO0_RPORT	PINB
+#define DIO0_WPORT	PORTB
+#define DIO0_DDR		DDRB
+#define DIO0_PWM		NULL
+
+#define DIO1_PIN		PINB1
+#define DIO1_RPORT	PINB
+#define DIO1_WPORT	PORTB
+#define DIO1_DDR		DDRB
+#define DIO1_PWM		NULL
+
+#define DIO2_PIN		PINB2
+#define DIO2_RPORT	PINB
+#define DIO2_WPORT	PORTB
+#define DIO2_DDR		DDRB
+#define DIO2_PWM		NULL
+
+#define DIO3_PIN		PINB3
+#define DIO3_RPORT	PINB
+#define DIO3_WPORT	PORTB
+#define DIO3_DDR		DDRB
+#define DIO3_PWM		OCR0A
+
+#define DIO4_PIN		PINB4
+#define DIO4_RPORT	PINB
+#define DIO4_WPORT	PORTB
+#define DIO4_DDR		DDRB
+#define DIO4_PWM		OCR0B
+
+#define DIO5_PIN		PINB5
+#define DIO5_RPORT	PINB
+#define DIO5_WPORT	PORTB
+#define DIO5_DDR		DDRB
+#define DIO5_PWM		NULL
+
+#define DIO6_PIN		PINB6
+#define DIO6_RPORT	PINB
+#define DIO6_WPORT	PORTB
+#define DIO6_DDR		DDRB
+#define DIO6_PWM		NULL
+
+#define DIO7_PIN		PINB7
+#define DIO7_RPORT	PINB
+#define DIO7_WPORT	PORTB
+#define DIO7_DDR		DDRB
+#define DIO7_PWM		NULL
+
+#define DIO8_PIN		PIND0
+#define DIO8_RPORT	PIND
+#define DIO8_WPORT	PORTD
+#define DIO8_DDR		DDRD
+#define DIO8_PWM		NULL
+
+#define DIO9_PIN		PIND1
+#define DIO9_RPORT	PIND
+#define DIO9_WPORT	PORTD
+#define DIO9_DDR		DDRD
+#define DIO9_PWM		NULL
+
+#define DIO10_PIN		PIND2
+#define DIO10_RPORT	PIND
+#define DIO10_WPORT	PORTD
+#define DIO10_DDR		DDRD
+#define DIO10_PWM		NULL
+
+#define DIO11_PIN		PIND3
+#define DIO11_RPORT	PIND
+#define DIO11_WPORT	PORTD
+#define DIO11_DDR		DDRD
+#define DIO11_PWM		NULL
+
+#define DIO12_PIN		PIND4
+#define DIO12_RPORT	PIND
+#define DIO12_WPORT	PORTD
+#define DIO12_DDR		DDRD
+#define DIO12_PWM		OCR1B
+
+#define DIO13_PIN		PIND5
+#define DIO13_RPORT	PIND
+#define DIO13_WPORT	PORTD
+#define DIO13_DDR		DDRD
+#define DIO13_PWM		OCR1A
+
+#define DIO14_PIN		PIND6
+#define DIO14_RPORT	PIND
+#define DIO14_WPORT	PORTD
+#define DIO14_DDR		DDRD
+#define DIO14_PWM		OCR2B
+
+#define DIO15_PIN		PIND7
+#define DIO15_RPORT	PIND
+#define DIO15_WPORT	PORTD
+#define DIO15_DDR		DDRD
+#define DIO15_PWM		OCR2A
+
+#define DIO16_PIN		PINC0
+#define DIO16_RPORT	PINC
+#define DIO16_WPORT	PORTC
+#define DIO16_DDR		DDRC
+#define DIO16_PWM		NULL
+
+#define DIO17_PIN		PINC1
+#define DIO17_RPORT	PINC
+#define DIO17_WPORT	PORTC
+#define DIO17_DDR		DDRC
+#define DIO17_PWM		NULL
+
+#define DIO18_PIN		PINC2
+#define DIO18_RPORT	PINC
+#define DIO18_WPORT	PORTC
+#define DIO18_DDR		DDRC
+#define DIO18_PWM		NULL
+
+#define DIO19_PIN		PINC3
+#define DIO19_RPORT	PINC
+#define DIO19_WPORT	PORTC
+#define DIO19_DDR		DDRC
+#define DIO19_PWM		NULL
+
+#define DIO20_PIN		PINC4
+#define DIO20_RPORT	PINC
+#define DIO20_WPORT	PORTC
+#define DIO20_DDR		DDRC
+#define DIO20_PWM		NULL
+
+#define DIO21_PIN		PINC5
+#define DIO21_RPORT	PINC
+#define DIO21_WPORT	PORTC
+#define DIO21_DDR		DDRC
+#define DIO21_PWM		NULL
+
+#define DIO22_PIN		PINC6
+#define DIO22_RPORT	PINC
+#define DIO22_WPORT	PORTC
+#define DIO22_DDR		DDRC
+#define DIO22_PWM		NULL
+
+#define DIO23_PIN		PINC7
+#define DIO23_RPORT	PINC
+#define DIO23_WPORT	PORTC
+#define DIO23_DDR		DDRC
+#define DIO23_PWM		NULL
+
+#define DIO24_PIN		PINA7
+#define DIO24_RPORT	PINA
+#define DIO24_WPORT	PORTA
+#define DIO24_DDR		DDRA
+#define DIO24_PWM		NULL
+
+#define DIO25_PIN		PINA6
+#define DIO25_RPORT	PINA
+#define DIO25_WPORT	PORTA
+#define DIO25_DDR		DDRA
+#define DIO25_PWM		NULL
+
+#define DIO26_PIN		PINA5
+#define DIO26_RPORT	PINA
+#define DIO26_WPORT	PORTA
+#define DIO26_DDR		DDRA
+#define DIO26_PWM		NULL
+
+#define DIO27_PIN		PINA4
+#define DIO27_RPORT	PINA
+#define DIO27_WPORT	PORTA
+#define DIO27_DDR		DDRA
+#define DIO27_PWM		NULL
+
+#define DIO28_PIN		PINA3
+#define DIO28_RPORT	PINA
+#define DIO28_WPORT	PORTA
+#define DIO28_DDR		DDRA
+#define DIO28_PWM		NULL
+
+#define DIO29_PIN		PINA2
+#define DIO29_RPORT	PINA
+#define DIO29_WPORT	PORTA
+#define DIO29_DDR		DDRA
+#define DIO29_PWM		NULL
+
+#define DIO30_PIN		PINA1
+#define DIO30_RPORT	PINA
+#define DIO30_WPORT	PORTA
+#define DIO30_DDR		DDRA
+#define DIO30_PWM		NULL
+
+#define DIO31_PIN		PINA0
+#define DIO31_RPORT	PINA
+#define DIO31_WPORT	PORTA
+#define DIO31_DDR		DDRA
+#define DIO31_PWM		NULL
+
+#define AIO0_PIN		PINA0
+#define AIO0_RPORT	PINA
+#define AIO0_WPORT	PORTA
+#define AIO0_DDR		DDRA
+#define AIO0_PWM		NULL
+
+#define AIO1_PIN		PINA1
+#define AIO1_RPORT	PINA
+#define AIO1_WPORT	PORTA
+#define AIO1_DDR		DDRA
+#define AIO1_PWM		NULL
+
+#define AIO2_PIN		PINA2
+#define AIO2_RPORT	PINA
+#define AIO2_WPORT	PORTA
+#define AIO2_DDR		DDRA
+#define AIO2_PWM		NULL
+
+#define AIO3_PIN		PINA3
+#define AIO3_RPORT	PINA
+#define AIO3_WPORT	PORTA
+#define AIO3_DDR		DDRA
+#define AIO3_PWM		NULL
+
+#define AIO4_PIN		PINA4
+#define AIO4_RPORT	PINA
+#define AIO4_WPORT	PORTA
+#define AIO4_DDR		DDRA
+#define AIO4_PWM		NULL
+
+#define AIO5_PIN		PINA5
+#define AIO5_RPORT	PINA
+#define AIO5_WPORT	PORTA
+#define AIO5_DDR		DDRA
+#define AIO5_PWM		NULL
+
+#define AIO6_PIN		PINA6
+#define AIO6_RPORT	PINA
+#define AIO6_WPORT	PORTA
+#define AIO6_DDR		DDRA
+#define AIO6_PWM		NULL
+
+#define AIO7_PIN		PINA7
+#define AIO7_RPORT	PINA
+#define AIO7_WPORT	PORTA
+#define AIO7_DDR		DDRA
+#define AIO7_PWM		NULL
+
+
+
+#undef PA0
+#define PA0_PIN			PINA0
+#define PA0_RPORT		PINA
+#define PA0_WPORT		PORTA
+#define PA0_DDR			DDRA
+#define PA0_PWM			NULL
+
+#undef PA1
+#define PA1_PIN			PINA1
+#define PA1_RPORT		PINA
+#define PA1_WPORT		PORTA
+#define PA1_DDR			DDRA
+#define PA1_PWM			NULL
+
+#undef PA2
+#define PA2_PIN			PINA2
+#define PA2_RPORT		PINA
+#define PA2_WPORT		PORTA
+#define PA2_DDR			DDRA
+#define PA2_PWM			NULL
+
+#undef PA3
+#define PA3_PIN			PINA3
+#define PA3_RPORT		PINA
+#define PA3_WPORT		PORTA
+#define PA3_DDR			DDRA
+#define PA3_PWM			NULL
+
+#undef PA4
+#define PA4_PIN			PINA4
+#define PA4_RPORT		PINA
+#define PA4_WPORT		PORTA
+#define PA4_DDR			DDRA
+#define PA4_PWM			NULL
+
+#undef PA5
+#define PA5_PIN			PINA5
+#define PA5_RPORT		PINA
+#define PA5_WPORT		PORTA
+#define PA5_DDR			DDRA
+#define PA5_PWM			NULL
+
+#undef PA6
+#define PA6_PIN			PINA6
+#define PA6_RPORT		PINA
+#define PA6_WPORT		PORTA
+#define PA6_DDR			DDRA
+#define PA6_PWM			NULL
+
+#undef PA7
+#define PA7_PIN			PINA7
+#define PA7_RPORT		PINA
+#define PA7_WPORT		PORTA
+#define PA7_DDR			DDRA
+#define PA7_PWM			NULL
+
+
+#undef PB0
+#define PB0_PIN			PINB0
+#define PB0_RPORT		PINB
+#define PB0_WPORT		PORTB
+#define PB0_DDR			DDRB
+#define PB0_PWM			NULL
+
+#undef PB1
+#define PB1_PIN			PINB1
+#define PB1_RPORT		PINB
+#define PB1_WPORT		PORTB
+#define PB1_DDR			DDRB
+#define PB1_PWM			NULL
+
+#undef PB2
+#define PB2_PIN			PINB2
+#define PB2_RPORT		PINB
+#define PB2_WPORT		PORTB
+#define PB2_DDR			DDRB
+#define PB2_PWM			NULL
+
+#undef PB3
+#define PB3_PIN			PINB3
+#define PB3_RPORT		PINB
+#define PB3_WPORT		PORTB
+#define PB3_DDR			DDRB
+#define PB3_PWM			OCR0A
+
+#undef PB4
+#define PB4_PIN			PINB4
+#define PB4_RPORT		PINB
+#define PB4_WPORT		PORTB
+#define PB4_DDR			DDRB
+#define PB4_PWM			OCR0B
+
+#undef PB5
+#define PB5_PIN			PINB5
+#define PB5_RPORT		PINB
+#define PB5_WPORT		PORTB
+#define PB5_DDR			DDRB
+#define PB5_PWM			NULL
+
+#undef PB6
+#define PB6_PIN			PINB6
+#define PB6_RPORT		PINB
+#define PB6_WPORT		PORTB
+#define PB6_DDR			DDRB
+#define PB6_PWM			NULL
+
+#undef PB7
+#define PB7_PIN			PINB7
+#define PB7_RPORT		PINB
+#define PB7_WPORT		PORTB
+#define PB7_DDR			DDRB
+#define PB7_PWM			NULL
+
+
+#undef PC0
+#define PC0_PIN			PINC0
+#define PC0_RPORT		PINC
+#define PC0_WPORT		PORTC
+#define PC0_DDR			DDRC
+#define PC0_PWM			NULL
+
+#undef PC1
+#define PC1_PIN			PINC1
+#define PC1_RPORT		PINC
+#define PC1_WPORT		PORTC
+#define PC1_DDR			DDRC
+#define PC1_PWM			NULL
+
+#undef PC2
+#define PC2_PIN			PINC2
+#define PC2_RPORT		PINC
+#define PC2_WPORT		PORTC
+#define PC2_DDR			DDRC
+#define PC2_PWM			NULL
+
+#undef PC3
+#define PC3_PIN			PINC3
+#define PC3_RPORT		PINC
+#define PC3_WPORT		PORTC
+#define PC3_DDR			DDRC
+#define PC3_PWM			NULL
+
+#undef PC4
+#define PC4_PIN			PINC4
+#define PC4_RPORT		PINC
+#define PC4_WPORT		PORTC
+#define PC4_DDR			DDRC
+#define PC4_PWM			NULL
+
+#undef PC5
+#define PC5_PIN			PINC5
+#define PC5_RPORT		PINC
+#define PC5_WPORT		PORTC
+#define PC5_DDR			DDRC
+#define PC5_PWM			NULL
+
+#undef PC6
+#define PC6_PIN			PINC6
+#define PC6_RPORT		PINC
+#define PC6_WPORT		PORTC
+#define PC6_DDR			DDRC
+#define PC6_PWM			NULL
+
+#undef PC7
+#define PC7_PIN			PINC7
+#define PC7_RPORT		PINC
+#define PC7_WPORT		PORTC
+#define PC7_DDR			DDRC
+#define PC7_PWM			NULL
+
+
+#undef PD0
+#define PD0_PIN			PIND0
+#define PD0_RPORT		PIND
+#define PD0_WPORT		PORTD
+#define PD0_DDR			DDRD
+#define PD0_PWM			NULL
+
+#undef PD1
+#define PD1_PIN			PIND1
+#define PD1_RPORT		PIND
+#define PD1_WPORT		PORTD
+#define PD1_DDR			DDRD
+#define PD1_PWM			NULL
+
+#undef PD2
+#define PD2_PIN			PIND2
+#define PD2_RPORT		PIND
+#define PD2_WPORT		PORTD
+#define PD2_DDR			DDRD
+#define PD2_PWM			NULL
+
+#undef PD3
+#define PD3_PIN			PIND3
+#define PD3_RPORT		PIND
+#define PD3_WPORT		PORTD
+#define PD3_DDR			DDRD
+#define PD3_PWM			NULL
+
+#undef PD4
+#define PD4_PIN			PIND4
+#define PD4_RPORT		PIND
+#define PD4_WPORT		PORTD
+#define PD4_DDR			DDRD
+#define PD4_PWM			NULL
+
+#undef PD5
+#define PD5_PIN			PIND5
+#define PD5_RPORT		PIND
+#define PD5_WPORT		PORTD
+#define PD5_DDR			DDRD
+#define PD5_PWM			NULL
+
+#undef PD6
+#define PD6_PIN			PIND6
+#define PD6_RPORT		PIND
+#define PD6_WPORT		PORTD
+#define PD6_DDR			DDRD
+#define PD6_PWM			OCR2B
+
+#undef PD7
+#define PD7_PIN			PIND7
+#define PD7_RPORT		PIND
+#define PD7_WPORT		PORTD
+#define PD7_DDR			DDRD
+#define PD7_PWM			OCR2A
+#endif	/*	_AVR_ATmega{644,644P,644PA}__ */
+
+#if defined (__AVR_ATmega1280__) || defined (__AVR_ATmega2560__)
+// UART
+#define	RXD					DIO0
+#define	TXD					DIO1
+
+// SPI
+#define	SCK					DIO52
+#define	MISO				DIO50
+#define	MOSI				DIO51
+#define	SS					DIO53
+
+// TWI (I2C)
+#define	SCL					DIO21
+#define	SDA					DIO20
+
+// timers and PWM
+#define	OC0A				DIO13
+#define	OC0B				DIO4
+#define	OC1A				DIO11
+#define	OC1B				DIO12
+#define	OC2A				DIO10
+#define	OC2B				DIO9
+#define	OC3A				DIO5
+#define	OC3B				DIO2
+#define	OC3C				DIO3
+#define	OC4A				DIO6
+#define	OC4B				DIO7
+#define	OC4C				DIO8
+#define	OC5A				DIO46
+#define	OC5B				DIO45
+#define	OC5C				DIO44
+
+// change for your board
+#define	DEBUG_LED		DIO21
+
+/*
+pins
+*/
+#define	DIO0_PIN		PINE0
+#define	DIO0_RPORT	PINE
+#define	DIO0_WPORT	PORTE
+#define	DIO0_DDR		DDRE
+#define DIO0_PWM		NULL
+
+#define	DIO1_PIN		PINE1
+#define	DIO1_RPORT	PINE
+#define	DIO1_WPORT	PORTE
+#define	DIO1_DDR		DDRE
+#define DIO1_PWM		NULL
+
+#define	DIO2_PIN		PINE4
+#define	DIO2_RPORT	PINE
+#define	DIO2_WPORT	PORTE
+#define	DIO2_DDR		DDRE
+#define DIO2_PWM		&OCR3BL
+
+#define	DIO3_PIN		PINE5
+#define	DIO3_RPORT	PINE
+#define	DIO3_WPORT	PORTE
+#define	DIO3_DDR		DDRE
+#define DIO3_PWM		&OCR3CL
+
+#define	DIO4_PIN		PING5
+#define	DIO4_RPORT	PING
+#define	DIO4_WPORT	PORTG
+#define	DIO4_DDR		DDRG
+#define DIO4_PWM		&OCR0B
+
+#define	DIO5_PIN		PINE3
+#define	DIO5_RPORT	PINE
+#define	DIO5_WPORT	PORTE
+#define	DIO5_DDR		DDRE
+#define DIO5_PWM		&OCR3AL
+
+#define	DIO6_PIN		PINH3
+#define	DIO6_RPORT	PINH
+#define	DIO6_WPORT	PORTH
+#define	DIO6_DDR		DDRH
+#define DIO6_PWM		&OCR4AL
+
+#define	DIO7_PIN		PINH4
+#define	DIO7_RPORT	PINH
+#define	DIO7_WPORT	PORTH
+#define	DIO7_DDR		DDRH
+#define DIO7_PWM		&OCR4BL
+
+#define	DIO8_PIN		PINH5
+#define	DIO8_RPORT	PINH
+#define	DIO8_WPORT	PORTH
+#define	DIO8_DDR		DDRH
+#define DIO8_PWM		&OCR4CL
+
+#define	DIO9_PIN		PINH6
+#define	DIO9_RPORT	PINH
+#define	DIO9_WPORT	PORTH
+#define	DIO9_DDR		DDRH
+#define DIO9_PWM		&OCR2B
+
+#define	DIO10_PIN		PINB4
+#define	DIO10_RPORT	PINB
+#define	DIO10_WPORT	PORTB
+#define	DIO10_DDR		DDRB
+#define DIO10_PWM		&OCR2A
+
+#define	DIO11_PIN		PINB5
+#define	DIO11_RPORT	PINB
+#define	DIO11_WPORT	PORTB
+#define	DIO11_DDR		DDRB
+#define DIO11_PWM		NULL
+
+#define	DIO12_PIN		PINB6
+#define	DIO12_RPORT	PINB
+#define	DIO12_WPORT	PORTB
+#define	DIO12_DDR		DDRB
+#define DIO12_PWM		NULL
+
+#define	DIO13_PIN		PINB7
+#define	DIO13_RPORT	PINB
+#define	DIO13_WPORT	PORTB
+#define	DIO13_DDR		DDRB
+#define DIO13_PWM		&OCR0A
+
+#define	DIO14_PIN		PINJ1
+#define	DIO14_RPORT	PINJ
+#define	DIO14_WPORT	PORTJ
+#define	DIO14_DDR		DDRJ
+#define DIO14_PWM		NULL
+
+#define	DIO15_PIN		PINJ0
+#define	DIO15_RPORT	PINJ
+#define	DIO15_WPORT	PORTJ
+#define	DIO15_DDR		DDRJ
+#define DIO15_PWM		NULL
+
+#define	DIO16_PIN		PINH1
+#define	DIO16_RPORT	PINH
+#define	DIO16_WPORT	PORTH
+#define	DIO16_DDR		DDRH
+#define DIO16_PWM		NULL
+
+#define	DIO17_PIN		PINH0
+#define	DIO17_RPORT	PINH
+#define	DIO17_WPORT	PORTH
+#define	DIO17_DDR		DDRH
+#define DIO17_PWM		NULL
+
+#define	DIO18_PIN		PIND3
+#define	DIO18_RPORT	PIND
+#define	DIO18_WPORT	PORTD
+#define	DIO18_DDR		DDRD
+#define DIO18_PWM		NULL
+
+#define	DIO19_PIN		PIND2
+#define	DIO19_RPORT	PIND
+#define	DIO19_WPORT	PORTD
+#define	DIO19_DDR		DDRD
+#define DIO19_PWM		NULL
+
+#define	DIO20_PIN		PIND1
+#define	DIO20_RPORT	PIND
+#define	DIO20_WPORT	PORTD
+#define	DIO20_DDR		DDRD
+#define DIO20_PWM		NULL
+
+#define	DIO21_PIN		PIND0
+#define	DIO21_RPORT	PIND
+#define	DIO21_WPORT	PORTD
+#define	DIO21_DDR		DDRD
+#define DIO21_PWM		NULL
+
+#define	DIO22_PIN		PINA0
+#define	DIO22_RPORT	PINA
+#define	DIO22_WPORT	PORTA
+#define	DIO22_DDR		DDRA
+#define DIO22_PWM		NULL
+
+#define	DIO23_PIN		PINA1
+#define	DIO23_RPORT	PINA
+#define	DIO23_WPORT	PORTA
+#define	DIO23_DDR		DDRA
+#define DIO23_PWM		NULL
+
+#define	DIO24_PIN		PINA2
+#define	DIO24_RPORT	PINA
+#define	DIO24_WPORT	PORTA
+#define	DIO24_DDR		DDRA
+#define DIO24_PWM		NULL
+
+#define	DIO25_PIN		PINA3
+#define	DIO25_RPORT	PINA
+#define	DIO25_WPORT	PORTA
+#define	DIO25_DDR		DDRA
+#define DIO25_PWM		NULL
+
+#define	DIO26_PIN		PINA4
+#define	DIO26_RPORT	PINA
+#define	DIO26_WPORT	PORTA
+#define	DIO26_DDR		DDRA
+#define DIO26_PWM		NULL
+
+#define	DIO27_PIN		PINA5
+#define	DIO27_RPORT	PINA
+#define	DIO27_WPORT	PORTA
+#define	DIO27_DDR		DDRA
+#define DIO27_PWM		NULL
+
+#define	DIO28_PIN		PINA6
+#define	DIO28_RPORT	PINA
+#define	DIO28_WPORT	PORTA
+#define	DIO28_DDR		DDRA
+#define DIO28_PWM		NULL
+
+#define	DIO29_PIN		PINA7
+#define	DIO29_RPORT	PINA
+#define	DIO29_WPORT	PORTA
+#define	DIO29_DDR		DDRA
+#define DIO29_PWM		NULL
+
+#define	DIO30_PIN		PINC7
+#define	DIO30_RPORT	PINC
+#define	DIO30_WPORT	PORTC
+#define	DIO30_DDR		DDRC
+#define DIO30_PWM		NULL
+
+#define	DIO31_PIN		PINC6
+#define	DIO31_RPORT	PINC
+#define	DIO31_WPORT	PORTC
+#define	DIO31_DDR		DDRC
+#define DIO31_PWM		NULL
+
+#define	DIO32_PIN		PINC5
+#define	DIO32_RPORT	PINC
+#define	DIO32_WPORT	PORTC
+#define	DIO32_DDR		DDRC
+#define DIO32_PWM		NULL
+
+#define	DIO33_PIN		PINC4
+#define	DIO33_RPORT	PINC
+#define	DIO33_WPORT	PORTC
+#define	DIO33_DDR		DDRC
+#define DIO33_PWM		NULL
+
+#define	DIO34_PIN		PINC3
+#define	DIO34_RPORT	PINC
+#define	DIO34_WPORT	PORTC
+#define	DIO34_DDR		DDRC
+#define DIO34_PWM		NULL
+
+#define	DIO35_PIN		PINC2
+#define	DIO35_RPORT	PINC
+#define	DIO35_WPORT	PORTC
+#define	DIO35_DDR		DDRC
+#define DIO35_PWM		NULL
+
+#define	DIO36_PIN		PINC1
+#define	DIO36_RPORT	PINC
+#define	DIO36_WPORT	PORTC
+#define	DIO36_DDR		DDRC
+#define DIO36_PWM		NULL
+
+#define	DIO37_PIN		PINC0
+#define	DIO37_RPORT	PINC
+#define	DIO37_WPORT	PORTC
+#define	DIO37_DDR		DDRC
+#define DIO37_PWM		NULL
+
+#define	DIO38_PIN		PIND7
+#define	DIO38_RPORT	PIND
+#define	DIO38_WPORT	PORTD
+#define	DIO38_DDR		DDRD
+#define DIO38_PWM		NULL
+
+#define	DIO39_PIN		PING2
+#define	DIO39_RPORT	PING
+#define	DIO39_WPORT	PORTG
+#define	DIO39_DDR		DDRG
+#define DIO39_PWM		NULL
+
+#define	DIO40_PIN		PING1
+#define	DIO40_RPORT	PING
+#define	DIO40_WPORT	PORTG
+#define	DIO40_DDR		DDRG
+#define DIO40_PWM		NULL
+
+#define	DIO41_PIN		PING0
+#define	DIO41_RPORT	PING
+#define	DIO41_WPORT	PORTG
+#define	DIO41_DDR		DDRG
+#define DIO41_PWM		NULL
+
+#define	DIO42_PIN		PINL7
+#define	DIO42_RPORT	PINL
+#define	DIO42_WPORT	PORTL
+#define	DIO42_DDR		DDRL
+#define DIO42_PWM		NULL
+
+#define	DIO43_PIN		PINL6
+#define	DIO43_RPORT	PINL
+#define	DIO43_WPORT	PORTL
+#define	DIO43_DDR		DDRL
+#define DIO43_PWM		NULL
+
+#define	DIO44_PIN		PINL5
+#define	DIO44_RPORT	PINL
+#define	DIO44_WPORT	PORTL
+#define	DIO44_DDR		DDRL
+#define DIO44_PWM		&OCR5CL
+
+#define	DIO45_PIN		PINL4
+#define	DIO45_RPORT	PINL
+#define	DIO45_WPORT	PORTL
+#define	DIO45_DDR		DDRL
+#define DIO45_PWM		&OCR5BL
+
+#define	DIO46_PIN		PINL3
+#define	DIO46_RPORT	PINL
+#define	DIO46_WPORT	PORTL
+#define	DIO46_DDR		DDRL
+#define DIO46_PWM		&OCR5AL
+
+#define	DIO47_PIN		PINL2
+#define	DIO47_RPORT	PINL
+#define	DIO47_WPORT	PORTL
+#define	DIO47_DDR		DDRL
+#define DIO47_PWM		NULL
+
+#define	DIO48_PIN		PINL1
+#define	DIO48_RPORT	PINL
+#define	DIO48_WPORT	PORTL
+#define	DIO48_DDR		DDRL
+#define DIO48_PWM		NULL
+
+#define	DIO49_PIN		PINL0
+#define	DIO49_RPORT	PINL
+#define	DIO49_WPORT	PORTL
+#define	DIO49_DDR		DDRL
+#define DIO49_PWM		NULL
+
+#define	DIO50_PIN		PINB3
+#define	DIO50_RPORT	PINB
+#define	DIO50_WPORT	PORTB
+#define	DIO50_DDR		DDRB
+#define DIO50_PWM		NULL
+
+#define	DIO51_PIN		PINB2
+#define	DIO51_RPORT	PINB
+#define	DIO51_WPORT	PORTB
+#define	DIO51_DDR		DDRB
+#define DIO51_PWM		NULL
+
+#define	DIO52_PIN		PINB1
+#define	DIO52_RPORT	PINB
+#define	DIO52_WPORT	PORTB
+#define	DIO52_DDR		DDRB
+#define DIO52_PWM		NULL
+
+#define	DIO53_PIN		PINB0
+#define	DIO53_RPORT	PINB
+#define	DIO53_WPORT	PORTB
+#define	DIO53_DDR		DDRB
+#define DIO53_PWM		NULL
+
+#define DIO54_PIN		PINF0
+#define DIO54_RPORT	PINF
+#define DIO54_WPORT	PORTF
+#define DIO54_DDR		DDRF
+#define DIO54_PWM		NULL
+
+#define DIO55_PIN		PINF1
+#define DIO55_RPORT	PINF
+#define DIO55_WPORT	PORTF
+#define DIO55_DDR		DDRF
+#define DIO55_PWM		NULL
+
+#define DIO56_PIN		PINF2
+#define DIO56_RPORT	PINF
+#define DIO56_WPORT	PORTF
+#define DIO56_DDR		DDRF
+#define DIO56_PWM		NULL
+
+#define DIO57_PIN		PINF3
+#define DIO57_RPORT	PINF
+#define DIO57_WPORT	PORTF
+#define DIO57_DDR		DDRF
+#define DIO57_PWM		NULL
+
+#define DIO58_PIN		PINF4
+#define DIO58_RPORT	PINF
+#define DIO58_WPORT	PORTF
+#define DIO58_DDR		DDRF
+#define DIO58_PWM		NULL
+
+#define DIO59_PIN		PINF5
+#define DIO59_RPORT	PINF
+#define DIO59_WPORT	PORTF
+#define DIO59_DDR		DDRF
+#define DIO59_PWM		NULL
+
+#define DIO60_PIN		PINF6
+#define DIO60_RPORT	PINF
+#define DIO60_WPORT	PORTF
+#define DIO60_DDR		DDRF
+#define DIO60_PWM		NULL
+
+#define DIO61_PIN		PINF7
+#define DIO61_RPORT	PINF
+#define DIO61_WPORT	PORTF
+#define DIO61_DDR		DDRF
+#define DIO61_PWM		NULL
+
+#define DIO62_PIN		PINK0
+#define DIO62_RPORT	PINK
+#define DIO62_WPORT	PORTK
+#define DIO62_DDR		DDRK
+#define DIO62_PWM		NULL
+
+#define DIO63_PIN		PINK1
+#define DIO63_RPORT	PINK
+#define DIO63_WPORT	PORTK
+#define DIO63_DDR		DDRK
+#define DIO63_PWM		NULL
+
+#define DIO64_PIN		PINK2
+#define DIO64_RPORT	PINK
+#define DIO64_WPORT	PORTK
+#define DIO64_DDR		DDRK
+#define DIO64_PWM		NULL
+
+#define DIO65_PIN		PINK3
+#define DIO65_RPORT	PINK
+#define DIO65_WPORT	PORTK
+#define DIO65_DDR		DDRK
+#define DIO65_PWM		NULL
+
+#define DIO66_PIN		PINK4
+#define DIO66_RPORT	PINK
+#define DIO66_WPORT	PORTK
+#define DIO66_DDR		DDRK
+#define DIO66_PWM		NULL
+
+#define DIO67_PIN		PINK5
+#define DIO67_RPORT	PINK
+#define DIO67_WPORT	PORTK
+#define DIO67_DDR		DDRK
+#define DIO67_PWM		NULL
+
+#define DIO68_PIN		PINK6
+#define DIO68_RPORT	PINK
+#define DIO68_WPORT	PORTK
+#define DIO68_DDR		DDRK
+#define DIO68_PWM		NULL
+
+#define DIO69_PIN		PINK7
+#define DIO69_RPORT	PINK
+#define DIO69_WPORT	PORTK
+#define DIO69_DDR		DDRK
+#define DIO69_PWM		NULL
+
+
+#define DIO76_PIN    PINJ5
+#define DIO76_RPORT  PINJ
+#define DIO76_WPORT  PORTJ
+#define DIO76_DDR    DDRJ
+#define DIO76_PWM    NULL
+#define DIO77_PIN    PINJ6
+#define DIO77_RPORT  PINJ
+#define DIO77_WPORT  PORTJ
+#define DIO77_DDR    DDRJ
+#define DIO77_PWM    NULL
+#define DIO78_PIN    PINE2
+#define DIO78_RPORT  PINE
+#define DIO78_WPORT  PORTE
+#define DIO78_DDR    DDRE
+#define DIO78_PWM    NULL
+#define DIO79_PIN    PINE6
+#define DIO79_RPORT  PINE
+#define DIO79_WPORT  PORTE
+#define DIO79_DDR    DDRE
+#define DIO79_PWM    NULL
+#define DIO80_PIN    PINE7
+#define DIO80_RPORT  PINE
+#define DIO80_WPORT  PORTE
+#define DIO80_DDR    DDRE
+#define DIO80_PWM    NULL
+#define DIO81_PIN    PIND4
+#define DIO81_RPORT  PIND
+#define DIO81_WPORT  PORTD
+#define DIO81_DDR    DDRD
+#define DIO81_PWM    NULL
+
+
+#define DIO70_PIN		PING4
+#define DIO70_RPORT	PING
+#define DIO70_WPORT	PORTG
+#define DIO70_DDR		DDRG
+#define DIO70_PWM		NULL
+
+#define DIO71_PIN		PING3
+#define DIO71_RPORT	PING
+#define DIO71_WPORT	PORTG
+#define DIO71_DDR		DDRG
+#define DIO71_PWM		NULL
+
+#define DIO72_PIN		PINJ2
+#define DIO72_RPORT	PINJ
+#define DIO72_WPORT	PORTJ
+#define DIO72_DDR		DDRJ
+#define DIO72_PWM		NULL
+
+#define DIO73_PIN		PINJ3
+#define DIO73_RPORT	PINJ
+#define DIO73_WPORT	PORTJ
+#define DIO73_DDR		DDRJ
+#define DIO73_PWM		NULL
+
+#define DIO74_PIN		PINJ7
+#define DIO74_RPORT	PINJ
+#define DIO74_WPORT	PORTJ
+#define DIO74_DDR		DDRJ
+#define DIO74_PWM		NULL
+
+#define DIO75_PIN		PINJ4
+#define DIO75_RPORT	PINJ
+#define DIO75_WPORT	PORTJ
+#define DIO75_DDR		DDRJ
+#define DIO75_PWM		NULL
+
+#define DIO76_PIN		PINJ5
+#define DIO76_RPORT	PINJ
+#define DIO76_WPORT	PORTJ
+#define DIO76_DDR		DDRJ
+#define DIO76_PWM		NULL
+
+#define DIO77_PIN		PINJ6
+#define DIO77_RPORT	PINJ
+#define DIO77_WPORT	PORTJ
+#define DIO77_DDR		DDRJ
+#define DIO77_PWM		NULL
+
+#define DIO78_PIN		PINE2
+#define DIO78_RPORT	PINE
+#define DIO78_WPORT	PORTE
+#define DIO78_DDR		DDRE
+#define DIO78_PWM		NULL
+
+#define DIO79_PIN		PINE6
+#define DIO79_RPORT	PINE
+#define DIO79_WPORT	PORTE
+#define DIO79_DDR		DDRE
+#define DIO79_PWM		NULL
+
+#define DIO80_PIN		PINE7
+#define DIO80_RPORT	PINE
+#define DIO80_WPORT	PORTE
+#define DIO80_DDR		DDRE
+#define DIO80_PWM		NULL
+
+#define DIO81_PIN		PIND4
+#define DIO81_RPORT	PIND
+#define DIO81_WPORT	PORTD
+#define DIO81_DDR		DDRD
+#define DIO81_PWM		NULL
+
+#define DIO82_PIN		PIND5
+#define DIO82_RPORT	PIND
+#define DIO82_WPORT	PORTD
+#define DIO82_DDR		DDRD
+#define DIO82_PWM		NULL
+
+#define DIO83_PIN		PIND6
+#define DIO83_RPORT	PIND
+#define DIO83_WPORT	PORTD
+#define DIO83_DDR		DDRD
+#define DIO83_PWM		NULL
+
+#define DIO84_PIN		PINH2
+#define DIO84_RPORT	PINH
+#define DIO84_WPORT	PORTH
+#define DIO84_DDR		DDRH
+#define DIO84_PWM		NULL
+
+#define DIO85_PIN		PINH7
+#define DIO85_RPORT	PINH
+#define DIO85_WPORT	PORTH
+#define DIO85_DDR		DDRH
+#define DIO85_PWM		NULL
+
+#undef PA0
+#define PA0_PIN			PINA0
+#define PA0_RPORT		PINA
+#define PA0_WPORT		PORTA
+#define PA0_DDR			DDRA
+#define PA0_PWM			NULL
+#undef PA1
+#define PA1_PIN			PINA1
+#define PA1_RPORT		PINA
+#define PA1_WPORT		PORTA
+#define PA1_DDR			DDRA
+#define PA1_PWM			NULL
+#undef PA2
+#define PA2_PIN			PINA2
+#define PA2_RPORT		PINA
+#define PA2_WPORT		PORTA
+#define PA2_DDR			DDRA
+#define PA2_PWM			NULL
+#undef PA3
+#define PA3_PIN			PINA3
+#define PA3_RPORT		PINA
+#define PA3_WPORT		PORTA
+#define PA3_DDR			DDRA
+#define PA3_PWM			NULL
+#undef PA4
+#define PA4_PIN			PINA4
+#define PA4_RPORT		PINA
+#define PA4_WPORT		PORTA
+#define PA4_DDR			DDRA
+#define PA4_PWM			NULL
+#undef PA5
+#define PA5_PIN			PINA5
+#define PA5_RPORT		PINA
+#define PA5_WPORT		PORTA
+#define PA5_DDR			DDRA
+#define PA5_PWM			NULL
+#undef PA6
+#define PA6_PIN			PINA6
+#define PA6_RPORT		PINA
+#define PA6_WPORT		PORTA
+#define PA6_DDR			DDRA
+#define PA6_PWM			NULL
+#undef PA7
+#define PA7_PIN			PINA7
+#define PA7_RPORT		PINA
+#define PA7_WPORT		PORTA
+#define PA7_DDR			DDRA
+#define PA7_PWM			NULL
+
+#undef PB0
+#define PB0_PIN			PINB0
+#define PB0_RPORT		PINB
+#define PB0_WPORT		PORTB
+#define PB0_DDR			DDRB
+#define PB0_PWM			NULL
+#undef PB1
+#define PB1_PIN			PINB1
+#define PB1_RPORT		PINB
+#define PB1_WPORT		PORTB
+#define PB1_DDR			DDRB
+#define PB1_PWM			NULL
+#undef PB2
+#define PB2_PIN			PINB2
+#define PB2_RPORT		PINB
+#define PB2_WPORT		PORTB
+#define PB2_DDR			DDRB
+#define PB2_PWM			NULL
+#undef PB3
+#define PB3_PIN			PINB3
+#define PB3_RPORT		PINB
+#define PB3_WPORT		PORTB
+#define PB3_DDR			DDRB
+#define PB3_PWM			NULL
+#undef PB4
+#define PB4_PIN			PINB4
+#define PB4_RPORT		PINB
+#define PB4_WPORT		PORTB
+#define PB4_DDR			DDRB
+#define PB4_PWM			&OCR2A
+#undef PB5
+#define PB5_PIN			PINB5
+#define PB5_RPORT		PINB
+#define PB5_WPORT		PORTB
+#define PB5_DDR			DDRB
+#define PB5_PWM			NULL
+#undef PB6
+#define PB6_PIN			PINB6
+#define PB6_RPORT		PINB
+#define PB6_WPORT		PORTB
+#define PB6_DDR			DDRB
+#define PB6_PWM			NULL
+#undef PB7
+#define PB7_PIN			PINB7
+#define PB7_RPORT		PINB
+#define PB7_WPORT		PORTB
+#define PB7_DDR			DDRB
+#define PB7_PWM			&OCR0A
+
+#undef PC0
+#define PC0_PIN			PINC0
+#define PC0_RPORT		PINC
+#define PC0_WPORT		PORTC
+#define PC0_DDR			DDRC
+#define PC0_PWM			NULL
+#undef PC1
+#define PC1_PIN			PINC1
+#define PC1_RPORT		PINC
+#define PC1_WPORT		PORTC
+#define PC1_DDR			DDRC
+#define PC1_PWM			NULL
+#undef PC2
+#define PC2_PIN			PINC2
+#define PC2_RPORT		PINC
+#define PC2_WPORT		PORTC
+#define PC2_DDR			DDRC
+#define PC2_PWM			NULL
+#undef PC3
+#define PC3_PIN			PINC3
+#define PC3_RPORT		PINC
+#define PC3_WPORT		PORTC
+#define PC3_DDR			DDRC
+#define PC3_PWM			NULL
+#undef PC4
+#define PC4_PIN			PINC4
+#define PC4_RPORT		PINC
+#define PC4_WPORT		PORTC
+#define PC4_DDR			DDRC
+#define PC4_PWM			NULL
+#undef PC5
+#define PC5_PIN			PINC5
+#define PC5_RPORT		PINC
+#define PC5_WPORT		PORTC
+#define PC5_DDR			DDRC
+#define PC5_PWM			NULL
+#undef PC6
+#define PC6_PIN			PINC6
+#define PC6_RPORT		PINC
+#define PC6_WPORT		PORTC
+#define PC6_DDR			DDRC
+#define PC6_PWM			NULL
+#undef PC7
+#define PC7_PIN			PINC7
+#define PC7_RPORT		PINC
+#define PC7_WPORT		PORTC
+#define PC7_DDR			DDRC
+#define PC7_PWM			NULL
+
+#undef PD0
+#define PD0_PIN			PIND0
+#define PD0_RPORT		PIND
+#define PD0_WPORT		PORTD
+#define PD0_DDR			DDRD
+#define PD0_PWM			NULL
+#undef PD1
+#define PD1_PIN			PIND1
+#define PD1_RPORT		PIND
+#define PD1_WPORT		PORTD
+#define PD1_DDR			DDRD
+#define PD1_PWM			NULL
+#undef PD2
+#define PD2_PIN			PIND2
+#define PD2_RPORT		PIND
+#define PD2_WPORT		PORTD
+#define PD2_DDR			DDRD
+#define PD2_PWM			NULL
+#undef PD3
+#define PD3_PIN			PIND3
+#define PD3_RPORT		PIND
+#define PD3_WPORT		PORTD
+#define PD3_DDR			DDRD
+#define PD3_PWM			NULL
+#undef PD4
+#define PD4_PIN			PIND4
+#define PD4_RPORT		PIND
+#define PD4_WPORT		PORTD
+#define PD4_DDR			DDRD
+#define PD4_PWM			NULL
+#undef PD5
+#define PD5_PIN			PIND5
+#define PD5_RPORT		PIND
+#define PD5_WPORT		PORTD
+#define PD5_DDR			DDRD
+#define PD5_PWM			NULL
+#undef PD6
+#define PD6_PIN			PIND6
+#define PD6_RPORT		PIND
+#define PD6_WPORT		PORTD
+#define PD6_DDR			DDRD
+#define PD6_PWM			NULL
+#undef PD7
+#define PD7_PIN			PIND7
+#define PD7_RPORT		PIND
+#define PD7_WPORT		PORTD
+#define PD7_DDR			DDRD
+#define PD7_PWM			NULL
+
+#undef PE0
+#define PE0_PIN			PINE0
+#define PE0_RPORT		PINE
+#define PE0_WPORT		PORTE
+#define PE0_DDR			DDRE
+#define PE0_PWM			NULL
+#undef PE1
+#define PE1_PIN			PINE1
+#define PE1_RPORT		PINE
+#define PE1_WPORT		PORTE
+#define PE1_DDR			DDRE
+#define PE1_PWM			NULL
+#undef PE2
+#define PE2_PIN			PINE2
+#define PE2_RPORT		PINE
+#define PE2_WPORT		PORTE
+#define PE2_DDR			DDRE
+#define PE2_PWM			NULL
+#undef PE3
+#define PE3_PIN			PINE3
+#define PE3_RPORT		PINE
+#define PE3_WPORT		PORTE
+#define PE3_DDR			DDRE
+#define PE3_PWM			&OCR3AL
+#undef PE4
+#define PE4_PIN			PINE4
+#define PE4_RPORT		PINE
+#define PE4_WPORT		PORTE
+#define PE4_DDR			DDRE
+#define PE4_PWM			&OCR3BL
+#undef PE5
+#define PE5_PIN			PINE5
+#define PE5_RPORT		PINE
+#define PE5_WPORT		PORTE
+#define PE5_DDR			DDRE
+#define PE5_PWM			&OCR3CL
+#undef PE6
+#define PE6_PIN			PINE6
+#define PE6_RPORT		PINE
+#define PE6_WPORT		PORTE
+#define PE6_DDR			DDRE
+#define PE6_PWM			NULL
+#undef PE7
+#define PE7_PIN			PINE7
+#define PE7_RPORT		PINE
+#define PE7_WPORT		PORTE
+#define PE7_DDR			DDRE
+#define PE7_PWM			NULL
+
+#undef PF0
+#define PF0_PIN			PINF0
+#define PF0_RPORT		PINF
+#define PF0_WPORT		PORTF
+#define PF0_DDR			DDRF
+#define PF0_PWM			NULL
+#undef PF1
+#define PF1_PIN			PINF1
+#define PF1_RPORT		PINF
+#define PF1_WPORT		PORTF
+#define PF1_DDR			DDRF
+#define PF1_PWM			NULL
+#undef PF2
+#define PF2_PIN			PINF2
+#define PF2_RPORT		PINF
+#define PF2_WPORT		PORTF
+#define PF2_DDR			DDRF
+#define PF2_PWM			NULL
+#undef PF3
+#define PF3_PIN			PINF3
+#define PF3_RPORT		PINF
+#define PF3_WPORT		PORTF
+#define PF3_DDR			DDRF
+#define PF3_PWM			NULL
+#undef PF4
+#define PF4_PIN			PINF4
+#define PF4_RPORT		PINF
+#define PF4_WPORT		PORTF
+#define PF4_DDR			DDRF
+#define PF4_PWM			NULL
+#undef PF5
+#define PF5_PIN			PINF5
+#define PF5_RPORT		PINF
+#define PF5_WPORT		PORTF
+#define PF5_DDR			DDRF
+#define PF5_PWM			NULL
+#undef PF6
+#define PF6_PIN			PINF6
+#define PF6_RPORT		PINF
+#define PF6_WPORT		PORTF
+#define PF6_DDR			DDRF
+#define PF6_PWM			NULL
+#undef PF7
+#define PF7_PIN			PINF7
+#define PF7_RPORT		PINF
+#define PF7_WPORT		PORTF
+#define PF7_DDR			DDRF
+#define PF7_PWM			NULL
+
+#undef PG0
+#define PG0_PIN			PING0
+#define PG0_RPORT		PING
+#define PG0_WPORT		PORTG
+#define PG0_DDR			DDRG
+#define PG0_PWM			NULL
+#undef PG1
+#define PG1_PIN			PING1
+#define PG1_RPORT		PING
+#define PG1_WPORT		PORTG
+#define PG1_DDR			DDRG
+#define PG1_PWM			NULL
+#undef PG2
+#define PG2_PIN			PING2
+#define PG2_RPORT		PING
+#define PG2_WPORT		PORTG
+#define PG2_DDR			DDRG
+#define PG2_PWM			NULL
+#undef PG3
+#define PG3_PIN			PING3
+#define PG3_RPORT		PING
+#define PG3_WPORT		PORTG
+#define PG3_DDR			DDRG
+#define PG3_PWM			NULL
+#undef PG4
+#define PG4_PIN			PING4
+#define PG4_RPORT		PING
+#define PG4_WPORT		PORTG
+#define PG4_DDR			DDRG
+#define PG4_PWM			NULL
+#undef PG5
+#define PG5_PIN			PING5
+#define PG5_RPORT		PING
+#define PG5_WPORT		PORTG
+#define PG5_DDR			DDRG
+#define PG5_PWM			&OCR0B
+#undef PG6
+#define PG6_PIN			PING6
+#define PG6_RPORT		PING
+#define PG6_WPORT		PORTG
+#define PG6_DDR			DDRG
+#define PG6_PWM			NULL
+#undef PG7
+#define PG7_PIN			PING7
+#define PG7_RPORT		PING
+#define PG7_WPORT		PORTG
+#define PG7_DDR			DDRG
+#define PG7_PWM			NULL
+
+#undef PH0
+#define PH0_PIN			PINH0
+#define PH0_RPORT		PINH
+#define PH0_WPORT		PORTH
+#define PH0_DDR			DDRH
+#define PH0_PWM			NULL
+#undef PH1
+#define PH1_PIN			PINH1
+#define PH1_RPORT		PINH
+#define PH1_WPORT		PORTH
+#define PH1_DDR			DDRH
+#define PH1_PWM			NULL
+#undef PH2
+#define PH2_PIN			PINH2
+#define PH2_RPORT		PINH
+#define PH2_WPORT		PORTH
+#define PH2_DDR			DDRH
+#define PH2_PWM			NULL
+#undef PH3
+#define PH3_PIN			PINH3
+#define PH3_RPORT		PINH
+#define PH3_WPORT		PORTH
+#define PH3_DDR			DDRH
+#define PH3_PWM			&OCR4AL
+#undef PH4
+#define PH4_PIN			PINH4
+#define PH4_RPORT		PINH
+#define PH4_WPORT		PORTH
+#define PH4_DDR			DDRH
+#define PH4_PWM			&OCR4BL
+#undef PH5
+#define PH5_PIN			PINH5
+#define PH5_RPORT		PINH
+#define PH5_WPORT		PORTH
+#define PH5_DDR			DDRH
+#define PH5_PWM			&OCR4CL
+#undef PH6
+#define PH6_PIN			PINH6
+#define PH6_RPORT		PINH
+#define PH6_WPORT		PORTH
+#define PH6_DDR			DDRH
+#define PH6_PWM			&OCR2B
+#undef PH7
+#define PH7_PIN			PINH7
+#define PH7_RPORT		PINH
+#define PH7_WPORT		PORTH
+#define PH7_DDR			DDRH
+#define PH7_PWM			NULL
+
+#undef PJ0
+#define PJ0_PIN			PINJ0
+#define PJ0_RPORT		PINJ
+#define PJ0_WPORT		PORTJ
+#define PJ0_DDR			DDRJ
+#define PJ0_PWM			NULL
+#undef PJ1
+#define PJ1_PIN			PINJ1
+#define PJ1_RPORT		PINJ
+#define PJ1_WPORT		PORTJ
+#define PJ1_DDR			DDRJ
+#define PJ1_PWM			NULL
+#undef PJ2
+#define PJ2_PIN			PINJ2
+#define PJ2_RPORT		PINJ
+#define PJ2_WPORT		PORTJ
+#define PJ2_DDR			DDRJ
+#define PJ2_PWM			NULL
+#undef PJ3
+#define PJ3_PIN			PINJ3
+#define PJ3_RPORT		PINJ
+#define PJ3_WPORT		PORTJ
+#define PJ3_DDR			DDRJ
+#define PJ3_PWM			NULL
+#undef PJ4
+#define PJ4_PIN			PINJ4
+#define PJ4_RPORT		PINJ
+#define PJ4_WPORT		PORTJ
+#define PJ4_DDR			DDRJ
+#define PJ4_PWM			NULL
+#undef PJ5
+#define PJ5_PIN			PINJ5
+#define PJ5_RPORT		PINJ
+#define PJ5_WPORT		PORTJ
+#define PJ5_DDR			DDRJ
+#define PJ5_PWM			NULL
+#undef PJ6
+#define PJ6_PIN			PINJ6
+#define PJ6_RPORT		PINJ
+#define PJ6_WPORT		PORTJ
+#define PJ6_DDR			DDRJ
+#define PJ6_PWM			NULL
+#undef PJ7
+#define PJ7_PIN			PINJ7
+#define PJ7_RPORT		PINJ
+#define PJ7_WPORT		PORTJ
+#define PJ7_DDR			DDRJ
+#define PJ7_PWM			NULL
+
+#undef PK0
+#define PK0_PIN			PINK0
+#define PK0_RPORT		PINK
+#define PK0_WPORT		PORTK
+#define PK0_DDR			DDRK
+#define PK0_PWM			NULL
+#undef PK1
+#define PK1_PIN			PINK1
+#define PK1_RPORT		PINK
+#define PK1_WPORT		PORTK
+#define PK1_DDR			DDRK
+#define PK1_PWM			NULL
+#undef PK2
+#define PK2_PIN			PINK2
+#define PK2_RPORT		PINK
+#define PK2_WPORT		PORTK
+#define PK2_DDR			DDRK
+#define PK2_PWM			NULL
+#undef PK3
+#define PK3_PIN			PINK3
+#define PK3_RPORT		PINK
+#define PK3_WPORT		PORTK
+#define PK3_DDR			DDRK
+#define PK3_PWM			NULL
+#undef PK4
+#define PK4_PIN			PINK4
+#define PK4_RPORT		PINK
+#define PK4_WPORT		PORTK
+#define PK4_DDR			DDRK
+#define PK4_PWM			NULL
+#undef PK5
+#define PK5_PIN			PINK5
+#define PK5_RPORT		PINK
+#define PK5_WPORT		PORTK
+#define PK5_DDR			DDRK
+#define PK5_PWM			NULL
+#undef PK6
+#define PK6_PIN			PINK6
+#define PK6_RPORT		PINK
+#define PK6_WPORT		PORTK
+#define PK6_DDR			DDRK
+#define PK6_PWM			NULL
+#undef PK7
+#define PK7_PIN			PINK7
+#define PK7_RPORT		PINK
+#define PK7_WPORT		PORTK
+#define PK7_DDR			DDRK
+#define PK7_PWM			NULL
+
+#undef PL0
+#define PL0_PIN			PINL0
+#define PL0_RPORT		PINL
+#define PL0_WPORT		PORTL
+#define PL0_DDR			DDRL
+#define PL0_PWM			NULL
+#undef PL1
+#define PL1_PIN			PINL1
+#define PL1_RPORT		PINL
+#define PL1_WPORT		PORTL
+#define PL1_DDR			DDRL
+#define PL1_PWM			NULL
+#undef PL2
+#define PL2_PIN			PINL2
+#define PL2_RPORT		PINL
+#define PL2_WPORT		PORTL
+#define PL2_DDR			DDRL
+#define PL2_PWM			NULL
+#undef PL3
+#define PL3_PIN			PINL3
+#define PL3_RPORT		PINL
+#define PL3_WPORT		PORTL
+#define PL3_DDR			DDRL
+#define PL3_PWM			&OCR5AL
+#undef PL4
+#define PL4_PIN			PINL4
+#define PL4_RPORT		PINL
+#define PL4_WPORT		PORTL
+#define PL4_DDR			DDRL
+#define PL4_PWM			&OCR5BL
+#undef PL5
+#define PL5_PIN			PINL5
+#define PL5_RPORT		PINL
+#define PL5_WPORT		PORTL
+#define PL5_DDR			DDRL
+#define PL5_PWM			&OCR5CL
+#undef PL6
+#define PL6_PIN			PINL6
+#define PL6_RPORT		PINL
+#define PL6_WPORT		PORTL
+#define PL6_DDR			DDRL
+#define PL6_PWM			NULL
+#undef PL7
+#define PL7_PIN			PINL7
+#define PL7_RPORT		PINL
+#define PL7_WPORT		PORTL
+#define PL7_DDR			DDRL
+#define PL7_PWM			NULL
+
+#endif
+
+#if defined (__AVR_AT90USB1287__) || defined (__AVR_AT90USB1286__) || defined (__AVR_AT90USB646__) || defined(__AVR_AT90USB647__)
+// SPI
+#define	SCK					DIO9
+#define	MISO				DIO11
+#define	MOSI				DIO10
+#define	SS					DIO8
+
+// change for your board
+#define	DEBUG_LED		DIO31 /* led D5 red */
+
+/*
+pins
+*/
+
+//#define AT90USBxx_TEENSYPP_ASSIGNMENTS // Use Teensy++ 2.0 assignments 
+#ifndef AT90USBxx_TEENSYPP_ASSIGNMENTS // Use traditional Marlin pin assignments
+
+#define DIO0_PIN        PINA0
+#define DIO0_RPORT      PINA
+#define DIO0_WPORT      PORTA
+#define DIO0_PWM			NULL
+#define DIO0_DDR        DDRA
+
+#define DIO1_PIN        PINA1
+#define DIO1_RPORT      PINA
+#define DIO1_WPORT      PORTA
+#define DIO1_PWM			NULL
+#define DIO1_DDR        DDRA
+
+#define DIO2_PIN        PINA2
+#define DIO2_RPORT      PINA
+#define DIO2_WPORT      PORTA
+#define DIO2_PWM			NULL
+#define DIO2_DDR        DDRA
+
+#define DIO3_PIN        PINA3
+#define DIO3_RPORT      PINA
+#define DIO3_WPORT      PORTA
+#define DIO3_PWM			NULL
+#define DIO3_DDR        DDRA
+
+#define DIO4_PIN        PINA4
+#define DIO4_RPORT      PINA
+#define DIO4_WPORT      PORTA
+#define DIO4_PWM			NULL
+#define DIO4_DDR        DDRA
+
+#define DIO5_PIN        PINA5
+#define DIO5_RPORT      PINA
+#define DIO5_WPORT      PORTA
+#define DIO5_PWM			NULL
+#define DIO5_DDR        DDRA
+
+#define DIO6_PIN        PINA6
+#define DIO6_RPORT      PINA
+#define DIO6_WPORT      PORTA
+#define DIO6_PWM			NULL
+#define DIO6_DDR        DDRA
+
+#define DIO7_PIN        PINA7
+#define DIO7_RPORT      PINA
+#define DIO7_WPORT      PORTA
+#define DIO7_PWM			NULL
+#define DIO7_DDR        DDRA
+
+#define DIO8_PIN        PINB0
+#define DIO8_RPORT      PINB
+#define DIO8_WPORT      PORTB
+#define DIO8_PWM			NULL
+#define DIO8_DDR        DDRB
+
+#define DIO9_PIN        PINB1
+#define DIO9_RPORT      PINB
+#define DIO9_WPORT      PORTB
+#define DIO9_PWM			NULL
+#define DIO9_DDR        DDRB
+
+#define DIO10_PIN       PINB2
+#define DIO10_RPORT     PINB
+#define DIO10_WPORT     PORTB
+#define DIO10_PWM			NULL
+#define DIO10_DDR       DDRB
+
+#define DIO11_PIN       PINB3
+#define DIO11_RPORT     PINB
+#define DIO11_WPORT     PORTB
+#define DIO11_PWM			NULL
+#define DIO11_DDR       DDRB
+
+#define DIO12_PIN       PINB4
+#define DIO12_RPORT     PINB
+#define DIO12_WPORT     PORTB
+#define DIO12_PWM			NULL
+#define DIO12_DDR       DDRB
+
+#define DIO13_PIN       PINB5
+#define DIO13_RPORT     PINB
+#define DIO13_WPORT     PORTB
+#define DIO13_PWM			NULL
+#define DIO13_DDR       DDRB
+
+#define DIO14_PIN       PINB6
+#define DIO14_RPORT     PINB
+#define DIO14_WPORT     PORTB
+#define DIO14_PWM			NULL
+#define DIO14_DDR       DDRB
+
+#define DIO15_PIN       PINB7
+#define DIO15_RPORT     PINB
+#define DIO15_WPORT     PORTB
+#define DIO15_PWM			NULL
+#define DIO15_DDR       DDRB
+
+#define DIO16_PIN       PINC0
+#define DIO16_RPORT     PINC
+#define DIO16_WPORT     PORTC
+#define DIO16_PWM			NULL
+#define DIO16_DDR       DDRC
+
+#define DIO17_PIN       PINC1
+#define DIO17_RPORT     PINC
+#define DIO17_WPORT     PORTC
+#define DIO17_PWM			NULL
+#define DIO17_DDR       DDRC
+
+#define DIO18_PIN       PINC2
+#define DIO18_RPORT     PINC
+#define DIO18_WPORT     PORTC
+#define DIO18_PWM			NULL
+#define DIO18_DDR       DDRC
+
+#define DIO19_PIN       PINC3
+#define DIO19_RPORT     PINC
+#define DIO19_WPORT     PORTC
+#define DIO19_PWM			NULL
+#define DIO19_DDR       DDRC
+
+#define DIO20_PIN       PINC4
+#define DIO20_RPORT     PINC
+#define DIO20_WPORT     PORTC
+#define DIO20_PWM			NULL
+#define DIO20_DDR       DDRC
+
+#define DIO21_PIN       PINC5
+#define DIO21_RPORT     PINC
+#define DIO21_WPORT     PORTC
+#define DIO21_PWM			NULL
+#define DIO21_DDR       DDRC
+
+#define DIO22_PIN       PINC6
+#define DIO22_RPORT     PINC
+#define DIO22_WPORT     PORTC
+#define DIO22_PWM			NULL
+#define DIO22_DDR       DDRC
+
+#define DIO23_PIN       PINC7
+#define DIO23_RPORT     PINC
+#define DIO23_WPORT     PORTC
+#define DIO23_PWM			NULL
+#define DIO23_DDR       DDRC
+
+#define DIO24_PIN       PIND0
+#define DIO24_RPORT     PIND
+#define DIO24_WPORT     PORTD
+#define DIO24_PWM			NULL
+#define DIO24_DDR       DDRD
+
+#define DIO25_PIN       PIND1
+#define DIO25_RPORT     PIND
+#define DIO25_WPORT     PORTD
+#define DIO25_PWM			NULL
+#define DIO25_DDR       DDRD
+
+#define DIO26_PIN       PIND2
+#define DIO26_RPORT     PIND
+#define DIO26_WPORT     PORTD
+#define DIO26_PWM			NULL
+#define DIO26_DDR       DDRD
+
+#define DIO27_PIN       PIND3
+#define DIO27_RPORT     PIND
+#define DIO27_WPORT     PORTD
+#define DIO27_PWM			NULL
+#define DIO27_DDR       DDRD
+
+#define DIO28_PIN       PIND4
+#define DIO28_RPORT     PIND
+#define DIO28_WPORT     PORTD
+#define DIO28_PWM			NULL
+#define DIO28_DDR       DDRD
+
+#define DIO29_PIN       PIND5
+#define DIO29_RPORT     PIND
+#define DIO29_WPORT     PORTD
+#define DIO29_PWM			NULL
+#define DIO29_DDR       DDRD
+
+#define DIO30_PIN       PIND6
+#define DIO30_RPORT     PIND
+#define DIO30_WPORT     PORTD
+#define DIO30_PWM			NULL
+#define DIO30_DDR       DDRD
+
+#define DIO31_PIN       PIND7
+#define DIO31_RPORT     PIND
+#define DIO31_WPORT     PORTD
+#define DIO31_PWM			NULL
+#define DIO31_DDR       DDRD
+
+
+#define DIO32_PIN       PINE0
+#define DIO32_RPORT     PINE
+#define DIO32_WPORT     PORTE
+#define DIO32_PWM			NULL
+#define DIO32_DDR       DDRE
+
+#define DIO33_PIN       PINE1
+#define DIO33_RPORT     PINE
+#define DIO33_WPORT     PORTE
+#define DIO33_PWM			NULL
+#define DIO33_DDR       DDRE
+
+#define DIO34_PIN       PINE2
+#define DIO34_RPORT     PINE
+#define DIO34_WPORT     PORTE
+#define DIO34_PWM			NULL
+#define DIO34_DDR       DDRE
+
+#define DIO35_PIN       PINE3
+#define DIO35_RPORT     PINE
+#define DIO35_WPORT     PORTE
+#define DIO35_PWM			NULL
+#define DIO35_DDR       DDRE
+
+#define DIO36_PIN       PINE4
+#define DIO36_RPORT     PINE
+#define DIO36_WPORT     PORTE
+#define DIO36_PWM			NULL
+#define DIO36_DDR       DDRE
+
+#define DIO37_PIN       PINE5
+#define DIO37_RPORT     PINE
+#define DIO37_WPORT     PORTE
+#define DIO37_PWM			NULL
+#define DIO37_DDR       DDRE
+
+#define DIO38_PIN       PINE6
+#define DIO38_RPORT     PINE
+#define DIO38_WPORT     PORTE
+#define DIO38_PWM			NULL
+#define DIO38_DDR       DDRE
+
+#define DIO39_PIN       PINE7
+#define DIO39_RPORT     PINE
+#define DIO39_WPORT     PORTE
+#define DIO39_PWM			NULL
+#define DIO39_DDR       DDRE
+
+#define AIO0_PIN PINF0
+#define AIO0_RPORT PINF
+#define AIO0_WPORT PORTF
+#define AIO0_PWM			NULL
+#define AIO0_DDR DDRF
+
+#define AIO1_PIN PINF1
+#define AIO1_RPORT PINF
+#define AIO1_WPORT PORTF
+#define AIO1_PWM			NULL
+#define AIO1_DDR DDRF
+
+#define AIO2_PIN PINF2
+#define AIO2_RPORT PINF
+#define AIO2_WPORT PORTF
+#define AIO2_PWM			NULL
+#define AIO2_DDR DDRF
+
+#define AIO3_PIN PINF3
+#define AIO3_RPORT PINF
+#define AIO3_WPORT PORTF
+#define AIO3_PWM			NULL
+#define AIO3_DDR DDRF
+
+#define AIO4_PIN PINF4
+#define AIO4_RPORT PINF
+#define AIO4_WPORT PORTF
+#define AIO4_PWM			NULL
+#define AIO4_DDR DDRF
+
+#define AIO5_PIN PINF5
+#define AIO5_RPORT PINF
+#define AIO5_WPORT PORTF
+#define AIO5_PWM			NULL
+#define AIO5_DDR DDRF
+
+#define AIO6_PIN PINF6
+#define AIO6_RPORT PINF
+#define AIO6_WPORT PORTF
+#define AIO6_PWM			NULL
+#define AIO6_DDR DDRF
+
+#define AIO7_PIN PINF7
+#define AIO7_RPORT PINF
+#define AIO7_WPORT PORTF
+#define AIO7_PWM			NULL
+#define AIO7_DDR DDRF
+
+#define DIO40_PIN       PINF0
+#define DIO40_RPORT     PINF
+#define DIO40_WPORT     PORTF
+#define DIO40_PWM			NULL
+#define DIO40_DDR       DDRF
+
+#define DIO41_PIN       PINF1
+#define DIO41_RPORT     PINF
+#define DIO41_WPORT     PORTF
+#define DIO41_PWM			NULL
+#define DIO41_DDR       DDRF
+
+#define DIO42_PIN       PINF2
+#define DIO42_RPORT     PINF
+#define DIO42_WPORT     PORTF
+#define DIO42_PWM			NULL
+#define DIO42_DDR       DDRF
+
+#define DIO43_PIN       PINF3
+#define DIO43_RPORT     PINF
+#define DIO43_WPORT     PORTF
+#define DIO43_PWM			NULL
+#define DIO43_DDR       DDRF
+
+#define DIO44_PIN       PINF4
+#define DIO44_RPORT     PINF
+#define DIO44_WPORT     PORTF
+#define DIO44_PWM			NULL
+#define DIO44_DDR       DDRF
+
+#define DIO45_PIN       PINF5
+#define DIO45_RPORT     PINF
+#define DIO45_WPORT     PORTF
+#define DIO45_PWM			NULL
+#define DIO45_DDR       DDRF
+
+#define DIO46_PIN       PINF6
+#define DIO46_RPORT     PINF
+#define DIO46_WPORT     PORTF
+#define DIO46_PWM			NULL
+#define DIO46_DDR       DDRF
+
+#define DIO47_PIN       PINF7
+#define DIO47_RPORT     PINF
+#define DIO47_WPORT     PORTF
+#define DIO47_PWM			NULL
+#define DIO47_DDR       DDRF
+
+
+
+#undef PA0
+#define PA0_PIN			PINA0
+#define PA0_RPORT		PINA
+#define PA0_WPORT		PORTA
+#define PA0_PWM			NULL
+#define PA0_DDR			DDRA
+#undef PA1
+#define PA1_PIN			PINA1
+#define PA1_RPORT		PINA
+#define PA1_WPORT		PORTA
+#define PA1_PWM			NULL
+#define PA1_DDR			DDRA
+#undef PA2
+#define PA2_PIN			PINA2
+#define PA2_RPORT		PINA
+#define PA2_WPORT		PORTA
+#define PA2_PWM			NULL
+#define PA2_DDR			DDRA
+#undef PA3
+#define PA3_PIN			PINA3
+#define PA3_RPORT		PINA
+#define PA3_WPORT		PORTA
+#define PA3_PWM			NULL
+#define PA3_DDR			DDRA
+#undef PA4
+#define PA4_PIN			PINA4
+#define PA4_RPORT		PINA
+#define PA4_WPORT		PORTA
+#define PA4_PWM			NULL
+#define PA4_DDR			DDRA
+#undef PA5
+#define PA5_PIN			PINA5
+#define PA5_RPORT		PINA
+#define PA5_WPORT		PORTA
+#define PA5_PWM			NULL
+#define PA5_DDR			DDRA
+#undef PA6
+#define PA6_PIN			PINA6
+#define PA6_RPORT		PINA
+#define PA6_WPORT		PORTA
+#define PA6_PWM			NULL
+#define PA6_DDR			DDRA
+#undef PA7
+#define PA7_PIN			PINA7
+#define PA7_RPORT		PINA
+#define PA7_WPORT		PORTA
+#define PA7_PWM			NULL
+#define PA7_DDR			DDRA
+
+#undef PB0
+#define PB0_PIN			PINB0
+#define PB0_RPORT		PINB
+#define PB0_WPORT		PORTB
+#define PB0_PWM			NULL
+#define PB0_DDR			DDRB
+#undef PB1
+#define PB1_PIN			PINB1
+#define PB1_RPORT		PINB
+#define PB1_WPORT		PORTB
+#define PB1_PWM			NULL
+#define PB1_DDR			DDRB
+#undef PB2
+#define PB2_PIN			PINB2
+#define PB2_RPORT		PINB
+#define PB2_WPORT		PORTB
+#define PB2_PWM			NULL
+#define PB2_DDR			DDRB
+#undef PB3
+#define PB3_PIN			PINB3
+#define PB3_RPORT		PINB
+#define PB3_WPORT		PORTB
+#define PB3_PWM			NULL
+#define PB3_DDR			DDRB
+#undef PB4
+#define PB4_PIN			PINB4
+#define PB4_RPORT		PINB
+#define PB4_WPORT		PORTB
+#define PB4_PWM			NULL
+#define PB4_DDR			DDRB
+#undef PB5
+#define PB5_PIN			PINB5
+#define PB5_RPORT		PINB
+#define PB5_WPORT		PORTB
+#define PB5_PWM			NULL
+#define PB5_DDR			DDRB
+#undef PB6
+#define PB6_PIN			PINB6
+#define PB6_RPORT		PINB
+#define PB6_WPORT		PORTB
+#define PB6_PWM			NULL
+#define PB6_DDR			DDRB
+#undef PB7
+#define PB7_PIN			PINB7
+#define PB7_RPORT		PINB
+#define PB7_WPORT		PORTB
+#define PB7_PWM			NULL
+#define PB7_DDR			DDRB
+
+#undef PC0
+#define PC0_PIN			PINC0
+#define PC0_RPORT		PINC
+#define PC0_WPORT		PORTC
+#define PC0_PWM			NULL
+#define PC0_DDR			DDRC
+#undef PC1
+#define PC1_PIN			PINC1
+#define PC1_RPORT		PINC
+#define PC1_WPORT		PORTC
+#define PC1_PWM			NULL
+#define PC1_DDR			DDRC
+#undef PC2
+#define PC2_PIN			PINC2
+#define PC2_RPORT		PINC
+#define PC2_WPORT		PORTC
+#define PC2_PWM			NULL
+#define PC2_DDR			DDRC
+#undef PC3
+#define PC3_PIN			PINC3
+#define PC3_RPORT		PINC
+#define PC3_WPORT		PORTC
+#define PC3_PWM			NULL
+#define PC3_DDR			DDRC
+#undef PC4
+#define PC4_PIN			PINC4
+#define PC4_RPORT		PINC
+#define PC4_WPORT		PORTC
+#define PC4_PWM			NULL
+#define PC4_DDR			DDRC
+#undef PC5
+#define PC5_PIN			PINC5
+#define PC5_RPORT		PINC
+#define PC5_WPORT		PORTC
+#define PC5_PWM			NULL
+#define PC5_DDR			DDRC
+#undef PC6
+#define PC6_PIN			PINC6
+#define PC6_RPORT		PINC
+#define PC6_WPORT		PORTC
+#define PC6_PWM			NULL
+#define PC6_DDR			DDRC
+#undef PC7
+#define PC7_PIN			PINC7
+#define PC7_RPORT		PINC
+#define PC7_WPORT		PORTC
+#define PC7_PWM			NULL
+#define PC7_DDR			DDRC
+
+#undef PD0
+#define PD0_PIN			PIND0
+#define PD0_RPORT		PIND
+#define PD0_WPORT		PORTD
+#define PD0_PWM			NULL
+#define PD0_DDR			DDRD
+#undef PD1
+#define PD1_PIN			PIND1
+#define PD1_RPORT		PIND
+#define PD1_WPORT		PORTD
+#define PD1_PWM			NULL
+#define PD1_DDR			DDRD
+#undef PD2
+#define PD2_PIN			PIND2
+#define PD2_RPORT		PIND
+#define PD2_WPORT		PORTD
+#define PD2_PWM			NULL
+#define PD2_DDR			DDRD
+#undef PD3
+#define PD3_PIN			PIND3
+#define PD3_RPORT		PIND
+#define PD3_WPORT		PORTD
+#define PD3_PWM			NULL
+#define PD3_DDR			DDRD
+#undef PD4
+#define PD4_PIN			PIND4
+#define PD4_RPORT		PIND
+#define PD4_WPORT		PORTD
+#define PD4_PWM			NULL
+#define PD4_DDR			DDRD
+#undef PD5
+#define PD5_PIN			PIND5
+#define PD5_RPORT		PIND
+#define PD5_WPORT		PORTD
+#define PD5_PWM			NULL
+#define PD5_DDR			DDRD
+#undef PD6
+#define PD6_PIN			PIND6
+#define PD6_RPORT		PIND
+#define PD6_WPORT		PORTD
+#define PD6_PWM			NULL
+#define PD6_DDR			DDRD
+#undef PD7
+#define PD7_PIN			PIND7
+#define PD7_RPORT		PIND
+#define PD7_WPORT		PORTD
+#define PD7_PWM			NULL
+#define PD7_DDR			DDRD
+
+#undef PE0
+#define PE0_PIN			PINE0
+#define PE0_RPORT		PINE
+#define PE0_WPORT		PORTE
+#define PE0_PWM			NULL
+#define PE0_DDR			DDRE
+#undef PE1
+#define PE1_PIN			PINE1
+#define PE1_RPORT		PINE
+#define PE1_WPORT		PORTE
+#define PE1_PWM			NULL
+#define PE1_DDR			DDRE
+#undef PE2
+#define PE2_PIN			PINE2
+#define PE2_RPORT		PINE
+#define PE2_WPORT		PORTE
+#define PE2_PWM			NULL
+#define PE2_DDR			DDRE
+#undef PE3
+#define PE3_PIN			PINE3
+#define PE3_RPORT		PINE
+#define PE3_WPORT		PORTE
+#define PE3_PWM			NULL
+#define PE3_DDR			DDRE
+#undef PE4
+#define PE4_PIN			PINE4
+#define PE4_RPORT		PINE
+#define PE4_WPORT		PORTE
+#define PE4_PWM			NULL
+#define PE4_DDR			DDRE
+#undef PE5
+#define PE5_PIN			PINE5
+#define PE5_RPORT		PINE
+#define PE5_WPORT		PORTE
+#define PE5_PWM			NULL
+#define PE5_DDR			DDRE
+#undef PE6
+#define PE6_PIN			PINE6
+#define PE6_RPORT		PINE
+#define PE6_WPORT		PORTE
+#define PE6_PWM			NULL
+#define PE6_DDR			DDRE
+#undef PE7
+#define PE7_PIN			PINE7
+#define PE7_RPORT		PINE
+#define PE7_WPORT		PORTE
+#define PE7_PWM			NULL
+#define PE7_DDR			DDRE
+
+#undef PF0
+#define PF0_PIN			PINF0
+#define PF0_RPORT		PINF
+#define PF0_WPORT		PORTF
+#define PF0_PWM			NULL
+#define PF0_DDR			DDRF
+#undef PF1
+#define PF1_PIN			PINF1
+#define PF1_RPORT		PINF
+#define PF1_WPORT		PORTF
+#define PF1_PWM			NULL
+#define PF1_DDR			DDRF
+#undef PF2
+#define PF2_PIN			PINF2
+#define PF2_RPORT		PINF
+#define PF2_WPORT		PORTF
+#define PF2_PWM			NULL
+#define PF2_DDR			DDRF
+#undef PF3
+#define PF3_PIN			PINF3
+#define PF3_RPORT		PINF
+#define PF3_WPORT		PORTF
+#define PF3_PWM			NULL
+#define PF3_DDR			DDRF
+#undef PF4
+#define PF4_PIN			PINF4
+#define PF4_RPORT		PINF
+#define PF4_WPORT		PORTF
+#define PF4_PWM			NULL
+#define PF4_DDR			DDRF
+#undef PF5
+#define PF5_PIN			PINF5
+#define PF5_RPORT		PINF
+#define PF5_WPORT		PORTF
+#define PF5_PWM			NULL
+#define PF5_DDR			DDRF
+#undef PF6
+#define PF6_PIN			PINF6
+#define PF6_RPORT		PINF
+#define PF6_WPORT		PORTF
+#define PF6_PWM			NULL
+#define PF6_DDR			DDRF
+#undef PF7
+#define PF7_PIN			PINF7
+#define PF7_RPORT		PINF
+#define PF7_WPORT		PORTF
+#define PF7_PWM			NULL
+#define PF7_DDR			DDRF
+
+#else // AT90USBxx_TEENSYPP_ASSIGNMENTS -- Use Teensyduino Teensy++2.0 assignments.
+
+/*
+
+AT90USB  51 50 49 48 47 46 45 44 10 11 12 13 14 15 16 17 35 36 37 38 39 40 41 42 25 26 27 28 29 30 31 32 33 34 43 09 18 19 01 02 61 60 59 58 57 56 55 54 
+Port     A0 A1 A2 A3 A4 A5 A6 A7 B0 B1 B2 B3 B4 B5 B6 B7 C0 C1 C2 C3 C4 C5 C6 C7 D0 D1 D2 D3 D4 D5 D6 D7 E0 E1 E2 E3 E4 E5 E6 E7 F0 F1 F2 F3 F4 F5 F6 F7 
+Marlin   00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
+Teensy   28 29 30 31 32 33 34 35 20 21 22 23 24 25 26 27 10 11 12 13 14 15 16 17 00 01 02 03 04 05 06 07 08 09(46*47)36 37 18 19 38 39 40 41 42 43 44 45
+         The pins 46 and 47 are not supported by Teensyduino, but are supported below.
+*/
+
+#define DIO0_PIN PIND0
+#define DIO0_RPORT PIND
+#define DIO0_WPORT PORTD
+#define DIO0_PWM NULL
+#define DIO0_DDR DDRD
+
+#define DIO1_PIN PIND1
+#define DIO1_RPORT PIND
+#define DIO1_WPORT PORTD
+#define DIO1_PWM NULL
+#define DIO1_DDR DDRD
+
+#define DIO2_PIN PIND2
+#define DIO2_RPORT PIND
+#define DIO2_WPORT PORTD
+#define DIO2_PWM NULL
+#define DIO2_DDR DDRD
+
+#define DIO3_PIN PIND3
+#define DIO3_RPORT PIND
+#define DIO3_WPORT PORTD
+#define DIO3_PWM NULL
+#define DIO3_DDR DDRD
+
+#define DIO4_PIN PIND4
+#define DIO4_RPORT PIND
+#define DIO4_WPORT PORTD
+#define DIO4_PWM NULL
+#define DIO4_DDR DDRD
+
+#define DIO5_PIN PIND5
+#define DIO5_RPORT PIND
+#define DIO5_WPORT PORTD
+#define DIO5_PWM NULL
+#define DIO5_DDR DDRD
+
+#define DIO6_PIN PIND6
+#define DIO6_RPORT PIND
+#define DIO6_WPORT PORTD
+#define DIO6_PWM NULL
+#define DIO6_DDR DDRD
+
+#define DIO7_PIN PIND7
+#define DIO7_RPORT PIND
+#define DIO7_WPORT PORTD
+#define DIO7_PWM NULL
+#define DIO7_DDR DDRD
+
+#define DIO8_PIN PINE0
+#define DIO8_RPORT PINE
+#define DIO8_WPORT PORTE
+#define DIO8_PWM NULL
+#define DIO8_DDR DDRE
+
+#define DIO9_PIN PINE1
+#define DIO9_RPORT PINE
+#define DIO9_WPORT PORTE
+#define DIO9_PWM NULL
+#define DIO9_DDR DDRE
+
+#define DIO10_PIN PINC0
+#define DIO10_RPORT PINC
+#define DIO10_WPORT PORTC
+#define DIO10_PWM NULL
+#define DIO10_DDR DDRC
+
+#define DIO11_PIN PINC1
+#define DIO11_RPORT PINC
+#define DIO11_WPORT PORTC
+#define DIO11_PWM NULL
+#define DIO11_DDR DDRC
+
+#define DIO12_PIN PINC2
+#define DIO12_RPORT PINC
+#define DIO12_WPORT PORTC
+#define DIO12_PWM NULL
+#define DIO12_DDR DDRC
+
+#define DIO13_PIN PINC3
+#define DIO13_RPORT PINC
+#define DIO13_WPORT PORTC
+#define DIO13_PWM NULL
+#define DIO13_DDR DDRC
+
+#define DIO14_PIN PINC4
+#define DIO14_RPORT PINC
+#define DIO14_WPORT PORTC
+#define DIO14_PWM NULL
+#define DIO14_DDR DDRC
+
+#define DIO15_PIN PINC5
+#define DIO15_RPORT PINC
+#define DIO15_WPORT PORTC
+#define DIO15_PWM NULL
+#define DIO15_DDR DDRC
+
+#define DIO16_PIN PINC6
+#define DIO16_RPORT PINC
+#define DIO16_WPORT PORTC
+#define DIO16_PWM NULL
+#define DIO16_DDR DDRC
+
+#define DIO17_PIN PINC7
+#define DIO17_RPORT PINC
+#define DIO17_WPORT PORTC
+#define DIO17_PWM NULL
+#define DIO17_DDR DDRC
+
+#define DIO18_PIN PINE6
+#define DIO18_RPORT PINE
+#define DIO18_WPORT PORTE
+#define DIO18_PWM NULL
+#define DIO18_DDR DDRE
+
+#define DIO19_PIN PINE7
+#define DIO19_RPORT PINE
+#define DIO19_WPORT PORTE
+#define DIO19_PWM NULL
+#define DIO19_DDR DDRE
+
+#define DIO20_PIN PINB0
+#define DIO20_RPORT PINB
+#define DIO20_WPORT PORTB
+#define DIO20_PWM NULL
+#define DIO20_DDR DDRB
+
+#define DIO21_PIN PINB1
+#define DIO21_RPORT PINB
+#define DIO21_WPORT PORTB
+#define DIO21_PWM NULL
+#define DIO21_DDR DDRB
+
+#define DIO22_PIN PINB2
+#define DIO22_RPORT PINB
+#define DIO22_WPORT PORTB
+#define DIO22_PWM NULL
+#define DIO22_DDR DDRB
+
+#define DIO23_PIN PINB3
+#define DIO23_RPORT PINB
+#define DIO23_WPORT PORTB
+#define DIO23_PWM NULL
+#define DIO23_DDR DDRB
+
+#define DIO24_PIN PINB4
+#define DIO24_RPORT PINB
+#define DIO24_WPORT PORTB
+#define DIO24_PWM NULL
+#define DIO24_DDR DDRB
+
+#define DIO25_PIN PINB5
+#define DIO25_RPORT PINB
+#define DIO25_WPORT PORTB
+#define DIO25_PWM NULL
+#define DIO25_DDR DDRB
+
+#define DIO26_PIN PINB6
+#define DIO26_RPORT PINB
+#define DIO26_WPORT PORTB
+#define DIO26_PWM NULL
+#define DIO26_DDR DDRB
+
+#define DIO27_PIN PINB7
+#define DIO27_RPORT PINB
+#define DIO27_WPORT PORTB
+#define DIO27_PWM NULL
+#define DIO27_DDR DDRB
+
+#define DIO28_PIN PINA0
+#define DIO28_RPORT PINA
+#define DIO28_WPORT PORTA
+#define DIO28_PWM NULL
+#define DIO28_DDR DDRA
+
+#define DIO29_PIN PINA1
+#define DIO29_RPORT PINA
+#define DIO29_WPORT PORTA
+#define DIO29_PWM NULL
+#define DIO29_DDR DDRA
+
+#define DIO30_PIN PINA2
+#define DIO30_RPORT PINA
+#define DIO30_WPORT PORTA
+#define DIO30_PWM NULL
+#define DIO30_DDR DDRA
+
+#define DIO31_PIN PINA3
+#define DIO31_RPORT PINA
+#define DIO31_WPORT PORTA
+#define DIO31_PWM NULL
+#define DIO31_DDR DDRA
+
+#define DIO32_PIN PINA4
+#define DIO32_RPORT PINA
+#define DIO32_WPORT PORTA
+#define DIO32_PWM NULL
+#define DIO32_DDR DDRA
+
+#define DIO33_PIN PINA5
+#define DIO33_RPORT PINA
+#define DIO33_WPORT PORTA
+#define DIO33_PWM NULL
+#define DIO33_DDR DDRA
+
+#define DIO34_PIN PINA6
+#define DIO34_RPORT PINA
+#define DIO34_WPORT PORTA
+#define DIO34_PWM NULL
+#define DIO34_DDR DDRA
+
+#define DIO35_PIN PINA7
+#define DIO35_RPORT PINA
+#define DIO35_WPORT PORTA
+#define DIO35_PWM NULL
+#define DIO35_DDR DDRA
+
+#define DIO36_PIN PINE4
+#define DIO36_RPORT PINE
+#define DIO36_WPORT PORTE
+#define DIO36_PWM NULL
+#define DIO36_DDR DDRE
+
+#define DIO37_PIN PINE5
+#define DIO37_RPORT PINE
+#define DIO37_WPORT PORTE
+#define DIO37_PWM NULL
+#define DIO37_DDR DDRE
+
+#define DIO38_PIN PINF0
+#define DIO38_RPORT PINF
+#define DIO38_WPORT PORTF
+#define DIO38_PWM NULL
+#define DIO38_DDR DDRF
+
+#define DIO39_PIN PINF1
+#define DIO39_RPORT PINF
+#define DIO39_WPORT PORTF
+#define DIO39_PWM NULL
+#define DIO39_DDR DDRF
+
+#define DIO40_PIN PINF2
+#define DIO40_RPORT PINF
+#define DIO40_WPORT PORTF
+#define DIO40_PWM NULL
+#define DIO40_DDR DDRF
+
+#define DIO41_PIN PINF3
+#define DIO41_RPORT PINF
+#define DIO41_WPORT PORTF
+#define DIO41_PWM NULL
+#define DIO41_DDR DDRF
+
+#define DIO42_PIN PINF4
+#define DIO42_RPORT PINF
+#define DIO42_WPORT PORTF
+#define DIO42_PWM NULL
+#define DIO42_DDR DDRF
+
+#define DIO43_PIN PINF5
+#define DIO43_RPORT PINF
+#define DIO43_WPORT PORTF
+#define DIO43_PWM NULL
+#define DIO43_DDR DDRF
+
+#define DIO44_PIN PINF6
+#define DIO44_RPORT PINF
+#define DIO44_WPORT PORTF
+#define DIO44_PWM NULL
+#define DIO44_DDR DDRF
+
+#define DIO45_PIN PINF7
+#define DIO45_RPORT PINF
+#define DIO45_WPORT PORTF
+#define DIO45_PWM NULL
+#define DIO45_DDR DDRF
+
+#define AIO0_PIN PINF0
+#define AIO0_RPORT PINF
+#define AIO0_WPORT PORTF
+#define AIO0_PWM NULL
+#define AIO0_DDR DDRF
+
+#define AIO1_PIN PINF1
+#define AIO1_RPORT PINF
+#define AIO1_WPORT PORTF
+#define AIO1_PWM NULL
+#define AIO1_DDR DDRF
+
+#define AIO2_PIN PINF2
+#define AIO2_RPORT PINF
+#define AIO2_WPORT PORTF
+#define AIO2_PWM NULL
+#define AIO2_DDR DDRF
+
+#define AIO3_PIN PINF3
+#define AIO3_RPORT PINF
+#define AIO3_WPORT PORTF
+#define AIO3_PWM NULL
+#define AIO3_DDR DDRF
+
+#define AIO4_PIN PINF4
+#define AIO4_RPORT PINF
+#define AIO4_WPORT PORTF
+#define AIO4_PWM NULL
+#define AIO4_DDR DDRF
+
+#define AIO5_PIN PINF5
+#define AIO5_RPORT PINF
+#define AIO5_WPORT PORTF
+#define AIO5_PWM NULL
+#define AIO5_DDR DDRF
+
+#define AIO6_PIN PINF6
+#define AIO6_RPORT PINF
+#define AIO6_WPORT PORTF
+#define AIO6_PWM NULL
+#define AIO6_DDR DDRF
+
+#define AIO7_PIN PINF7
+#define AIO7_RPORT PINF
+#define AIO7_WPORT PORTF
+#define AIO7_PWM NULL
+#define AIO7_DDR DDRF
+
+//-- Begin not supported by Teensyduino
+//-- don't use Arduino functions on these pins pinMode/digitalWrite/etc
+#define DIO46_PIN PINE2
+#define DIO46_RPORT PINE
+#define DIO46_WPORT PORTE
+#define DIO46_PWM NULL
+#define DIO46_DDR DDRE
+
+#define DIO47_PIN PINE3
+#define DIO47_RPORT PINE
+#define DIO47_WPORT PORTE
+#define DIO47_PWM NULL
+#define DIO47_DDR DDRE
+//-- end not supported by Teensyduino
+
+#undef PA0
+#define PA0_PIN PINA0
+#define PA0_RPORT PINA
+#define PA0_WPORT PORTA
+#define PA0_PWM NULL
+#define PA0_DDR DDRA
+#undef PA1
+#define PA1_PIN PINA1
+#define PA1_RPORT PINA
+#define PA1_WPORT PORTA
+#define PA1_PWM NULL
+#define PA1_DDR DDRA
+#undef PA2
+#define PA2_PIN PINA2
+#define PA2_RPORT PINA
+#define PA2_WPORT PORTA
+#define PA2_PWM NULL
+#define PA2_DDR DDRA
+#undef PA3
+#define PA3_PIN PINA3
+#define PA3_RPORT PINA
+#define PA3_WPORT PORTA
+#define PA3_PWM NULL
+#define PA3_DDR DDRA
+#undef PA4
+#define PA4_PIN PINA4
+#define PA4_RPORT PINA
+#define PA4_WPORT PORTA
+#define PA4_PWM NULL
+#define PA4_DDR DDRA
+#undef PA5
+#define PA5_PIN PINA5
+#define PA5_RPORT PINA
+#define PA5_WPORT PORTA
+#define PA5_PWM NULL
+#define PA5_DDR DDRA
+#undef PA6
+#define PA6_PIN PINA6
+#define PA6_RPORT PINA
+#define PA6_WPORT PORTA
+#define PA6_PWM NULL
+#define PA6_DDR DDRA
+#undef PA7
+#define PA7_PIN PINA7
+#define PA7_RPORT PINA
+#define PA7_WPORT PORTA
+#define PA7_PWM NULL
+#define PA7_DDR DDRA
+
+#undef PB0
+#define PB0_PIN PINB0
+#define PB0_RPORT PINB
+#define PB0_WPORT PORTB
+#define PB0_PWM NULL
+#define PB0_DDR DDRB
+#undef PB1
+#define PB1_PIN PINB1
+#define PB1_RPORT PINB
+#define PB1_WPORT PORTB
+#define PB1_PWM NULL
+#define PB1_DDR DDRB
+#undef PB2
+#define PB2_PIN PINB2
+#define PB2_RPORT PINB
+#define PB2_WPORT PORTB
+#define PB2_PWM NULL
+#define PB2_DDR DDRB
+#undef PB3
+#define PB3_PIN PINB3
+#define PB3_RPORT PINB
+#define PB3_WPORT PORTB
+#define PB3_PWM NULL
+#define PB3_DDR DDRB
+#undef PB4
+#define PB4_PIN PINB4
+#define PB4_RPORT PINB
+#define PB4_WPORT PORTB
+#define PB4_PWM NULL
+#define PB4_DDR DDRB
+#undef PB5
+#define PB5_PIN PINB5
+#define PB5_RPORT PINB
+#define PB5_WPORT PORTB
+#define PB5_PWM NULL
+#define PB5_DDR DDRB
+#undef PB6
+#define PB6_PIN PINB6
+#define PB6_RPORT PINB
+#define PB6_WPORT PORTB
+#define PB6_PWM NULL
+#define PB6_DDR DDRB
+#undef PB7
+#define PB7_PIN PINB7
+#define PB7_RPORT PINB
+#define PB7_WPORT PORTB
+#define PB7_PWM NULL
+#define PB7_DDR DDRB
+
+#undef PC0
+#define PC0_PIN PINC0
+#define PC0_RPORT PINC
+#define PC0_WPORT PORTC
+#define PC0_PWM NULL
+#define PC0_DDR DDRC
+#undef PC1
+#define PC1_PIN PINC1
+#define PC1_RPORT PINC
+#define PC1_WPORT PORTC
+#define PC1_PWM NULL
+#define PC1_DDR DDRC
+#undef PC2
+#define PC2_PIN PINC2
+#define PC2_RPORT PINC
+#define PC2_WPORT PORTC
+#define PC2_PWM NULL
+#define PC2_DDR DDRC
+#undef PC3
+#define PC3_PIN PINC3
+#define PC3_RPORT PINC
+#define PC3_WPORT PORTC
+#define PC3_PWM NULL
+#define PC3_DDR DDRC
+#undef PC4
+#define PC4_PIN PINC4
+#define PC4_RPORT PINC
+#define PC4_WPORT PORTC
+#define PC4_PWM NULL
+#define PC4_DDR DDRC
+#undef PC5
+#define PC5_PIN PINC5
+#define PC5_RPORT PINC
+#define PC5_WPORT PORTC
+#define PC5_PWM NULL
+#define PC5_DDR DDRC
+#undef PC6
+#define PC6_PIN PINC6
+#define PC6_RPORT PINC
+#define PC6_WPORT PORTC
+#define PC6_PWM NULL
+#define PC6_DDR DDRC
+#undef PC7
+#define PC7_PIN PINC7
+#define PC7_RPORT PINC
+#define PC7_WPORT PORTC
+#define PC7_PWM NULL
+#define PC7_DDR DDRC
+
+#undef PD0
+#define PD0_PIN PIND0
+#define PD0_RPORT PIND
+#define PD0_WPORT PORTD
+#define PD0_PWM NULL
+#define PD0_DDR DDRD
+#undef PD1
+#define PD1_PIN PIND1
+#define PD1_RPORT PIND
+#define PD1_WPORT PORTD
+#define PD1_PWM NULL
+#define PD1_DDR DDRD
+#undef PD2
+#define PD2_PIN PIND2
+#define PD2_RPORT PIND
+#define PD2_WPORT PORTD
+#define PD2_PWM NULL
+#define PD2_DDR DDRD
+#undef PD3
+#define PD3_PIN PIND3
+#define PD3_RPORT PIND
+#define PD3_WPORT PORTD
+#define PD3_PWM NULL
+#define PD3_DDR DDRD
+#undef PD4
+#define PD4_PIN PIND4
+#define PD4_RPORT PIND
+#define PD4_WPORT PORTD
+#define PD4_PWM NULL
+#define PD4_DDR DDRD
+#undef PD5
+#define PD5_PIN PIND5
+#define PD5_RPORT PIND
+#define PD5_WPORT PORTD
+#define PD5_PWM NULL
+#define PD5_DDR DDRD
+#undef PD6
+#define PD6_PIN PIND6
+#define PD6_RPORT PIND
+#define PD6_WPORT PORTD
+#define PD6_PWM NULL
+#define PD6_DDR DDRD
+#undef PD7
+#define PD7_PIN PIND7
+#define PD7_RPORT PIND
+#define PD7_WPORT PORTD
+#define PD7_PWM NULL
+#define PD7_DDR DDRD
+
+#undef PE0
+#define PE0_PIN PINE0
+#define PE0_RPORT PINE
+#define PE0_WPORT PORTE
+#define PE0_PWM NULL
+#define PE0_DDR DDRE
+#undef PE1
+#define PE1_PIN PINE1
+#define PE1_RPORT PINE
+#define PE1_WPORT PORTE
+#define PE1_PWM NULL
+#define PE1_DDR DDRE
+#undef PE2
+#define PE2_PIN PINE2
+#define PE2_RPORT PINE
+#define PE2_WPORT PORTE
+#define PE2_PWM NULL
+#define PE2_DDR DDRE
+#undef PE3
+#define PE3_PIN PINE3
+#define PE3_RPORT PINE
+#define PE3_WPORT PORTE
+#define PE3_PWM NULL
+#define PE3_DDR DDRE
+#undef PE4
+#define PE4_PIN PINE4
+#define PE4_RPORT PINE
+#define PE4_WPORT PORTE
+#define PE4_PWM NULL
+#define PE4_DDR DDRE
+#undef PE5
+#define PE5_PIN PINE5
+#define PE5_RPORT PINE
+#define PE5_WPORT PORTE
+#define PE5_PWM NULL
+#define PE5_DDR DDRE
+#undef PE6
+#define PE6_PIN PINE6
+#define PE6_RPORT PINE
+#define PE6_WPORT PORTE
+#define PE6_PWM NULL
+#define PE6_DDR DDRE
+#undef PE7
+#define PE7_PIN PINE7
+#define PE7_RPORT PINE
+#define PE7_WPORT PORTE
+#define PE7_PWM NULL
+#define PE7_DDR DDRE
+
+#undef PF0
+#define PF0_PIN PINF0
+#define PF0_RPORT PINF
+#define PF0_WPORT PORTF
+#define PF0_PWM NULL
+#define PF0_DDR DDRF
+#undef PF1
+#define PF1_PIN PINF1
+#define PF1_RPORT PINF
+#define PF1_WPORT PORTF
+#define PF1_PWM NULL
+#define PF1_DDR DDRF
+#undef PF2
+#define PF2_PIN PINF2
+#define PF2_RPORT PINF
+#define PF2_WPORT PORTF
+#define PF2_PWM NULL
+#define PF2_DDR DDRF
+#undef PF3
+#define PF3_PIN PINF3
+#define PF3_RPORT PINF
+#define PF3_WPORT PORTF
+#define PF3_PWM NULL
+#define PF3_DDR DDRF
+#undef PF4
+#define PF4_PIN PINF4
+#define PF4_RPORT PINF
+#define PF4_WPORT PORTF
+#define PF4_PWM NULL
+#define PF4_DDR DDRF
+#undef PF5
+#define PF5_PIN PINF5
+#define PF5_RPORT PINF
+#define PF5_WPORT PORTF
+#define PF5_PWM NULL
+#define PF5_DDR DDRF
+#undef PF6
+#define PF6_PIN PINF6
+#define PF6_RPORT PINF
+#define PF6_WPORT PORTF
+#define PF6_PWM NULL
+#define PF6_DDR DDRF
+#undef PF7
+#define PF7_PIN PINF7
+#define PF7_RPORT PINF
+#define PF7_WPORT PORTF
+#define PF7_PWM NULL
+#define PF7_DDR DDRF
+
+#endif // AT90USBxx_TEENSYPP_ASSIGNMENTS Teensyduino assignments
+#endif // __AVR_AT90usbxxx__
+
+
+#if defined (__AVR_ATmega1281__) || defined (__AVR_ATmega2561__)
+// UART
+#define	RXD					DIO0
+#define	TXD					DIO1
+
+// SPI
+#define	SCK					DIO10
+#define	MISO				DIO12
+#define	MOSI				DIO11
+#define	SS					DIO16
+
+// TWI (I2C)
+#define	SCL					DIO17
+#define	SDA					DIO18
+
+// timers and PWM
+#define	OC0A				DIO9
+#define	OC0B				DIO4
+#define	OC1A				DIO7
+#define	OC1B				DIO8
+#define	OC2A				DIO6
+#define	OC3A				DIO5
+#define	OC3B				DIO2
+#define	OC3C				DIO3
+
+
+// change for your board
+#define	DEBUG_LED		DIO46
+
+/*
+pins
+*/
+#define	DIO0_PIN		PINE0
+#define	DIO0_RPORT	PINE
+#define	DIO0_WPORT	PORTE
+#define	DIO0_DDR		DDRE
+#define DIO0_PWM		NULL
+
+#define	DIO1_PIN		PINE1
+#define	DIO1_RPORT	PINE
+#define	DIO1_WPORT	PORTE
+#define	DIO1_DDR		DDRE
+#define DIO1_PWM		NULL
+
+#define	DIO2_PIN		PINE4
+#define	DIO2_RPORT	PINE
+#define	DIO2_WPORT	PORTE
+#define	DIO2_DDR		DDRE
+#define DIO2_PWM		&OCR3BL
+
+#define	DIO3_PIN		PINE5
+#define	DIO3_RPORT	PINE
+#define	DIO3_WPORT	PORTE
+#define	DIO3_DDR		DDRE
+#define DIO3_PWM		&OCR3CL
+
+#define	DIO4_PIN		PING5
+#define	DIO4_RPORT	PING
+#define	DIO4_WPORT	PORTG
+#define	DIO4_DDR		DDRG
+#define DIO4_PWM		&OCR0B
+
+#define	DIO5_PIN		PINE3
+#define	DIO5_RPORT	PINE
+#define	DIO5_WPORT	PORTE
+#define	DIO5_DDR		DDRE
+#define DIO5_PWM		&OCR3AL
+
+#define	DIO6_PIN		PINB4
+#define	DIO6_RPORT	PINB
+#define	DIO6_WPORT	PORTB
+#define	DIO6_DDR		DDRB
+#define DIO6_PWM		&OCR2AL
+
+#define	DIO7_PIN		PINB5
+#define	DIO7_RPORT	PINB
+#define	DIO7_WPORT	PORTB
+#define	DIO7_DDR		DDRB
+#define DIO7_PWM		&OCR1AL
+
+#define	DIO8_PIN		PINB6
+#define	DIO8_RPORT	PINB
+#define	DIO8_WPORT	PORTB
+#define	DIO8_DDR		DDRB
+#define DIO8_PWM		&OCR1BL
+
+#define	DIO9_PIN		PINB7
+#define	DIO9_RPORT	PINB
+#define	DIO9_WPORT	PORTB
+#define	DIO9_DDR		DDRB
+#define DIO9_PWM		&OCR0AL
+
+#define	DIO10_PIN		PINB1
+#define	DIO10_RPORT	PINB
+#define	DIO10_WPORT	PORTB
+#define	DIO10_DDR		DDRB
+#define DIO10_PWM		NULL
+
+#define	DIO11_PIN		PINB2
+#define	DIO11_RPORT	PINB
+#define	DIO11_WPORT	PORTB
+#define	DIO11_DDR		DDRB
+#define DIO11_PWM		NULL
+
+#define	DIO12_PIN		PINB3
+#define	DIO12_RPORT	PINB
+#define	DIO12_WPORT	PORTB
+#define	DIO12_DDR		DDRB
+#define DIO12_PWM		NULL
+
+#define	DIO13_PIN		PINE2
+#define	DIO13_RPORT	PINE
+#define	DIO13_WPORT	PORTE
+#define	DIO13_DDR		DDRE
+#define DIO13_PWM		NULL
+
+#define	DIO14_PIN		PINE6
+#define	DIO14_RPORT	PINE
+#define	DIO14_WPORT	PORTE
+#define	DIO14_DDR		DDRE
+#define DIO14_PWM		NULL
+
+#define	DIO15_PIN		PINE7
+#define	DIO15_RPORT	PINE
+#define	DIO15_WPORT	PORTE
+#define	DIO15_DDR		DDRE
+#define DIO15_PWM		NULL
+
+#define	DIO16_PIN		PINB0
+#define	DIO16_RPORT	PINB
+#define	DIO16_WPORT	PORTB
+#define	DIO16_DDR		DDRB
+#define DIO16_PWM		NULL
+
+#define	DIO17_PIN		PIND0
+#define	DIO17_RPORT	PIND
+#define	DIO17_WPORT	PORTD
+#define	DIO17_DDR		DDRD
+#define DIO17_PWM		NULL
+
+#define	DIO18_PIN		PIND1
+#define	DIO18_RPORT	PIND
+#define	DIO18_WPORT	PORTD
+#define	DIO18_DDR		DDRD
+#define DIO18_PWM		NULL
+
+#define	DIO19_PIN		PIND2
+#define	DIO19_RPORT	PIND
+#define	DIO19_WPORT	PORTD
+#define	DIO19_DDR		DDRD
+#define DIO19_PWM		NULL
+
+#define	DIO20_PIN		PIND3
+#define	DIO20_RPORT	PIND
+#define	DIO20_WPORT	PORTD
+#define	DIO20_DDR		DDRD
+#define DIO20_PWM		NULL
+
+#define	DIO21_PIN		PIND4
+#define	DIO21_RPORT	PIND
+#define	DIO21_WPORT	PORTD
+#define	DIO21_DDR		DDRD
+#define DIO21_PWM		NULL
+
+#define	DIO22_PIN		PIND5
+#define	DIO22_RPORT	PIND
+#define	DIO22_WPORT	PORTD
+#define	DIO22_DDR		DDRD
+#define DIO22_PWM		NULL
+
+#define	DIO23_PIN		PIND6
+#define	DIO23_RPORT	PIND
+#define	DIO23_WPORT	PORTD
+#define	DIO23_DDR		DDRD
+#define DIO23_PWM		NULL
+
+#define	DIO24_PIN		PIND7
+#define	DIO24_RPORT	PIND
+#define	DIO24_WPORT	PORTD
+#define	DIO24_DDR		DDRD
+#define DIO24_PWM		NULL
+
+#define	DIO25_PIN		PING0
+#define	DIO25_RPORT	PING
+#define	DIO25_WPORT	PORTG
+#define	DIO25_DDR		DDRG
+#define DIO25_PWM		NULL
+
+#define	DIO26_PIN		PING1
+#define	DIO26_RPORT	PING
+#define	DIO26_WPORT	PORTG
+#define	DIO26_DDR		DDRG
+#define DIO26_PWM		NULL
+
+#define	DIO27_PIN		PING2
+#define	DIO27_RPORT	PING
+#define	DIO27_WPORT	PORTG
+#define	DIO27_DDR		DDRG
+#define DIO27_PWM		NULL
+
+#define	DIO28_PIN		PING3
+#define	DIO28_RPORT	PING
+#define	DIO28_WPORT	PORTG
+#define	DIO28_DDR		DDRG
+#define DIO28_PWM		NULL
+
+#define	DIO29_PIN		PING4
+#define	DIO29_RPORT	PING
+#define	DIO29_WPORT	PORTG
+#define	DIO29_DDR		DDRG
+#define DIO29_PWM		NULL
+
+#define	DIO30_PIN		PINC0
+#define	DIO30_RPORT	PINC
+#define	DIO30_WPORT	PORTC
+#define	DIO30_DDR		DDRC
+#define DIO30_PWM		NULL
+
+#define	DIO31_PIN		PINC1
+#define	DIO31_RPORT	PINC
+#define	DIO31_WPORT	PORTC
+#define	DIO31_DDR		DDRC
+#define DIO31_PWM		NULL
+
+#define	DIO32_PIN		PINC2
+#define	DIO32_RPORT	PINC
+#define	DIO32_WPORT	PORTC
+#define	DIO32_DDR		DDRC
+#define DIO32_PWM		NULL
+
+#define	DIO33_PIN		PINC3
+#define	DIO33_RPORT	PINC
+#define	DIO33_WPORT	PORTC
+#define	DIO33_DDR		DDRC
+#define DIO33_PWM		NULL
+
+#define	DIO34_PIN		PINC4
+#define	DIO34_RPORT	PINC
+#define	DIO34_WPORT	PORTC
+#define	DIO34_DDR		DDRC
+#define DIO34_PWM		NULL
+
+#define	DIO35_PIN		PINC5
+#define	DIO35_RPORT	PINC
+#define	DIO35_WPORT	PORTC
+#define	DIO35_DDR		DDRC
+#define DIO35_PWM		NULL
+
+#define	DIO36_PIN		PINC6
+#define	DIO36_RPORT	PINC
+#define	DIO36_WPORT	PORTC
+#define	DIO36_DDR		DDRC
+#define DIO36_PWM		NULL
+
+#define	DIO37_PIN		PINC7
+#define	DIO37_RPORT	PINC
+#define	DIO37_WPORT	PORTC
+#define	DIO37_DDR		DDRC
+#define DIO37_PWM		NULL
+
+#define	DIO38_PIN		PINA0
+#define	DIO38_RPORT	PINA
+#define	DIO38_WPORT	PORTA
+#define	DIO38_DDR		DDRA
+#define DIO38_PWM		NULL
+
+#define	DIO39_PIN		PINA1
+#define	DIO39_RPORT	PINA
+#define	DIO39_WPORT	PORTA
+#define	DIO39_DDR		DDRA
+#define DIO39_PWM		NULL
+
+#define	DIO40_PIN		PINA2
+#define	DIO40_RPORT	PINA
+#define	DIO40_WPORT	PORTA
+#define	DIO40_DDR		DDRA
+#define DIO40_PWM		NULL
+
+#define	DIO41_PIN		PINA3
+#define	DIO41_RPORT	PINA
+#define	DIO41_WPORT	PORTA
+#define	DIO41_DDR		DDRA
+#define DIO41_PWM		NULL
+
+#define	DIO42_PIN		PINA4
+#define	DIO42_RPORT	PINA
+#define	DIO42_WPORT	PORTA
+#define	DIO42_DDR		DDRA
+#define DIO42_PWM		NULL
+
+#define	DIO43_PIN		PINA5
+#define	DIO43_RPORT	PINA
+#define	DIO43_WPORT	PORTA
+#define	DIO43_DDR		DDRA
+#define DIO43_PWM		NULL
+
+#define	DIO44_PIN		PINA6
+#define	DIO44_RPORT	PINA
+#define	DIO44_WPORT	PORTA
+#define	DIO44_DDR		DDRA
+#define DIO44_PWM		NULL
+
+#define	DIO45_PIN		PINA7
+#define	DIO45_RPORT	PINA
+#define	DIO45_WPORT	PORTA
+#define	DIO45_DDR		DDRA
+#define DIO45_PWM		NULL
+
+#define	DIO46_PIN		PINF0
+#define	DIO46_RPORT	PINF
+#define	DIO46_WPORT	PORTF
+#define	DIO46_DDR		DDRF
+#define DIO46_PWM		NULL
+
+#define	DIO47_PIN		PINF1
+#define	DIO47_RPORT	PINF
+#define	DIO47_WPORT	PORTF
+#define	DIO47_DDR		DDRF
+#define DIO47_PWM		NULL
+
+#define	DIO48_PIN		PINF2
+#define	DIO48_RPORT	PINF
+#define	DIO48_WPORT	PORTF
+#define	DIO48_DDR		DDRF
+#define DIO48_PWM		NULL
+
+#define	DIO49_PIN		PINF3
+#define	DIO49_RPORT	PINF
+#define	DIO49_WPORT	PORTF
+#define	DIO49_DDR		DDRF
+#define DIO49_PWM		NULL
+
+#define	DIO50_PIN		PINF4
+#define	DIO50_RPORT	PINF
+#define	DIO50_WPORT	PORTF
+#define	DIO50_DDR		DDRF
+#define DIO50_PWM		NULL
+
+#define	DIO51_PIN		PINF5
+#define	DIO51_RPORT	PINF
+#define	DIO51_WPORT	PORTF
+#define	DIO51_DDR		DDRF
+#define DIO51_PWM		NULL
+
+#define	DIO52_PIN		PINF6
+#define	DIO52_RPORT	PINF
+#define	DIO52_WPORT	PORTF
+#define	DIO52_DDR		DDRF
+#define DIO52_PWM		NULL
+
+#define	DIO53_PIN		PINF7
+#define	DIO53_RPORT	PINF
+#define	DIO53_WPORT	PORTF
+#define	DIO53_DDR		DDRF
+#define DIO53_PWM		NULL
+
+
+
+
+#undef PA0
+#define PA0_PIN			PINA0
+#define PA0_RPORT		PINA
+#define PA0_WPORT		PORTA
+#define PA0_DDR			DDRA
+#define PA0_PWM			NULL
+#undef PA1
+#define PA1_PIN			PINA1
+#define PA1_RPORT		PINA
+#define PA1_WPORT		PORTA
+#define PA1_DDR			DDRA
+#define PA1_PWM			NULL
+#undef PA2
+#define PA2_PIN			PINA2
+#define PA2_RPORT		PINA
+#define PA2_WPORT		PORTA
+#define PA2_DDR			DDRA
+#define PA2_PWM			NULL
+#undef PA3
+#define PA3_PIN			PINA3
+#define PA3_RPORT		PINA
+#define PA3_WPORT		PORTA
+#define PA3_DDR			DDRA
+#define PA3_PWM			NULL
+#undef PA4
+#define PA4_PIN			PINA4
+#define PA4_RPORT		PINA
+#define PA4_WPORT		PORTA
+#define PA4_DDR			DDRA
+#define PA4_PWM			NULL
+#undef PA5
+#define PA5_PIN			PINA5
+#define PA5_RPORT		PINA
+#define PA5_WPORT		PORTA
+#define PA5_DDR			DDRA
+#define PA5_PWM			NULL
+#undef PA6
+#define PA6_PIN			PINA6
+#define PA6_RPORT		PINA
+#define PA6_WPORT		PORTA
+#define PA6_DDR			DDRA
+#define PA6_PWM			NULL
+#undef PA7
+#define PA7_PIN			PINA7
+#define PA7_RPORT		PINA
+#define PA7_WPORT		PORTA
+#define PA7_DDR			DDRA
+#define PA7_PWM			NULL
+
+#undef PB0
+#define PB0_PIN			PINB0
+#define PB0_RPORT		PINB
+#define PB0_WPORT		PORTB
+#define PB0_DDR			DDRB
+#define PB0_PWM			NULL
+#undef PB1
+#define PB1_PIN			PINB1
+#define PB1_RPORT		PINB
+#define PB1_WPORT		PORTB
+#define PB1_DDR			DDRB
+#define PB1_PWM			NULL
+#undef PB2
+#define PB2_PIN			PINB2
+#define PB2_RPORT		PINB
+#define PB2_WPORT		PORTB
+#define PB2_DDR			DDRB
+#define PB2_PWM			NULL
+#undef PB3
+#define PB3_PIN			PINB3
+#define PB3_RPORT		PINB
+#define PB3_WPORT		PORTB
+#define PB3_DDR			DDRB
+#define PB3_PWM			NULL
+#undef PB4
+#define PB4_PIN			PINB4
+#define PB4_RPORT		PINB
+#define PB4_WPORT		PORTB
+#define PB4_DDR			DDRB
+#define PB4_PWM			&OCR2A
+#undef PB5
+#define PB5_PIN			PINB5
+#define PB5_RPORT		PINB
+#define PB5_WPORT		PORTB
+#define PB5_DDR			DDRB
+#define PB5_PWM			NULL
+#undef PB6
+#define PB6_PIN			PINB6
+#define PB6_RPORT		PINB
+#define PB6_WPORT		PORTB
+#define PB6_DDR			DDRB
+#define PB6_PWM			NULL
+#undef PB7
+#define PB7_PIN			PINB7
+#define PB7_RPORT		PINB
+#define PB7_WPORT		PORTB
+#define PB7_DDR			DDRB
+#define PB7_PWM			&OCR0A
+
+#undef PC0
+#define PC0_PIN			PINC0
+#define PC0_RPORT		PINC
+#define PC0_WPORT		PORTC
+#define PC0_DDR			DDRC
+#define PC0_PWM			NULL
+#undef PC1
+#define PC1_PIN			PINC1
+#define PC1_RPORT		PINC
+#define PC1_WPORT		PORTC
+#define PC1_DDR			DDRC
+#define PC1_PWM			NULL
+#undef PC2
+#define PC2_PIN			PINC2
+#define PC2_RPORT		PINC
+#define PC2_WPORT		PORTC
+#define PC2_DDR			DDRC
+#define PC2_PWM			NULL
+#undef PC3
+#define PC3_PIN			PINC3
+#define PC3_RPORT		PINC
+#define PC3_WPORT		PORTC
+#define PC3_DDR			DDRC
+#define PC3_PWM			NULL
+#undef PC4
+#define PC4_PIN			PINC4
+#define PC4_RPORT		PINC
+#define PC4_WPORT		PORTC
+#define PC4_DDR			DDRC
+#define PC4_PWM			NULL
+#undef PC5
+#define PC5_PIN			PINC5
+#define PC5_RPORT		PINC
+#define PC5_WPORT		PORTC
+#define PC5_DDR			DDRC
+#define PC5_PWM			NULL
+#undef PC6
+#define PC6_PIN			PINC6
+#define PC6_RPORT		PINC
+#define PC6_WPORT		PORTC
+#define PC6_DDR			DDRC
+#define PC6_PWM			NULL
+#undef PC7
+#define PC7_PIN			PINC7
+#define PC7_RPORT		PINC
+#define PC7_WPORT		PORTC
+#define PC7_DDR			DDRC
+#define PC7_PWM			NULL
+
+#undef PD0
+#define PD0_PIN			PIND0
+#define PD0_RPORT		PIND
+#define PD0_WPORT		PORTD
+#define PD0_DDR			DDRD
+#define PD0_PWM			NULL
+#undef PD1
+#define PD1_PIN			PIND1
+#define PD1_RPORT		PIND
+#define PD1_WPORT		PORTD
+#define PD1_DDR			DDRD
+#define PD1_PWM			NULL
+#undef PD2
+#define PD2_PIN			PIND2
+#define PD2_RPORT		PIND
+#define PD2_WPORT		PORTD
+#define PD2_DDR			DDRD
+#define PD2_PWM			NULL
+#undef PD3
+#define PD3_PIN			PIND3
+#define PD3_RPORT		PIND
+#define PD3_WPORT		PORTD
+#define PD3_DDR			DDRD
+#define PD3_PWM			NULL
+#undef PD4
+#define PD4_PIN			PIND4
+#define PD4_RPORT		PIND
+#define PD4_WPORT		PORTD
+#define PD4_DDR			DDRD
+#define PD4_PWM			NULL
+#undef PD5
+#define PD5_PIN			PIND5
+#define PD5_RPORT		PIND
+#define PD5_WPORT		PORTD
+#define PD5_DDR			DDRD
+#define PD5_PWM			NULL
+#undef PD6
+#define PD6_PIN			PIND6
+#define PD6_RPORT		PIND
+#define PD6_WPORT		PORTD
+#define PD6_DDR			DDRD
+#define PD6_PWM			NULL
+#undef PD7
+#define PD7_PIN			PIND7
+#define PD7_RPORT		PIND
+#define PD7_WPORT		PORTD
+#define PD7_DDR			DDRD
+#define PD7_PWM			NULL
+
+#undef PE0
+#define PE0_PIN			PINE0
+#define PE0_RPORT		PINE
+#define PE0_WPORT		PORTE
+#define PE0_DDR			DDRE
+#define PE0_PWM			NULL
+#undef PE1
+#define PE1_PIN			PINE1
+#define PE1_RPORT		PINE
+#define PE1_WPORT		PORTE
+#define PE1_DDR			DDRE
+#define PE1_PWM			NULL
+#undef PE2
+#define PE2_PIN			PINE2
+#define PE2_RPORT		PINE
+#define PE2_WPORT		PORTE
+#define PE2_DDR			DDRE
+#define PE2_PWM			NULL
+#undef PE3
+#define PE3_PIN			PINE3
+#define PE3_RPORT		PINE
+#define PE3_WPORT		PORTE
+#define PE3_DDR			DDRE
+#define PE3_PWM			&OCR3AL
+#undef PE4
+#define PE4_PIN			PINE4
+#define PE4_RPORT		PINE
+#define PE4_WPORT		PORTE
+#define PE4_DDR			DDRE
+#define PE4_PWM			&OCR3BL
+#undef PE5
+#define PE5_PIN			PINE5
+#define PE5_RPORT		PINE
+#define PE5_WPORT		PORTE
+#define PE5_DDR			DDRE
+#define PE5_PWM			&OCR3CL
+#undef PE6
+#define PE6_PIN			PINE6
+#define PE6_RPORT		PINE
+#define PE6_WPORT		PORTE
+#define PE6_DDR			DDRE
+#define PE6_PWM			NULL
+#undef PE7
+#define PE7_PIN			PINE7
+#define PE7_RPORT		PINE
+#define PE7_WPORT		PORTE
+#define PE7_DDR			DDRE
+#define PE7_PWM			NULL
+
+#undef PF0
+#define PF0_PIN			PINF0
+#define PF0_RPORT		PINF
+#define PF0_WPORT		PORTF
+#define PF0_DDR			DDRF
+#define PF0_PWM			NULL
+#undef PF1
+#define PF1_PIN			PINF1
+#define PF1_RPORT		PINF
+#define PF1_WPORT		PORTF
+#define PF1_DDR			DDRF
+#define PF1_PWM			NULL
+#undef PF2
+#define PF2_PIN			PINF2
+#define PF2_RPORT		PINF
+#define PF2_WPORT		PORTF
+#define PF2_DDR			DDRF
+#define PF2_PWM			NULL
+#undef PF3
+#define PF3_PIN			PINF3
+#define PF3_RPORT		PINF
+#define PF3_WPORT		PORTF
+#define PF3_DDR			DDRF
+#define PF3_PWM			NULL
+#undef PF4
+#define PF4_PIN			PINF4
+#define PF4_RPORT		PINF
+#define PF4_WPORT		PORTF
+#define PF4_DDR			DDRF
+#define PF4_PWM			NULL
+#undef PF5
+#define PF5_PIN			PINF5
+#define PF5_RPORT		PINF
+#define PF5_WPORT		PORTF
+#define PF5_DDR			DDRF
+#define PF5_PWM			NULL
+#undef PF6
+#define PF6_PIN			PINF6
+#define PF6_RPORT		PINF
+#define PF6_WPORT		PORTF
+#define PF6_DDR			DDRF
+#define PF6_PWM			NULL
+#undef PF7
+#define PF7_PIN			PINF7
+#define PF7_RPORT		PINF
+#define PF7_WPORT		PORTF
+#define PF7_DDR			DDRF
+#define PF7_PWM			NULL
+
+#undef PG0
+#define PG0_PIN			PING0
+#define PG0_RPORT		PING
+#define PG0_WPORT		PORTG
+#define PG0_DDR			DDRG
+#define PG0_PWM			NULL
+#undef PG1
+#define PG1_PIN			PING1
+#define PG1_RPORT		PING
+#define PG1_WPORT		PORTG
+#define PG1_DDR			DDRG
+#define PG1_PWM			NULL
+#undef PG2
+#define PG2_PIN			PING2
+#define PG2_RPORT		PING
+#define PG2_WPORT		PORTG
+#define PG2_DDR			DDRG
+#define PG2_PWM			NULL
+#undef PG3
+#define PG3_PIN			PING3
+#define PG3_RPORT		PING
+#define PG3_WPORT		PORTG
+#define PG3_DDR			DDRG
+#define PG3_PWM			NULL
+#undef PG4
+#define PG4_PIN			PING4
+#define PG4_RPORT		PING
+#define PG4_WPORT		PORTG
+#define PG4_DDR			DDRG
+#define PG4_PWM			NULL
+#undef PG5
+#define PG5_PIN			PING5
+#define PG5_RPORT		PING
+#define PG5_WPORT		PORTG
+#define PG5_DDR			DDRG
+#define PG5_PWM			&OCR0B
+
+
+#endif
+
+#ifndef	DIO0_PIN
+#error pins for this chip not defined in arduino.h! If you write an appropriate pin definition and have this firmware work on your chip, please submit a pull request
+#endif
+
+#endif /* _FASTIO_ARDUINO_H */

+ 5992 - 0
hex_files/175-RAMBo1-0a-cz.hex

@@ -0,0 +1,5992 @@
+:100000000C94250F0C94560F0C94560F0C94560F0D
+:100010000C94560F0C94560F0C94560F0C94560FCC
+:100020000C94560F0C94560F0C94560F0C94560FBC
+:100030000C94560F0C9421AD0C94560F0C94560F43
+:100040000C94560F0C94FA8B0C94560F0C94560F7C
+:100050000C94560F0C94560F0C9439260C94E7A868
+:100060000C94560F0C940D890C94560F0C94560F4B
+:100070000C94560F0C94560F0C94560F0C94560F6C
+:100080000C94560F0C94560F0C94560F0C94560F5C
+:100090000C94560F0C94560F0C94560F0C9419A6F2
+:1000A0000C94560F0C94560F0C94560F0C94560F3C
+:1000B0000C94560F0C94560F0C94560F0C94560F2C
+:1000C0000C94560F0C94560F0C94560F0C94560F1C
+:1000D0000C94560F0C94560F0C94560F0C94560F0C
+:1000E0000C94560F86269426B026BE26D826E626E1
+:1000F0000027042706270A2712276BA770A775A7D2
+:100100007FA7F8A789A791A799A7A3A7ADA7B7A786
+:10011000C6A7D0A7F8A7DAA7E4A7EEA716A819A83C
+:100120000CA810A850A81DA821A827A82BA82FA864
+:1001300035A839A83DA850A843A847A84BA8084A05
+:10014000D73B3BCE016E84BCBFFDC12F3D6C7431EB
+:100150009ABD56833DDA3D00C77F11BED9E4BB4C42
+:100160003E916BAAAABE000000803F05A84CCDB20C
+:10017000D44EB93836A9020C50B9918688083CA6ED
+:10018000AAAA2ABE000000803F007C3C3E5E2B3DB8
+:100190003F2F5B5D3B2C2A225C004572723A204D5A
+:1001A000415854454D50204245440054656D70659A
+:1001B000726174757265206865617465642062653A
+:1001C00064207377697463686564206F66662E20A7
+:1001D0004D415854454D502074726967676572658A
+:1001E00064202121004572723A204D494E54454DFC
+:1001F00050003A204578747275646572207377698F
+:100200007463686564206F66662E204D494E5445C0
+:100210004D502074726967676572656420210045DE
+:1002200072723A204D415854454D50003A2045785D
+:10023000747275646572207377697463686564208D
+:100240006F66662E204D415854454D50207472699A
+:10025000676765726564202100202D20496E7661F4
+:100260006C6964206578747275646572206E756D52
+:10027000626572202100504944204175746F747585
+:100280006E652066696E69736865642120507574B7
+:1002900020746865206C617374204B702C204B694E
+:1002A00020616E64204B6420636F6E7374616E74A2
+:1002B000732066726F6D2061626F766520696E745F
+:1002C0006F20436F6E66696775726174696F6E2E19
+:1002D0006800504944204175746F74756E652066DE
+:1002E00061696C6564212074696D656F75740020A7
+:1002F000403A006F6B20543A006F6B20423A005036
+:100300004944204175746F74756E65206661696C2F
+:100310006564212054656D70657261747572652025
+:10032000746F6F206869676800204B643A20002072
+:100330004B693A2000204B703A200020436C6173D7
+:100340007369632050494420002054753A200020EE
+:100350004B753A2000206D61783A2000206D696E5F
+:100360003A200020643A200020626961733A20003C
+:1003700070012C0190012701B0012201C0011D0173
+:10038000F00118011002130130020E016002090190
+:1003900090020401C002FF000003FA004003F500D0
+:1003A0008003F000D003EB002004E6007004E100BD
+:1003B000E004DC004005D700C005D2004006CD00B7
+:1003C000D006C8008007C3003008BE00F008B9009E
+:1003D000C009B400B00AAF00B00BAA00D00CA50051
+:1003E000000EA000500F9B00C0109600501291000C
+:1003F00000148C00C0158700B0178200B0197D0072
+:10040000D01B7800001E730040206E00902269000F
+:10041000F024640040275F0090295A00E02B55002B
+:10042000102E500020304B0010324600E0334100C7
+:1004300090353C001037370070383200A0392D005D
+:10044000B03A2800A03B2300603C1E00103D19007C
+:10045000903D1400103E0F00703E0A00C03E0500A3
+:10046000003F00004D383420582059205A204500C4
+:1004700043616E6E6F7420656E7465722073756271
+:100480006469723A20004D3234004D3233202573B6
+:10049000006175746F25692E67006572726F722036
+:1004A00077726974696E6720746F2066696C650085
+:1004B0004E6F74205344207072696E74696E6700C9
+:1004C0002F005344207072696E74696E67206279E0
+:1004D000746520002E0044656C6574696F6E20663B
+:1004E00061696C65642C2046696C653A2000466938
+:1004F0006C652064656C657465643A002E006F70ED
+:10050000656E206661696C65642C2046696C653A8D
+:10051000200057726974696E6720746F2066696C79
+:10052000653A20002E006F70656E206661696C650B
+:10053000642C2046696C653A20002E006F70656E51
+:10054000206661696C65642C2046696C653A200000
+:1005500046696C652073656C65637465640020533F
+:10056000697A653A200046696C65206F70656E6532
+:10057000643A20002E006F70656E206661696C65BC
+:10058000642C2046696C653A20004E6F77206672B5
+:100590006573682066696C653A20004E6F77206449
+:1005A0006F696E672066696C653A20002220706F63
+:1005B00073002220706172656E743A2200535542B6
+:1005C000524F5554494E452043414C4C2074617262
+:1005D0006765743A2200747279696E6720746F20BF
+:1005E00063616C6C207375622D67636F6465206650
+:1005F000696C6573207769746820746F6F206D6112
+:100600006E79206C6576656C732E204D4158206C98
+:100610006576656C2069733A0053442063617264A7
+:10062000206F6B006F70656E526F6F74206661692A
+:100630006C656400766F6C756D652E696E697420EB
+:100640006661696C656400534420696E6974206654
+:1006500061696C0000002110422063308440A55085
+:10066000C660E770088129914AA16BB18CC1ADD1F8
+:10067000CEE1EFF13112100273325222B5529442A0
+:10068000F772D662399318837BB35AA3BDD39CC348
+:10069000FFF3DEE36224433420040114E664C774EC
+:1006A000A44485546AA54BB528850995EEE5CFF598
+:1006B000ACC58DD55336722611163006D776F66640
+:1006C0009556B4465BB77AA719973887DFF7FEE7E8
+:1006D0009DD7BCC7C448E5588668A778400861180C
+:1006E00002282338CCC9EDD98EE9AFF94889699938
+:1006F0000AA92BB9F55AD44AB77A966A711A500AE0
+:10070000333A122AFDDBDCCBBFFB9EEB799B588B87
+:100710003BBB1AABA66C877CE44CC55C222C033C2B
+:10072000600C411CAEED8FFDECCDCDDD2AAD0BBDD7
+:10073000688D499D977EB66ED55EF44E133E322E7F
+:10074000511E700E9FFFBEEFDDDFFCCF1BBF3AAF27
+:10075000599F788F8891A981CAB1EBA10CD12DC185
+:100760004EF16FE18010A100C230E320045025401B
+:1007700046706760B9839893FBA3DAB33DC31CD37B
+:100780007FE35EF3B1029012F322D232354214526B
+:1007900077625672EAB5CBA5A89589856EF54FE5C7
+:1007A0002CD50DC5E234C324A014810466744764BB
+:1007B00024540544DBA7FAB79987B8975FE77EF71B
+:1007C0001DC73CD7D326F2369106B016576676760B
+:1007D000154634564CD96DC90EF92FE9C899E989E7
+:1007E0008AB9ABA94458654806782768C018E1085B
+:1007F0008238A3287DCB5CDB3FEB1EFBF98BD89BBB
+:10080000BBAB9ABB754A545A376A167AF10AD01AAA
+:10081000B32A923A2EFD0FED6CDD4DCDAABD8BAD06
+:10082000E89DC98D267C076C645C454CA23C832CFA
+:10083000E01CC10C1FEF3EFF5DCF7CDF9BAFBABF5A
+:10084000D98FF89F176E367E554E745E932EB23E4A
+:10085000D10EF01E53544F505045442E200050727C
+:10086000696E7465722073746F707065642064754E
+:100870006520746F206572726F72732E20466978DE
+:1008800020746865206572726F7220616E642075D5
+:100890007365204D39393920746F20726573746126
+:1008A00072742E202854656D70657261747572655E
+:1008B0002069732072657365742E205365742069F6
+:1008C00074206166746572207265737461727469F4
+:1008D0006E6729004B494C4C45442E2000507269EC
+:1008E0006E7465722068616C7465642E206B696C2F
+:1008F0006C28292063616C6C656421006F6B005269
+:100900006573656E643A20002200556E6B6E6F77DA
+:100910006E20636F6D6D616E643A2022004D32323D
+:100920003020532569005A204F6666736574203A5B
+:1009300020007A5F6D61783A20007A5F6D696E3AC7
+:1009400020005A204F6666736574005A204F666611
+:10095000736574206F6B002200556E6B6E6F776E3F
+:1009600020636F6D6D616E643A2022007A5F6D6165
+:10097000783A20007A5F6D696E3A2000795F6D6188
+:10098000783A2000795F6D696E3A2000785F6D617A
+:10099000783A2000785F6D696E3A2000205A3A005C
+:1009A00020593A0020436F756E7420583A20002079
+:1009B000453A00205A3A0020593A00583A00464930
+:1009C000524D574152455F4E414D453A4D61726C13
+:1009D000696E2056312E302E323B20537072696E74
+:1009E0007465722F6772626C206D61736875702018
+:1009F000666F722067656E36204649524D574152E8
+:100A0000455F55524C3A68747470733A2F2F67697A
+:100A1000746875622E636F6D2F4D61726C696E46DE
+:100A200069726D776172652F4D61726C696E2050CD
+:100A3000524F544F434F4C5F56455253494F4E3AD5
+:100A4000312E30204D414348494E455F5459504561
+:100A50003A50727573612069332045585452554499
+:100A600045525F434F554E543A3120555549443A0B
+:100A700030303030303030302D303030302D30307C
+:100A800030302D303030302D30303030303030306C
+:100A9000303030300A005072757361206933204F56
+:100AA00066662E005072757361206933207265612D
+:100AB00064792E0042656420646F6E652E002042CA
+:100AC0003A0020453A00543A004265642048656186
+:100AD00074696E672E0048656174696E6720646F83
+:100AE0006E652E0020573A0020453A00543A0048DF
+:100AF000656174696E672E2E2E002042403A0020F8
+:100B0000403A00202F003A00205400202F002042BD
+:100B10003A00202F006F6B20543A002569206D6940
+:100B20006E2C2025692073656300456E642066691C
+:100B30006C65206C69737400426567696E20666934
+:100B40006C65206C697374004E6F206D6F76652E36
+:100B50000050727573612069332072656164792E6B
+:100B600000526573756D696E67207072696E7400EE
+:100B70005761697420666F7220757365722E2E2E10
+:100B800000536C6565702E2E2E00256920686F75E8
+:100B90007273202569206D696E7574657300446FEA
+:100BA0006E65207072696E74696E672066696C6527
+:100BB0000053544F505045442E20005072696E74BB
+:100BC00065722073746F707065642064756520743D
+:100BD0006F206572726F72732E2046697820746878
+:100BE00065206572726F7220616E64207573652076
+:100BF0004D39393920746F20726573746172742EA7
+:100C0000202854656D706572617475726520697312
+:100C10002072657365742E20536574206974206199
+:100C2000667465722072657374617274696E672987
+:100C3000004E6F204C696E65204E756D62657220A6
+:100C40007769746820636865636B73756D2C204CDD
+:100C5000617374204C696E653A20004E6F204368C2
+:100C600065636B73756D2077697468206C696E6558
+:100C7000206E756D6265722C204C617374204C6916
+:100C80006E653A2000636865636B73756D206D69EE
+:100C9000736D617463682C204C617374204C696EB1
+:100CA000653A20004C696E65204E756D6265722054
+:100CB0006973206E6F74204C617374204C696E658B
+:100CC000204E756D6265722B312C204C617374203F
+:100CD0004C696E653A20004D31313000446F6E65CD
+:100CE00020736176696E672066696C652E006F6B94
+:100CF000004D3239002020506C616E6E6572427575
+:100D00006666657242797465733A200020467265A2
+:100D100065204D656D6F72793A200044656320321D
+:100D200033203230313500436F6D70696C65643A41
+:100D30002000286E6F6E652C2064656661756C748A
+:100D400020636F6E6669672900207C204175746896
+:100D50006F723A20004465632032332032303135DF
+:100D60002031353A34373A303600204C61737420E4
+:100D7000557064617465643A2000312E302E320063
+:100D80004D61726C696E0020536F66747761726595
+:100D900020526573657400205761746368646F67DF
+:100DA000205265736574002042726F776E206F75F4
+:100DB00074205265736574002045787465726E61A5
+:100DC0006C20526573657400506F776572557000C2
+:100DD0007374617274002200656E717565696E6767
+:100DE0002022002200656E717565696E6720220001
+:100DF000FFFFFF0000A0400000A0400000004000F6
+:100E0000005643000046431FC54843000000000051
+:100E10000000001F856B3E00005643000046430063
+:100E200000494300000000000000001F856B3E6584
+:100E300063686F3A004572726F723A004361726480
+:100E40002072656D6F766564004361726420696E1F
+:100E50007365727465640047312045343020463133
+:100E60003030004731204536352046343030004D93
+:100E7000383300473120452D38302046343030009B
+:100E80004D3833002D2D3A2D2D002D2D2D0053449E
+:100E9000000120000120004D363030004368616EB3
+:100EA00067652066696C616D656E7400466C6F776E
+:100EB00000466C6F770046616E2073706565640054
+:100EC00046616E207370656564004265640042652A
+:100ED00064004E6F7A7A6C65004E6F7A7A6C6500AA
+:100EE0005370656564005370656564004D61696E9B
+:100EF00000436F6F6C646F776E00464C4558202D31
+:100F000020203235302F35300050502020202D2029
+:100F1000203235342F3130300048495053202D20B5
+:100F2000203232302F3130300050455420202D20D7
+:100F3000203234302F393000504C4120202D2020D9
+:100F40003232302F35300041425320202D202032C4
+:100F500038352F313030004D61696E004D38340026
+:100F60004D383420582059205A2045004D32340045
+:100F70004D323320257300052E2E004D61696E0021
+:100F800046616E2073706565640046616E20737003
+:100F90006565640042656400426564004E6F7A7A5C
+:100FA0006C65004E6F7A7A6C650053657474696E77
+:100FB000677300580059005A00457874727564656B
+:100FC00072004578747275646572004D6F766520A5
+:100FD0005A004D6F76652059004D6F766520580098
+:100FE00053657474696E67730047323800417574D5
+:100FF0006F20686F6D65004D38340044697361621D
+:101000006C652073746570706572730047323820A8
+:101010005A0043616C696272617465205A004D6FB9
+:10102000766520617869730054656D7065726174CE
+:10103000757265004D61696E005265763A203330F5
+:10104000302D316100686F77746F2E707275736127
+:1010500033642E636F6D00666F72756D2E707275DE
+:10106000736133642E636F6D0070727573613364E6
+:101070002E636F6D004669726D77617265202D2059
+:10108000322E322E31004D61696E00537570706FD3
+:1010900072740053657474696E677300556E6C6F7B
+:1010A00061642066696C616D656E74004C6F61648B
+:1010B0002066696C616D656E74004E6F205344202C
+:1010C00063617264005072696E742066726F6D2085
+:1010D00053440053746F70207072696E74005265CF
+:1010E00073756D65207072696E74005061757365FB
+:1010F000207072696E740050726568656174005486
+:10110000756E6500496E666F2073637265656E006B
+:1011100048617264636F6465642044656661756CE0
+:10112000742053657474696E6773204C6F616465D5
+:10113000640046696C616D656E74207365747469D2
+:101140006E67733A2044697361626C6564002020A5
+:10115000204D32303020440046696C616D656E74FC
+:101160002073657474696E67733A002020204D32D5
+:1011700030392053004175746F2D5265747261636C
+:10118000743A20533D3020746F2064697361626C3F
+:10119000652C203120746F20696E746572707265E1
+:1011A0007420657874727564652D6F6E6C79206D2E
+:1011B0006F766573206173207265747261637473F6
+:1011C000206F72207265636F7665726965730020A7
+:1011D00046002020204D3230382053005265636F86
+:1011E0007665723A20533D4578747261206C656E65
+:1011F00067746820286D6D2920463A5370656564D0
+:1012000020286D6D2F6D2900205A002046002020D7
+:10121000204D323037205300526574726163743A46
+:1012200020533D4C656E67746820286D6D292046FB
+:101230003A537065656420286D6D2F6D29205A3AE8
+:10124000205A4C69667420286D6D290020440020C6
+:1012500049002020204D3330312050005049442097
+:1012600073657474696E67733A00205A00205900E0
+:1012700020204D323036205800486F6D65206F6653
+:101280006673657420286D6D293A00204500205A48
+:101290000020580020420020540020204D323035DC
+:1012A000205300416476616E6365642076617269E3
+:1012B00061626C65733A20533D4D696E20666565C9
+:1012C000647261746520286D6D2F73292C20543D44
+:1012D0004D696E2074726176656C20666565647216
+:1012E00061746520286D6D2F73292C20423D6D6936
+:1012F0006E696D756D207365676D656E74207469B8
+:101300006D6520286D73292C20583D6D6178696DBD
+:10131000756D205859206A65726B20286D6D2F738A
+:10132000292C20205A3D6D6178696D756D205A20F9
+:101330006A65726B20286D6D2F73292C2020453D26
+:101340006D6178696D756D2045206A65726B202826
+:101350006D6D2F73290020540020204D3230342031
+:101360005300416363656C65726174696F6E3A2006
+:10137000533D616363656C65726174696F6E2C20A7
+:10138000543D7265747261637420616363656C655A
+:10139000726174696F6E00204500205A0020590068
+:1013A00020204D3230312058004D6178696D756DC7
+:1013B00020416363656C65726174696F6E20286D8E
+:1013C0006D2F7332293A00204500205A0020590021
+:1013D00020204D3230332058004D6178696D756D95
+:1013E0002066656564726174657320286D6D2F7366
+:1013F000293A00204500205A0020590020204D396C
+:101400003220580053746570732070657220756EB9
+:1014100069743A0045303A20005A3A2000593A207F
+:1014200000583A20004D53312C4D53322050696EF4
+:10143000730A00656E6473746F7073206869743A20
+:10144000205A00205A3A00656E6473746F707320DE
+:101450006869743A20590020593A00656E647374C3
+:101460006F7073206869743A20580020583A0065FC
+:101470006E6473746F7073206869743A200024F48A
+:10148000D43050C38E20C2A24017828B7011127AC2
+:10149000910D816CD90AA861E108C75866076151AE
+:1014A00043061E4B5D05C145A7041A411104093DC1
+:1014B0009803713931034036DB0265339102D43031
+:1014C0005402802E1D02632CEE01752AC501B0283E
+:1014D000A001102781018F2564012B244B01E022FC
+:1014E0003401AC211F018D200D01801FFC00841EE2
+:1014F000ED00971DDF00B81CD200E61BC600201BC4
+:10150000BC00641AB200B219A8000A19A0006A1837
+:101510009900D117910040178B00B5168400311641
+:101520007E00B31579003A157300C7146F00581484
+:101530006A00EE1366008813630025135E00C7126D
+:101540005B006C12570015125400C111510070114C
+:101550004F0021114B00D61049008D104700461056
+:10156000440002104200C00F4000800F3E00420FB6
+:101570003C00060F3B00CB0E3800930E37005C0E8C
+:101580003500270E3400F30D3200C10D3100900DEF
+:101590003000600D2E00320D2D00050D2C00D90CF1
+:1015A0002B00AE0C2900850C29005C0C2700350CA3
+:1015B00027000E0C2600E80B2400C40B2400A00B0F
+:1015C00023007D0B23005A0B2100390B2100180B3F
+:1015D0002000F80A1F00D90A1E00BB0A1E009D0A3F
+:1015E0001D00800A1D00630A1C00470A1B002C0A0C
+:1015F0001B00110A1A00F7091A00DD091900C409B5
+:101600001900AB091900920917007B09180063093A
+:1016100017004C09160036091600200916000A09A1
+:101620001500F5081500E0081400CC081400B808EF
+:101630001400A4081400900813007D0812006B0821
+:10164000130058081200460812003408110023083D
+:1016500011001208110001081100F0071000E00746
+:101660001000D0071000C0071000B0070F00A1073E
+:10167000100091070E0083070F0074070F00650725
+:101680000E0057070E0049070E003B070D002E07FE
+:101690000E0020070D0013070D0006070D00F906C8
+:1016A0000C00ED060D00E0060C00D4060C00C80688
+:1016B0000C00BC060C00B0060C00A4060B0099063A
+:1016C0000C008D060B0082060B0077060B006C06E3
+:1016D0000B0061060A0057060B004C060A00420682
+:1016E0000A0038060A002E060A0024060A001A0616
+:1016F0000A001006090007060A00FD050900F405A6
+:101700000900EB050900E2050900D9050900D0052B
+:101710000900C7050900BE050900B5050800AD05AB
+:101720000800A50509009C050800940508008C0523
+:101730000800840508007C050800740508006C0595
+:101740000700650508005D050700560508004E0501
+:101750000700470507004005080038050700310568
+:1017600007002A050700230507001C0506001605CB
+:1017700007000F0507000805060002050700FB0427
+:101780000600F5040700EE040600E8040600E20483
+:101790000700DB040600D5040600CF040600C904D8
+:1017A0000600C3040600BD040600B7040600B10429
+:1017B0000500AC040600A6040600A00405009B0476
+:1017C000060095040500900406008A0405008504BF
+:1017D0000500800406007A04050075040500700405
+:1017E00005006B04050066040500610405005C0447
+:1017F000050057040500520405004D040500480487
+:101800000500430405003E0404003A0405003504C5
+:101810000500300404002C04050027040400230400
+:1018200005001E0404001A04040016040500110437
+:1018300004000D040400090405000404040000046D
+:101840000400FC030400F8030400F4030400F003A4
+:101850000400EC030400E8030400E4030400E003D4
+:101860000400DC030400D8030400D4030400D00304
+:101870000400CC030400C8030300C503030024F4E0
+:1018800004D9201BC40C5C0E9804C4095F026507D0
+:101890007101F405F900FB04B30048048700C1039B
+:1018A00069005803550003034500BE023A00840254
+:1018B000310053022A002902250004022000E4011D
+:1018C0001C00C8011900AF01170098011400840121
+:1018D0001300710110006101100051010E0043015D
+:1018E0000D0036010B002B010B0020010B00150130
+:1018F00009000C01090003010800FB000800F300C7
+:101900000800EB000700E4000600DE000600D80037
+:101910000600D2000600CC000500C7000500C2008A
+:101920000500BD000400B9000400B5000400B100CA
+:101930000400AD000400A9000400A5000300A200FB
+:1019400003009F0004009B00030098000300950023
+:10195000020093000300900003008D0002008B0042
+:10196000030088000200860002008400030081005A
+:1019700002007F0002007D0002007B00020079006F
+:10198000020077000100760002007400020072007D
+:101990000100710002006F0002006D0001006C0088
+:1019A00002006A0001006900020067000100660091
+:1019B0000100650001006400020062000100610096
+:1019C0000100600001005F0002005D0001005C009A
+:1019D00001005B0001005A0001005900010058009D
+:1019E000010057000100560001005500010054009D
+:1019F000010053000000530001005200010051009B
+:101A00000100500001004F0001004E0000004E0098
+:101A100001004D0001004C0001004B0000004B0094
+:101A200001004A0001004900010048000000480090
+:101A3000010047000100460000004600010045008B
+:101A40000000450001004400010043000000430085
+:101A5000010042000000420001004100000041007E
+:101A60000100400001003F0000003F0001003E0077
+:101A700000003E0001003D0000003D0001003C0070
+:101A800000003C0000003C0001003B0000003B0067
+:101A900001003A0000003A0001003900000039005E
+:101AA0000100380000003800000038000100370055
+:101AB000000037000100360000003600000036004C
+:101AC0000100350000003500000035000100340041
+:101AD0000000340000003400010033000000330037
+:101AE000000033000100320000003200000032002C
+:101AF0000100310000003100000031000100300021
+:101B0000000030000000300001002F0000002F0016
+:101B100000002F0000002F0001002E0000002E000A
+:101B200000002E0001002D0000002D0000002D00FF
+:101B300000002D0001002C0000002C0000002C00F3
+:101B400000002C0001002B0000002B0000002B00E7
+:101B500000002B0001002A0000002A0000002A00DB
+:101B600000002A00010029000000290000002900CF
+:101B700000002900000029000100280000002800C2
+:101B800000002800000028000000280001002700B5
+:101B900000002700000027000000270000002700A9
+:101BA000010026000000260000002600000026009C
+:101BB000000026000100250000002500000025008F
+:101BC0000000250000002500000025000100240081
+:101BD0000000240000002400000024000000240075
+:101BE0000100230000002300000023000000230068
+:101BF0000000230000002300000023000100220059
+:101C0000000022000000220000002200000022004C
+:101C1000000022000100210000002100000021003E
+:101C20000000210000002100000021000000210030
+:101C30000100200000002000000020000000200023
+:101C40000000200000002000000020000000200014
+:101C500001001F0000001F0000001F0000001F0007
+:101C600000001F0000001F0000001F0001001E00F8
+:101C700000001E0000001E0000001E000000207476
+:101C80006F6F206C6F6E6720657874727573696F03
+:101C90006E2070726576656E7465640020636F6C8B
+:101CA0006420657874727573696F6E2070726576E2
+:101CB000656E746564000000090A02080B0C0D07CC
+:101CC0000603040100000000000000000000000006
+:101CD0000000000000000000000000000000000004
+:101CE000000011100F0000000000000000000000C4
+:101CF00000000000000000000000000000000000E4
+:101D000000000000000000000000000001021020A0
+:101D10002008081020401020408002010201080421
+:101D200002010102040810204080804020100804B5
+:101D3000020180040201804020100804020108040E
+:101D40000201010204081020408001020408102052
+:101D5000408010080408801020400440801020407B
+:101D600004800505050507050808080802020202A7
+:101D70000A0A080804040404010101010101010127
+:101D80000303030303030303040707070C0C0C0CF2
+:101D90000C0C0C0C020202020606060606060606DB
+:101DA0000B0B0B0B0B0B0B0B07070A0A0A0A0A0A91
+:101DB000050505040404080800002000230026008F
+:101DC00029002C002F003200000100000301060151
+:101DD000090100002200250028002B002E00310000
+:101DE000340002010000050108010B010000210080
+:101DF000240027002A002D003000330001010000DC
+:101E0000040107010A01024E414E494E4954594905
+:101E10004E46CDCCCC3D0AD7233C17B7D13877CC32
+:101E20002B329595E6241FB14F0A00002041000097
+:101E3000C84200401C4620BCBE4CCA1B0E5AAEC550
+:101E40009D749D63FF7DEDA5A16311241FBECFEF9F
+:101E5000D1E2DEBFCDBF00E00CBF15E0A0E0B2E0F4
+:101E6000E2E6F2E701E00BBF02C007900D92A23E4E
+:101E7000B107D9F724E1A2EEB5E001C01D92AD3B58
+:101E8000B207E1F71EE1C8E4DEE100E006C02297F8
+:101E90000109FE010BBF0E94D8B2C234D10780E015
+:101EA0000807A9F70E94F1A90C9420B90C9400002E
+:101EB000CF93DF93EC019C012C5F3F4F41E050E05A
+:101EC00060E070E0898D9A8D0E94FA19882399F05C
+:101ED0004D895E896F89788D452B462B472B59F4A8
+:101EE0004C815D816E817F814D8B5E8B6F8B788F96
+:101EF000998190689983DF91CF910895CF92DF9275
+:101F0000EF92FF920F931F93CF93DF93EC01898998
+:101F10009A89AB89BC89803E9F4FAF41B10510F0D3
+:101F200080E06BC0CE01C4DF8823D1F30E940E187D
+:101F3000182F8823A9F3E98DFA8DCC80DD80EE80FF
+:101F4000FF8032E0C31AD108E108F108058404C01B
+:101F5000CC0CDD1CEE1CFF1C0A94D2F786859785FD
+:101F6000A089B189C80ED91EEA1EFB1E81E08093AC
+:101F7000E805C092EB07D092EC07E092ED07F092F3
+:101F8000EE0780E092E0EBEEF5E0DF019C011D92B0
+:101F900021503040E1F701E0E98DFA8D8481081786
+:101FA00090F42BEE35E0B701A601400F511D611DE5
+:101FB000711D8091E9059091EA050E94E73B882315
+:101FC000E1F00F5FE9CFC12C82E0D82EE12CF12C9B
+:101FD000058404C0CC0CDD1CEE1CFF1C0A94D2F757
+:101FE00049895A896B897C894C0D5D1D6E1D7F1D49
+:101FF000498B5A8B6B8B7C8B812FDF91CF911F91FB
+:102000000F91FF90EF90DF90CF900895CF93DF93E3
+:10201000EC0141E0611101C040E06C857D858E8559
+:102020009F850E944E18882341F0888920E2829F74
+:10203000C001112485519A4F02C080E090E0DF91E9
+:10204000CF91089530E020E04EE2DC015C91503207
+:1020500071F0383029F4FB01E20FF11D40832F5F4E
+:10206000FB01E20FF11DDC015C9150832F5F3F5FAC
+:1020700001963B3051F7FB01E20FF11D10820895EC
+:10208000CF93DF93EB01FC012381211102C080E09B
+:102090000EC02250223020F48FE28883198206C0BD
+:1020A00060E0B4DF009799F3BE01CCDF81E0DF91FF
+:1020B000CF910895FB012BE030E231932150E9F7F5
+:1020C000DC0190E027E03A2FEB2F8D9181110AC0BF
+:1020D000DA013C931196EC9381E0FB019081903200
+:1020E00039F525C08F32A1F38E3219F0EAE8F1E01C
+:1020F00008C02A30E1F098E02AE0E5CF31963817A1
+:10210000B1F034913111FACF291788F03FED380F33
+:102110003E3568F431E0390FFB01E90FF11D9FE90D
+:10212000980F9A3108F480528083932FCCCF80E0AF
+:1021300008950F931F93CF93DF93EC018B018B8155
+:10214000882311F080E042C0FB018789803139F19A
+:102150008032C1F783E08B83F801428D538D648D0B
+:10216000758D4D8B5E8B6F8B788F9E012F5E3F4FF1
+:10217000C8010E940519882329F31A8F098F81E06D
+:1021800089831C821D821E821F82188619861A86E8
+:102190001B861C861D861E861F86188A17C082E035
+:1021A0008B831D8A1E8A1F8A188EFB01408D518DDC
+:1021B00060E070E095E0440F551F661F771F9A9509
+:1021C000D1F7498B5A8B6B8B7C8BD7CFDF91CF911B
+:1021D0001F910F9108952F923F924F925F926F92AD
+:1021E0007F928F929F92AF92BF92CF92DF92EF92A7
+:1021F000FF920F931F93CF93DF93EC015B016A0172
+:102200008B81811103C08FEF9FEFC7C0898180FF51
+:10221000FACF49895A896B897C8988859985AA85ED
+:10222000BB852601612C712C8A019B01081B190BAF
+:102230002A0B3B0B401651066206730618F06A0122
+:10224000C81AD90A76013E0124E0620E711CE1141D
+:10225000F10409F476C0488559856A857B854A0171
+:1022600081E098222B811A012B01E9E056944794D2
+:1022700037942794EA95D1F7898D9A8DFC01223005
+:1022800049F4628D738D848D958D620D731D841D4F
+:10229000951D3CC014811150122181149104C1F488
+:1022A000111116C0452B462B472B49F48D899E8969
+:1022B000AF89B88D8C839D83AE83BF8309C04C8169
+:1022C0005D816E817F81930121D7882309F49BCFA3
+:1022D000E98DFA8D6C817D818E819F8162507109BB
+:1022E00081099109058404C0660F771F881F991F13
+:1022F0000A94D2F72685378540895189620F731F6A
+:10230000841F951F610F711D811D911D20E032E01A
+:102310002819390987012E153F0508F4890101158F
+:10232000F2E01F0769F52091EB073091EC0740912F
+:10233000ED075091EE07621773078407950719F4AC
+:102340001FC0C6012AC09501AB01BC018091E905FF
+:102350009091EA050E94723B882309F454CFA00EA5
+:10236000B11E88859985AA85BB85800F911FA11D07
+:10237000B11D88879987AA87BB87E01AF10A67CFC2
+:1023800040E08CD6882309F43ECFB40165517A4FE2
+:10239000A801C5010E94F5B5E2CFDF91CF911F9151
+:1023A0000F91FF90EF90DF90CF90BF90AF909F90F4
+:1023B0008F907F906F905F904F903F902F900895F7
+:1023C000CF93DF931F92CDB7DEB741E050E0BE015F
+:1023D0006F5F7F4F00DF019719F4898190E002C0A1
+:1023E0008FEF9FEF0F90DF91CF910895CF92DF9203
+:1023F000EF92FF920F931F93CF93DF936C01EB014A
+:102400007A01FC018381823060F00085118522858C
+:1024100033850F71112722273327012B022B032B22
+:1024200011F08FEF5CC04115510511F0F7011082DA
+:102430001DE040E250E0BE01C601CDDE80329105D4
+:1024400039F021E0892B09F420E0822F819547C0E3
+:1024500028812223C1F0253E61F32E3251F33B85C2
+:102460003F733F3061F4E114F10449F04A8D5B8D14
+:10247000452B29F42F713FEF320F343030F02B858C
+:1024800023FDD7CF2CC080E02AC030E02150310995
+:10249000129FC001139F900D1124F701E80FF91F3F
+:1024A000298120832B8121832D8122832F812383E6
+:1024B000298524832E852583288926832A892783B5
+:1024C0002C8920872E892187288D22872C8D238790
+:1024D0002E8D2487288126FFD2CF1586D0CFDF917D
+:1024E000CF911F910F91FF90EF90DF90CF900895C3
+:1024F0001F93CF93DF93EC018B81823018F480E03F
+:1025000090E023C0488559856A857B85A5E076954E
+:10251000679557954795AA95D1F7142F1F70CE014F
+:102520004FDF97FDECCF488559856A857B85415EF5
+:102530005F4F6F4F7F4F488759876A877B8720E2BD
+:10254000129FC001112485519A4FDF91CF911F91A5
+:1025500008954F925F926F927F92AF92BF92CF9207
+:10256000DF92EF92FF920F931F93CF93DF93EC01D3
+:102570006A017B012B81222349F089899A89AB89E1
+:10258000BC8984179507A607B70710F480E06BC0D5
+:10259000223009F463C0C114D104E104F10449F408
+:1025A0001C821D821E821F82188619861A861B862F
+:1025B00059C088859985AA85BB85E98DFA8DE58501
+:1025C000F0E03996AC01BD01415051096109710932
+:1025D0000E2E04C076956795579547950A94D2F7C5
+:1025E00097018601015011092109310904C036956E
+:1025F000279517950795EA95D2F70417150726072B
+:10260000370720F0892B8A2B8B2B49F48D899E89E3
+:10261000AF89B88D8C839D83AE83BF8304C0041BB8
+:10262000150B260B370B280139015E0184E0A80E3B
+:10263000B11C411451046104710481F04C815D812D
+:102640006E817F819501898D9A8D60D591E0491ABF
+:102650005108610871088111ECCF05C0C886D98680
+:10266000EA86FB8681E0DF91CF911F910F91FF9069
+:10267000EF90DF90CF90BF90AF907F906F905F9082
+:102680004F9008950F931F93CF93DF93EC018B81AD
+:102690008823D1F1898187FF32C061E0CE01B6DCA9
+:1026A0008C01009789F1FC018081853E69F18B8165
+:1026B000823040F449895A896B897C89448F558FCF
+:1026C000668F778F4D895E896F89788DF801538F7A
+:1026D000428F758B648BE091E205F091E3053097B2
+:1026E00059F0B8016A5E7F4FC80148961995F80104
+:1026F000808D918D938B828B89818F778983DF91F8
+:10270000CF911F910F918AC481E0888380E0DF918F
+:10271000CF911F910F910895CF93DF93EC01B2DF1A
+:102720001B82DF91CF910895FC0123812111F4CF09
+:1027300008954F925F926F927F92AF92BF92CF9225
+:10274000DF92EF92FF920F931F93CF93DF9300D00E
+:102750001F92CDB7DEB75C016A017B01FC0183816A
+:102760008130E9F4818181FF1AC0F5018189928964
+:10277000A389B48984179507A607B70780F0892B2A
+:102780008A2B8B2B09F472C0F5014084518462843A
+:102790007384B701A601C501DCDE811102C080E0AF
+:1027A00066C0F501818D928DC114D104E104F1045C
+:1027B00069F4458956896789708D25D7882379F30F
+:1027C000F501158A168A178A108E37C0F5014481E3
+:1027D0005581668177819E012F5F3F4F97D4882373
+:1027E000F1F249815A816B817C81F501818D928D55
+:1027F000FC012789203139F4483FFFEF5F0761056D
+:102800007105D8F407C0483F2FEF520762072FE049
+:10281000720798F4F8D6882309F4C1CFF5014481F2
+:102820005581668177810FEF1FEF2FEF3FE0818D9C
+:10283000928D51D5882309F4B2CFF501C18AD28A8D
+:10284000E38AF48A818180688183C5011BDF882344
+:1028500009F4A5CFB701A6014C145D046E047F04F2
+:1028600010F4B301A201C50174DE01C081E00F9034
+:102870000F900F900F90DF91CF911F910F91FF90CC
+:10288000EF90DF90CF90BF90AF907F906F905F9070
+:102890004F900895FF920F931F93CF93DF93EC0116
+:1028A000F42E80E2689FF0011124E551FA4F8385F0
+:1028B000817121F0842F827109F04EC08091EB0765
+:1028C0009091EC07A091ED07B091EE078C879D8762
+:1028D000AE87BF87688B4489558960E070E0BA0194
+:1028E00055274427028D138D20E030E0402B512BDB
+:1028F000622B732B4D8B5E8B6F8B788F83858871EA
+:1029000051F4048D158D268D378D098B1A8B2B8BE9
+:102910003C8B81E00BC08031F9F49E012F5E3F4F6C
+:10292000898D9A8D72D48823B9F084E08B838F2DA2
+:102930008F7089831C821D821E821F8218861986D1
+:102940001A861B86F4FE0BC040E050E0BA01CE01AF
+:10295000F0DE811104C011C01B8280E00EC0F5FEC4
+:102960000BC049895A896B897C89CE01DF91CF914F
+:102970001F910F91FF90EDCD81E0DF91CF911F91DD
+:102980000F91FF900895AF92BF92CF92DF92EF9296
+:10299000FF920F931F93CF93DF937C01EB016A01AA
+:1029A000B22E898D9A8DF701928F818F40E050E091
+:1029B000BA01CE01CEDDA12C088519852A853B857B
+:1029C00089899A89AB89BC89081719072A073B07A7
+:1029D000A0F585E036952795179507958A95D1F747
+:1029E0000F70CE0185DD009709F481C0FC012081C4
+:1029F000222311F0253EB9F4A1100EC04091EB073F
+:102A00005091EC076091ED077091EE07F701448754
+:102A1000558766877787008BFC018081AA24A39461
+:102A20008111CACF0AC04BE050E0BC01C6010E9430
+:102A3000E8B5892B09F0C0CF58C08B2D8274823441
+:102A400009F055C0AA2049F0F701008961E0C701EB
+:102A5000DDDAEC01009769F44AC08B81823009F419
+:102A600046C0CE014BDA882309F441C0CBEED5E055
+:102A700000E080E2FE0111928A95E9F78BE0F60111
+:102A8000DE0101900D928A95E1F7E091E205F09167
+:102A9000E305309739F0BE01625F7F4FCE0140966B
+:102AA000199508C081E298E2998B888B80E098E0C4
+:102AB0009F878E87888999899B8B8A8B998F888F2E
+:102AC0008E859F859F8B8E8BA9D2882381F04B2D7D
+:102AD000602FC701DF91CF911F910F91FF90EF9071
+:102AE000DF90CF90BF90AF90D5CEB7FEF0CF80E013
+:102AF000DF91CF911F910F91FF90EF90DF90CF90DA
+:102B0000BF90AF9008953F924F925F926F927F92E5
+:102B10008F929F92AF92BF92CF92DF92EF92FF92ED
+:102B20000F931F93CF93DF93CDB7DEB7C354D10973
+:102B30000FB6F894DEBF0FBECDBF5C016B012496CB
+:102B40005FAF4EAF2497522E1C8E1F8E19821C82AF
+:102B50006115710511F410E073C0FC0183818111CE
+:102B6000FACF2496EEADFFAD249780818F3211F01D
+:102B700076011DC02496EEADFFAD249780818F3283
+:102B800031F431962496FFAFEEAF2497F3CFF601E0
+:102B900083818250823060F3F601618D728DCE01A7
+:102BA0000196C7DA8823B9F2CE0101967C018E0125
+:102BB000045E1F4F3801FE0131964F01402E312E29
+:102BC00019C08823A9F121E0AE01495C5F4FB7012C
+:102BD000C801D9DE882309F4BECFEC14FD0411F03E
+:102BE000C7019ADD0615170501F1942D832D780193
+:102BF000092F182FAE014E5B5F4FBE01695C7F4FFE
+:102C000024968EAD9FAD249755DA882309F4A3CF7F
+:102C10002496EEADFFAD249780818F3291F63196E8
+:102C20002496FFAFEEAF2497F3CF982D892DDFCFF9
+:102C3000252DAE01495C5F4FB701C501A4DE182FF9
+:102C4000CE01019671DDCE014C966EDD812FCD5BFC
+:102C5000DF4F0FB6F894DEBF0FBECDBFDF91CF912F
+:102C60001F910F91FF90EF90DF90CF90BF90AF90AA
+:102C70009F908F907F906F905F904F903F900895BE
+:102C8000CF93DF93EC0140E050E0BA0152DD88239E
+:102C900061F061E0CE01BAD9009739F025EEFC0170
+:102CA00020831B82DF91CF91B9C180E0DF91CF916A
+:102CB00008951F93CF93DF93CDB7DEB76B970FB611
+:102CC000F894DEBF0FBECDBFAB0119821C8222E09B
+:102CD000BC01CE01019617DF182F882321F0CE0109
+:102CE0000196CEDF182FCE0101961EDD812F6B9647
+:102CF0000FB6F894DEBF0FBECDBFDF91CF911F910D
+:102D000008952F923F924F925F926F927F928F928F
+:102D10009F92AF92BF92CF92DF92EF92FF920F936A
+:102D20001F93CF93DF9300D01F921F92CDB7DEB7D2
+:102D30008C015B013A01DC0113968C911397813071
+:102D4000C1F411968C9181FF14C082FF18C0F80164
+:102D5000418952896389748980859185A285B3856B
+:102D600084179507A607B70751F0C801F2DB811158
+:102D700006C081E0F80180838FEF9FEF37C16301C8
+:102D800083C0D80159968D919C915A97FC01F4818A
+:102D9000F1501A012B0169E0569447943794279417
+:102DA0006A95D1F7F221FD834A0121E09222FF23A7
+:102DB00009F476C080E092E08819990976018C15B3
+:102DC0009D0508F47C01D8015996ED91FC915A9724
+:102DD00014962D903D904D905C901797B2E02B1A71
+:102DE000310841085108058404C0220C331C441CDE
+:102DF000551C0A94D2F786859785A089B189280E3B
+:102E0000391E4A1E5B1EED812E0E311C411C511CC9
+:102E1000E114F2E0FF0609F089C08091EB07909180
+:102E2000EC07A091ED07B091EE0782159305A4057C
+:102E3000B50569F41092E8058FEF9FEFDC018093F0
+:102E4000EB079093EC07A093ED07B093EE07950185
+:102E5000B201A1018091E9059091EA050E94E73B4A
+:102E6000882309F486CFF80180859185A285B385F2
+:102E70008E0D9F1DA11DB11D80879187A287B387ED
+:102E8000AE0CBF1CCE18DF08D80118964D915D918D
+:102E90006D917C911B97C114D10409F072CF7AC057
+:102EA0008114910409F086CF14964D915D916D9136
+:102EB0007C911797411551056105710559F4559697
+:102EC0008D919D910D90BC91A02D0097A105B1050C
+:102ED00039F520C09E012F5F3F4F18D1882309F498
+:102EE00048CF89819A81AB81BC81F801218D328DD7
+:102EF000F9012789203139F4883FFFEF9F07A105A9
+:102F0000B10540F40DC0883F2FEF9207A2072FE0D4
+:102F1000B20730F0C8010E94580F81114BCF29CF62
+:102F2000F80184839583A683B78344CF81149104E9
+:102F300011F5D80118964D915D916D917C911B977B
+:102F400051968D919D910D90BC91A02D48175907D8
+:102F50006A077B0780F062D0882309F40ACF81E0FA
+:102F60008093E8052092EB073092EC074092ED0742
+:102F70005092EE0707C041E0C201B1018FD0882313
+:102F800009F4F7CEA701B501C40185519A4F0E94FB
+:102F9000F5B569CF51968D919D910D90BC91A02D65
+:102FA000F801218184179507A607B70738F4418BEC
+:102FB000528B638B748B206821830CC08091E20557
+:102FC0009091E305892B31F06114710419F02068A8
+:102FD000F8012183D80111968C9183FD02C0C301B1
+:102FE00005C0C8014FDB8111FACFC3CE0F900F90FF
+:102FF0000F900F900F90DF91CF911F910F91FF9045
+:10300000EF90DF90CF90BF90AF909F908F907F9088
+:103010006F905F904F903F902F900895CF93809145
+:10302000E8058823B9F14091EB075091EC076091D6
+:10303000ED077091EE072BEE35E08091E905909158
+:10304000EA050E94E73BC82F811102C0C0E023C0FF
+:103050004091E4055091E5056091E6057091E70522
+:10306000411551056105710591F02BEE35E0809118
+:10307000E9059091EA050E94E73B882339F3109215
+:10308000E4051092E5051092E6051092E70510920E
+:10309000E80501C0C1E08C2FCF910895CF92DF9257
+:1030A000EF92FF92CF936B017C01C42F8091EB07CD
+:1030B0009091EC07A091ED07B091EE078C159D055E
+:1030C000AE05BF05C9F0AADF811102C080E018C0BB
+:1030D0002BEE35E0B701A6018091E9059091EA0554
+:1030E0000E94723B882391F3C092EB07D092EC07C9
+:1030F000E092ED07F092EE0781E0C1118093E805C0
+:10310000CF91FF90EF90DF90CF9008958F929F9294
+:10311000AF92BF92CF92DF92EF92FF920F931F93E5
+:10312000CF93DF93EC016A017B01890189859A8540
+:10313000AB85BC850196A11DB11D84179507A60717
+:10314000B70710F480E054C08F89803129F49927A3
+:10315000872F762F652F0BC08032A1F7CB01BA01E4
+:1031600027E096958795779567952A95D1F78B886F
+:103170009C88AD88BE88680D791D8A1D9B1D809036
+:10318000EB079090EC07A090ED07B090EE07681564
+:1031900079058A059B0581F48F89803191F4DD24BE
+:1031A000EE24FF24F601EE0FFF1FE551FA4F808158
+:1031B0009181A0E0B0E016C040E070DF8111ECCF5B
+:1031C000C1CFE894C7F8DD24EE24FF24F601EE0F0A
+:1031D000FF1FEE0FFF1FE551FA4F80819181A28101
+:1031E000B381BF70F80180839183A283B38381E0B0
+:1031F000DF91CF911F910F91FF90EF90DF90CF90D3
+:10320000BF90AF909F908F9008954F925F926F9272
+:103210007F92AF92BF92CF92DF92EF92FF920F9385
+:103220001F93CF93DF9300D01F92CDB7DEB78C01F1
+:1032300049835A836B837C835901C12CD12C76013D
+:10324000412C42E0542E612C712C49815A816B81B2
+:103250007C819E012F5F3F4FC80158DF882341F1D9
+:10326000D301C201F801058404C0880F991FAA1F69
+:10327000BB1F0A94D2F7C80ED91EEA1EFB1E498155
+:103280005A816B817C818789803139F481E0483FA4
+:103290005F4F6105710538F4D8CF81E0483F5F4F3B
+:1032A0006F4F7F4090F2F501C082D182E282F382BB
+:1032B0000F900F900F900F90DF91CF911F910F9172
+:1032C000FF90EF90DF90CF90BF90AF907F906F9086
+:1032D0005F904F9008954F925F926F927F928F927E
+:1032E0009F92AF92BF92CF92DF92EF92FF920F9395
+:1032F0001F93CF93DF93EC014A015B012801390151
+:10330000423051056105710508F462C049855A854E
+:103310006B857C854F5F5F4F6F4F7F4F4815590519
+:103320006A057B0508F454C08F89803129F4FF2495
+:10333000EB2CDA2CC92C0CC0803209F049C0750185
+:10334000640177E0F694E794D794C7947A95D1F71F
+:103350004B895C896D897E89C40ED51EE61EF71ED9
+:1033600041E0C701B6019ADE882391F19F8990312F
+:1033700059F49924AA24BB24F401EE0FFF1FE55150
+:10338000FA4F5182408210C0E89487F89924AA2409
+:10339000BB24F401EE0FFF1FEE0FFF1FE551FA4FA4
+:1033A00040825182628273829A89923090F04D817C
+:1033B0005E816F8178854C0D5D1D6E1D7F1D409374
+:1033C000E4055093E5056093E6057093E70501C0B9
+:1033D00080E0DF91CF911F910F91FF90EF90DF90F0
+:1033E000CF90BF90AF909F908F907F906F905F90A5
+:1033F0004F9008952F923F924F925F926F927F92DB
+:103400008F929F92AF92BF92CF92DF92EF92FF92F4
+:103410000F931F93CF93DF93CDB7DEB72F970FB6E0
+:10342000F894DEBF0FBECDBF1C014C875D876E8751
+:103430007F873B872A87DC0119960D911D912D917D
+:103440003C911C970F5F1F4F2F4F3F4F0D831E83E3
+:103450002F833887EA85FB8580809180A280B380A6
+:1034600081149104A104B10431F0FFEF8F1A9F0A77
+:10347000AF0ABF0A10C0DC018D909D90AD90BC904A
+:10348000B1E0B9870C851D852E853F85013011057A
+:103490002105310509F0198675016401412C512C73
+:1034A0003201F10181859285A385B48548165906BC
+:1034B0006A067B0608F04EC00D811E812F8138857B
+:1034C0000C151D052E053F0550F4F2E0CF2ED12C32
+:1034D000E12CF12CA2E08A2E912CA12CB12C9E0182
+:1034E0002F5F3F4FB701A601C10110DE882391F184
+:1034F00049815A816B817C81D701C6010196A11D4A
+:10350000B11D452B462B472B19F04C015D010FC017
+:10351000AC01BD01481959096A097B090C851D8553
+:103520002E853F85401751076207730741F01FEF53
+:10353000411A510A610A710A6C017D01B2CF0FEF85
+:103540001FEF2FEF3FE0B701A601C101C4DE8D835D
+:10355000811113C01D823DC02601370121E0421AAE
+:1035600051086108710897018601B301A201C101E8
+:10357000B2DE882379F3730162018C149D04AE04DA
+:10358000BF0450F3AA85BB854D915D916D917C91EF
+:103590004115510561057105A9F4EA85FB85808215
+:1035A0009182A282B382F985FF2399F00FEF801AEE
+:1035B000900AA00AB00AD1018D929D92AD92BC9260
+:1035C000139707C095018401C10185DE8111E5CF04
+:1035D000C1CF8D812F960FB6F894DEBF0FBECDBF41
+:1035E000DF91CF911F910F91FF90EF90DF90CF90DF
+:1035F000BF90AF909F908F907F906F905F904F9013
+:103600003F902F900895AF92BF92CF92DF92EF92AA
+:10361000FF920F931F93CF93DF9300D01F92CDB7EC
+:10362000DEB75C016A017B0182E090E0A0E0B0E0DF
+:10363000F50180839183A283B3839E012F5F3F4F67
+:10364000B701A601C50162DD811102C080E023C07F
+:1036500000E010E09801B701A601C5013CDE882317
+:10366000A9F3C980DA80EB80FC80F501878980317D
+:1036700049F481E0F8EFCF16FFEFDF06E104F10433
+:1036800050F4DBCF81E098EFC9169FEFD906E90629
+:103690009FE0F90690F20F900F900F900F90DF913E
+:1036A000CF911F910F91FF90EF90DF90CF90BF903F
+:1036B000AF9008957F928F929F92AF92BF92CF92D8
+:1036C000DF92EF92FF920F931F93CF93DF93EC0162
+:1036D000142F7093EA056093E9051F8A82E090E059
+:1036E000A0E0B0E088839983AA83BB831092E805A9
+:1036F0001092E4051092E5051092E6051092E70598
+:103700008FEF9FEFDC018093EB079093EC07A09382
+:10371000ED07B093EE07442349F1453008F0DEC0D1
+:1037200040E060E070E0CB01B9DC882309F4D6C04A
+:1037300020E1129FF0011124E756F84F80818F7726
+:1037400009F0CCC084859585A685B785843691051A
+:10375000A105B10508F4C2C0C084D184E284F38419
+:10376000C114D104E104F10421F4B8C0C12CD12C5E
+:10377000760140E0C701B60191DC782E882309F478
+:10378000ADC08091F6059091F7058115924009F042
+:10379000A5C03091FB05332309F4A0C08091F90541
+:1037A0009091FA05892B09F499C02091F8052223FC
+:1037B00009F494C03A8B2C831D8630E041E050E040
+:1037C0006D85062FCA01062E02C0880F991F0A9424
+:1037D000E2F72817390731F081E0860F8D876830CE
+:1037E00078F37CC020910106309102062115310545
+:1037F00019F040E050E008C020910F06309110060B
+:1038000040911106509112062D833E834F835887B5
+:103810008091F9059091FA0546015701880E991E8D
+:10382000A11CB11C8B8A9C8AAD8ABE8AE091FC05E2
+:10383000F091FD05F98FE88FA091FB05B0E00E94A3
+:10384000C8B2680D791D8A1D9B1D6A8F7B8F8C8F76
+:103850009D8FB5E0EE0FFF1FBA95E1F7E150FE4FE7
+:10386000EF2FFF27E695DC01CB018E0F9F1FA11DD7
+:10387000B11D8E879F87A88BB98B8090FE05909095
+:10388000FF058114910419F0A12CB12C08C080907F
+:103890000B0690900C06A0900D06B0900E06A701A6
+:1038A0009601281B390B4A0B5B0BDA01C901880D05
+:1038B000991DAA1DBB1D04C0B695A7959795879520
+:1038C0000A95D2F789879A87AB87BC87853F3FE007
+:1038D0009307A105B10520F48CE08F8B712C15C0E6
+:1038E000853F9F4FA105B10510F480E10DC0809187
+:1038F000170690911806A0911906B0911A068A8FA2
+:103900009B8FAC8FBD8F80E28F8B872DDF91CF9106
+:103910001F910F91FF90EF90DF90CF90BF90AF90ED
+:103920009F908F907F9008954F925F926F927F92B9
+:103930008F929F92AF92BF92CF92DF92EF92FF92BF
+:103940000F931F93CF93DF932C0124E733E081E0A3
+:1039500090E0F90145915491441655060CF062C06F
+:10396000AC0141505109DA01AA0FBB1FAA0FBB1FBE
+:10397000AE58BC4FFD0165917491440F551F440F23
+:10398000551F40595C4FFA0165907490FC01EE0F91
+:10399000FF1FEE0FFF1FEE58FC4FA590B490FD01E6
+:1039A00005911491F901C591D491FA0185909490F3
+:1039B000882777FD8095982F0E9442AF6B017C018C
+:1039C000B20166197709882777FD8095982F0E94A4
+:1039D00042AF2B013C01B501601B710B882777FDBD
+:1039E0008095982F0E9442AF9B01AC01C301B201A8
+:1039F0000E9475B12B013C01BE0168197909882725
+:103A000077FD8095982F0E9442AF9B01AC01C301C6
+:103A1000B2010E94A7AE9B01AC01C701B6010E9492
+:103A2000C7AD11C001962C5F3F4F8D33910509F052
+:103A300090CFE2E6F4E065917491882777FD809558
+:103A4000982F0E9442AFDF91CF911F910F91FF906D
+:103A5000EF90DF90CF90BF90AF909F908F907F902E
+:103A60006F905F904F9008954F925F926F927F9208
+:103A70008F929F92AF92BF92CF92DF92EF92FF927E
+:103A80000F931F93CF93DF932C01662371F1E5E32E
+:103A9000FEE08491882341F09091C00095FFFCCF17
+:103AA0008093C6003196F5CF70E04AE050E08CE993
+:103AB0009DE00E945A8AE9E5F2E08491882341F072
+:103AC0009091C00095FFFCCF8093C6003196F5CF52
+:103AD0008091C00085FFFCCF8AE08093C6000E94E1
+:103AE000224560E070E0CB017EC024E733E081E056
+:103AF00090E0F90145915491441655060CF062C0CE
+:103B0000AC0141505109DA01AA0FBB1FAA0FBB1F1C
+:103B1000AE58BC4FFD0165917491440F551F440F81
+:103B2000551F40595C4FFA0165907490FC01EE0FEF
+:103B3000FF1FEE0FFF1FEE58FC4FA590B490FD0144
+:103B400005911491F901C591D491FA018590949051
+:103B5000882777FD8095982F0E9442AF6B017C01EA
+:103B6000B20166197709882777FD8095982F0E9402
+:103B700042AF2B013C01B501601B710B882777FD1B
+:103B80008095982F0E9442AF9B01AC01C301B20106
+:103B90000E9475B12B013C01BE0168197909882783
+:103BA00077FD8095982F0E9442AF9B01AC01C30125
+:103BB000B2010E94A7AE9B01AC01C701B6010E94F1
+:103BC000C7AD11C001962C5F3F4F8D33910509F0B1
+:103BD00090CFE2E6F4E065917491882777FD8095B7
+:103BE000982F0E9442AFDF91CF911F910F91FF90CC
+:103BF000EF90DF90CF90BF90AF909F908F907F908D
+:103C00006F905F904F90089560E08091440890918C
+:103C100045082ADF6093400870934108809342086A
+:103C20009093430880913E0890913F087DDE609319
+:103C30003A0870933B0880933C0890933D088FB7F7
+:103C4000F894109232088FBF089520911402309199
+:103C50001502409116025091170260E070E08FE764
+:103C600093E40E94A7AE60931208709313088093A8
+:103C7000140890931508089597FF03C080913908A0
+:103C800004C0FC01E45FF74F808190E00895CF937A
+:103C9000DF93D82FC62FC19561E00E9451A86C2FE9
+:103CA0008D2F0E948AA86C2F70E08D2FDF91CF910D
+:103CB0000C9447A7CF93C1E020E030E048E452E401
+:103CC00060914008709141088091420890914308AA
+:103CD0000E94A3B018160CF0C0E06C2F86E090E0B4
+:103CE000CF91D5CF2F923F924F925F926F927F925A
+:103CF0008F929F92AF92BF92CF92DF92EF92FF92FC
+:103D00000F931F93CF93DF93CDB7DEB728970FB6EE
+:103D1000F894DEBF0FBECDBF80913208882309F42E
+:103D2000F8C172DF8090400890904108A09042084E
+:103D3000B09043080091480810914908B8018827BD
+:103D400077FD8095982F0E9442AFA50194010E94B3
+:103D5000C6AD6B017C0160931A0870931B088093B9
+:103D60001C0890931D0820E030E040E251E40E94DE
+:103D7000A3B0181624F481E080931108F7C020E066
+:103D800030E040E251ECC701B6010E94A0AE87FDD1
+:103D900002C0012B21F481E0809311080CC18091B5
+:103DA0001108882351F010922E0810922F081092BB
+:103DB00030081092310810921108209118023091A9
+:103DC000190240911A0250911B02C701B6010E94CC
+:103DD00075B169837A838B839C8360932608709383
+:103DE0002708809328089093290820912E08309165
+:103DF0002F084091300850913108C701B6010E9448
+:103E0000C7AD2B013C012090160830901708109187
+:103E10001808009119089101412F502F0E94A0AE5F
+:103E200087FD14C0209012083090130810911408D8
+:103E3000009115089101412F502FB201C3010E943A
+:103E4000A3B018161CF01201162D072DC101A12FC9
+:103E5000B02F80932E0890932F08A0933008B09332
+:103E600031082091140230911502409116025091B0
+:103E70001702B101812F902F0E9475B16D837E834F
+:103E80008F83988760932208709323088093240877
+:103E90009093250820912A0830912B0840912C08F6
+:103EA00050912D08C501B4010E94C6AD20911002A9
+:103EB0003091110240911202509113020E9475B18B
+:103EC00020ED3CEC4CE45DE30E9475B12B013C011C
+:103ED00023E333E343E75FE360911E0870911F081B
+:103EE00080912008909121080E9475B19B01AC013E
+:103EF000C301B2010E94C7AD2B013C0160931E08B3
+:103F000070931F0880932008909321082D813E8193
+:103F10004F81588569817A818B819C810E94C7ADD0
+:103F2000A30192010E94C6AD2B013C0120E030E0CC
+:103F30004FE753E40E94A3B020E030E0A901181637
+:103F4000E4F4C701B6010E94A3B018167CF4A701DF
+:103F50009601B101812F902F0E94C6AD60932E086B
+:103F600070932F088093300890933108412C512C86
+:103F70009FE7692E93E4792E21C0C301B2010E940C
+:103F8000A0AE87FF1BC020E030E0A901C701B60149
+:103F90000E94A0AE87FF0FC0A7019601B101812F3B
+:103FA000902F0E94C6AD60932E0870932F088093C7
+:103FB000300890933108412C512C320180922A080C
+:103FC00090922B08A0922C08B0922D0860910408C2
+:103FD00070910508882777FD8095982F0E9442AF41
+:103FE0009B01AC01C501B4010E94A3B01816DCF41A
+:103FF0006091080270910902882777FD8095982FBB
+:104000000E9442AF9B01AC01C501B4010E94A0AE69
+:1040100087FF09C0C301B2010E940FAF7595679574
+:1040200060930C0802C010920C080E9431A9009104
+:1040300008081091090820910A0830910B08601BAC
+:10404000710B820B930B653C79408105910558F00B
+:1040500031DE0E9431A960930808709309088093AB
+:104060000A0890930B080E9431A900910D08109145
+:104070000E0820910F0830911008601B710B820B05
+:10408000930B683873418105910508F442C00E9482
+:1040900031A960930D0870930E0880930F089093D8
+:1040A0001008C0903A08D0903B08E0903C08F0908F
+:1040B0003D0820E030E040E751E4C701B6010E942E
+:1040C000A3B018161CF520E030E046E153E4C70128
+:1040D000B6010E94A0AE87FF19C06091460870919A
+:1040E0004708882777FD8095982F0E9442AF9B0153
+:1040F000AC01C701B6010E94A3B087FD03C01092B6
+:10410000390807C08FE78093390803C01092390837
+:10411000A59828960FB6F894DEBF0FBECDBFDF91ED
+:10412000CF911F910F91FF90EF90DF90CF90BF90B4
+:10413000AF909F908F907F906F905F904F903F9047
+:104140002F900895CF93DF931092160810921708BE
+:10415000109218081092190820911402309115023B
+:10416000409116025091170260E070E08FE793E4EF
+:104170000E94A7AE609312087093130880931408EE
+:10418000909315086D9A80910101806180930101DF
+:104190009D9A8091010180628093010187ED809357
+:1041A0007A0010927E0010927D0080917E008160E6
+:1041B00080937E0080917E00826080937E0080915B
+:1041C0007E00846080937E0080E888BD80916E00D0
+:1041D000846080936E006AEF70E080E090E00E945F
+:1041E00060A98FE090E0909305088093040860E058
+:1041F00080910A0290910B0237DC20E030E040E72A
+:1042000051E40E94A0AE87FF0AC080910A029091FB
+:104210000B02409790930B0280930A02E8CF8BE346
+:1042200091E0909309028093080260E08091060873
+:104230009091070819DC20E030E84DE953E40E9432
+:10424000A3B0181654F48091060890910708409680
+:104250009093070880930608E8CFC0910208D09198
+:104260000308CE0161DB20E030E046E153E40E9428
+:10427000A3B0181634F46096D0930308C0930208D4
+:10428000ECCFDF91CF9108950895109249081092D4
+:104290004808109247081092460810920C0875982A
+:1042A000109247081092460810923908A598089570
+:1042B0002F923F924F925F926F927F928F929F9236
+:1042C000AF92BF92CF92DF92EF92FF920F931F9324
+:1042D000CF93DF93CDB7DEB7AE970FB6F894DEBFBE
+:1042E0000FBECDBF6B8F7C8F8D8F292E5A8749874C
+:1042F0003CA72BA70E9431A96F8F78A389A39AA30B
+:104300000E9431A96FA378A789A79AA729853A8522
+:10431000121613061CF0E4E2F3E017C0E7E3F3E043
+:104320008191882339F09091C00095FFFCCF809354
+:10433000C600F6CF8091C00085FFFCCF1BC29091D4
+:10434000C00095FFFCCF8093C60081918111F7CF0B
+:104350008091C00085FFFCCF8AE08093C60095DF86
+:1043600049855A858FE7452B99F1809339088F8DC0
+:1043700098A1A9A1BAA1898B9A8BAB8BBC8B8D8795
+:104380009E87AF87B88B1D8290E4988FACE1A98F90
+:10439000B6E4BA8F1DA61D8A1E8A1F8A2FE730E059
+:1043A00040E050E029833A834B835C83EFE74E2E55
+:1043B000512C612C712C1BA21CA21DA21EA231E04B
+:1043C0003E8F1C861B86312C00E010E01EA605C027
+:1043D00080930C08CCCF0E949C7680913208882371
+:1043E00009F4F6C011DC49855A85452B51F030900F
+:1043F0003A0800913B0810913C0850913D085EA797
+:1044000009C0309040080091410810914208809105
+:1044100043088EA7232D302F412F5EA56DA57D89E2
+:104420008E899F890E94A3B018162CF03DA60D8B93
+:104430001E8B9EA59F8B232D302F412F5EA56D8156
+:10444000788D898D9A8D0E94A0AE87FD05C03D8232
+:10445000088F198FAEA5AA8F0E9431A92FA138A568
+:1044600049A55AA5621B730B840B950B653C7940DB
+:104470008105910538F01EDC0E9431A96FA378A751
+:1044800089A79AA74E8D442309F44FC02B8D3C8DEC
+:104490004D8D522D632D702F812F9EA50E94A3B0AC
+:1044A00018160CF095C00E9431A929893A894B89C8
+:1044B0005C89621B730B840B950B69387341810512
+:1044C000910508F485C0D301C20129813A814B814D
+:1044D0005C81821B930BA40BB50B49855A85B5955E
+:1044E000A79597958795452B19F08093390802C0B9
+:1044F00080930C080E9431A96D877E878F87988BE7
+:10450000DC01CB0129893A894B895C89821B930B99
+:10451000A40BB50B8BA39CA3ADA3BEA33B8D3DA762
+:104520004C8D4D8B5D8D5E8B2F8A2B8D3C8D4D8DF3
+:10453000522D632D702F812F9EA50E94A0AE87FF64
+:10454000EEC20E9431A92D853E854F855889621B98
+:10455000730B840B950B693873418105910508F441
+:10456000DEC20E9431A9698B7A8B8B8B9C8BDC011C
+:10457000CB012D853E854F855889821B930BA40B5B
+:10458000B50B4B855C85452B09F010C189819A815B
+:10459000AB81BC81840D951DA61DB71D29853A856B
+:1045A000B595A79597958795232B09F4B5C2809368
+:1045B00039084B855C854F5F5F4F5C874B875B8D10
+:1045C0005D838C8D888F9D8D998F2A8EA1E0AE8F13
+:1045D00020E030E040EA51E46B8D7C8D8D8D922D92
+:1045E0000E94C7AD9B01AC01632D702F812F9EA54A
+:1045F0000E94A3B0181694F4EFEFF2E084918823A0
+:1046000041F09091C00095FFFCCF8093C600319699
+:10461000F5CF8091C00085FFFCCFACC00E9431A9CE
+:104620002F8D38A149A15AA1621B730B840B950BE6
+:10463000613D77408105910508F44FC049855A8551
+:10464000452B81F0E0903908F12CE9EFF2E08491FC
+:104650008823C1F09091C00095FFFCCF8093C600E5
+:104660003196F5CFE0900C08F12CE3EFF2E0849165
+:10467000882341F09091C00095FFFCCF8093C60045
+:104680003196F5CF22E030E0432D502F612F7EA5EB
+:104690008CE99DE00E94308BEFEEF2E0849188235C
+:1046A00041F09091C00095FFFCCF8093C6003196F9
+:1046B000F5CF4AE050E0B7018CE99DE00E945A8AAC
+:1046C0008091C00085FFFCCF8AE08093C6000E94E5
+:1046D00031A96F8F78A389A39AA30E9431A96B0196
+:1046E0007C010E9431A989889A88AB88BC882D8575
+:1046F0003E854F855889820E931EA41EB51EC8188C
+:10470000D908EA08FB08C60ED71EE81EF91E31E8D4
+:10471000C3163FE4D30632E1E306F10490F0E2ED84
+:10472000F2E08491882341F09091C00095FFFCCF86
+:104730008093C6003196F5CF8091C00085FFFCCFF5
+:1047400019C04B855C858BA59CA5841795070CF03B
+:1047500042CEE6E7F2E08491882341F09091C000D8
+:1047600095FFFCCF8093C6003196F5CF8091C000B5
+:1047700085FFFCCF8AE08093C600AE960FB6F89412
+:10478000DEBF0FBECDBFDF91CF911F910F91FF9084
+:10479000EF90DF90CF90BF90AF909F908F907F90E1
+:1047A0006F905F904F903F902F9008958BA09CA0AA
+:1047B000ADA0BEA0880E991EAA1EBB1E2BA13CA1B7
+:1047C0004DA15EA1281B390B4A0B5B0BCA01B90135
+:1047D00029813A814B815C810E943BB2A501940101
+:1047E0000E94A0B2240D351D461D571D24313105F0
+:1047F0004105510504F129013A013CEE43165104EB
+:10480000610471042CF06BEE462E512C612C712C3E
+:1048100040E84416510461047104DCF08EEF90E02E
+:10482000A0E0B0E084199509A609B70989839A83A5
+:10483000AB83BC8312C054E1452E512C612C712CEA
+:1048400024E130E040E050E029833A834B835C83ED
+:1048500004C049825A826B827C82E8E6F3E084914C
+:10486000882341F09091C00095FFFCCF8093C60053
+:104870003196F5CF2AE030E0B301A2018CE99DE04A
+:104880000E94378AE3E6F3E08491882341F0909117
+:10489000C00095FFFCCF8093C6003196F5CF2AE08B
+:1048A00030E049815A816B817C818CE99DE00E94D6
+:1048B000378AECE5F3E08491882341F09091C000C1
+:1048C00095FFFCCF8093C6003196F5CF22E030E013
+:1048D0004D81588D698D7A8D8CE99DE00E94308BD9
+:1048E000E5E5F3E08491882341F09091C00095FFC5
+:1048F000FCCF8093C6003196F5CF22E030E04DA585
+:104900005D896E897F898CE99DE00E94308B809162
+:10491000C00085FFFCCF8AE08093C6002B853C85D4
+:10492000233031050CF432CE69817A818B819C81F0
+:104930000E9442AF20E030E040E850E40E9475B1B0
+:104940006B017C012D81388D498D5A8D6DA57D8936
+:104950008E899F890E94C6AD20ED3FE049E450E476
+:104960000E9475B120E030E040E05FE30E9475B145
+:104970009B01AC01C701B6010E94A7AE6B017C018F
+:10498000C501B4010E9442AF20E030E04AE754E4A0
+:104990000E94A7AE4B015C01EFE4F3E08491882311
+:1049A00041F09091C00095FFFCCF8093C6003196F6
+:1049B000F5CF22E030E0B701A6018CE99DE00E942E
+:1049C000308BE9E4F3E08491882341F09091C000BA
+:1049D00095FFFCCF8093C6003196F5CF22E030E002
+:1049E000B501A4018CE99DE00E94308B8091C0004C
+:1049F00085FFFCCF8AE08093C6002AE939E949E1C6
+:104A00005FE3C701B6010E9475B16B017C019B0198
+:104A1000AC010E94C7ADA50194010E94A7AE6D83B1
+:104A20007E838F839887A5019401C701B6010E94F8
+:104A300075B120E030E040E05EE30E9475B14B01CB
+:104A40005C01EBE3F3E08491882341F09091C00096
+:104A500095FFFCCF8093C6003196F5CF8091C000C2
+:104A600085FFFCCF8AE08093C600E5E3F3E0849104
+:104A7000882341F09091C00095FFFCCF8093C60041
+:104A80003196F5CF22E030E0B701A6018CE99DE038
+:104A90000E94308B8091C00085FFFCCF8AE080931C
+:104AA000C600EFE2F3E08491882341F09091C000CA
+:104AB00095FFFCCF8093C6003196F5CF22E030E021
+:104AC0004D815E816F8178858CE99DE00E94308BFD
+:104AD0008091C00085FFFCCF8AE08093C600E9E2A8
+:104AE000F3E08491882341F09091C00095FFFCCFC2
+:104AF0008093C6003196F5CF22E030E0B501A401E5
+:104B00008CE99DE00E94308B8091C00085FFFCCF36
+:104B10008AE08093C6003ACD80930C084ACD1E8E61
+:104B200057CDCF93C82FB1DB0E94E949811134C022
+:104B3000E5E3FEE09491992341F08091C00085FF68
+:104B4000FCCF9093C6003196F5CF6C2F70E04AE011
+:104B500050E08CE99DE00E945A8A8091C00085FF58
+:104B6000FCCF8AE08093C600ECE2F2E084918823D7
+:104B700041F09091C00095FFFCCF8093C600319624
+:104B8000F5CF8091C00085FFFCCF8AE08093C600FE
+:104B90008FE192E00E940D76CF910C94AA49CF93B9
+:104BA000C82F73DB0E94E949811134C0E5E3FEE0C0
+:104BB0009491992341F08091C00085FFFCCF9093A0
+:104BC000C6003196F5CF6C2F70E04AE050E08CE9DA
+:104BD0009DE00E945A8A8091C00085FFFCCF8AE048
+:104BE0008093C600E2EFF1E08491882341F0909138
+:104BF000C00095FFFCCF8093C6003196F5CF809121
+:104C0000C00085FFFCCF8AE08093C60085EE91E06E
+:104C10000E940D76CF910C94AA49A5980E94E9496B
+:104C2000811125C0E5E3FEE08491882341F0909155
+:104C3000C00095FFFCCF8093C6003196F5CFEBEA1C
+:104C4000F1E08491882341F09091C00095FFFCCF62
+:104C50008093C6003196F5CF8091C00085FFFCCFD0
+:104C60008AE08093C6008AE991E00E940D760C9458
+:104C7000AA491F920F920FB60F9211240BB60F92F2
+:104C80000F931F932F933F934F935F936F937F9354
+:104C90008F939F93AF93BF93CF93DF93EF93FF9344
+:104CA00080910702811112C080910C088093010845
+:104CB000882311F0759A01C0759880913908809306
+:104CC0000008882311F0A59A01C0A59890910108C9
+:104CD00080910702981708F47598909100088091C8
+:104CE0000702981708F4A598809107028F5F8F77C5
+:104CF000809307028091060290E08B30910508F0C6
+:104D000093C0FC01EE58FF4F0C94BCB210927B0094
+:104D100080E480937C0080917A00806480937A00A4
+:104D20000E94167681E019C02091780030917900B8
+:104D30008091FC079091FD07A091FE07B091FF07BD
+:104D4000820F931FA11DB11D8093FC079093FD0757
+:104D5000A093FE07B093FF0782E08093060264C031
+:104D600010927B0082E480937C0080917A008064C2
+:104D700080937A000E94167683E0EFCF209178002E
+:104D8000309179008091F8079091F907A091FA0786
+:104D9000B091FB07820F931FA11DB11D8093F807EF
+:104DA0009093F907A093FA07B093FB0784E0D5CF5F
+:104DB00010927B0081E480937C0080917A00806473
+:104DC00080937A000E94167685E0C7CF2091780004
+:104DD000309179008091F4079091F507A091F60742
+:104DE000B091F707820F931FA11DB11D8093F407A7
+:104DF0009093F507A093F607B093F70786E0ADCF41
+:104E00000E94167687E0A9CF88E0A7CF0E94167689
+:104E100089E0A3CF109206028091F3078F5F809301
+:104E2000F30702C0109206028091F307803108F464
+:104E300063C080913208811110C08091FC0790916D
+:104E4000FD0790934508809344088091F80790915E
+:104E5000F90790933F0880933E0881E080933208E1
+:104E60001092F3071092FC071092FD071092FE07B4
+:104E70001092FF071092F4071092F5071092F607B0
+:104E80001092F7071092EF071092F0071092F107B7
+:104E90001092F2071092F8071092F9071092FA0791
+:104EA0001092FB0720914408309145088091060834
+:104EB000909107088217930714F080E032DE20916A
+:104EC00044083091450880910A0290910B022817FE
+:104ED000390714F080E063DE20913E0830913F08EE
+:104EE0008091020890910308821793072CF010928A
+:104EF00047081092460891DE00E010E0E801CC0F70
+:104F0000DD1FCD5CD74F888199811816190644F4AE
+:104F100061E0802F0E94D59388819981019709C013
+:104F2000892B49F060E0802F0E94D5938881998178
+:104F30000196998388830F5F1F4F03301105F1F6A7
+:104F4000FF91EF91DF91CF91BF91AF919F918F91A1
+:104F50007F916F915F914F913F912F911F910F9191
+:104F60000F900BBE0F900FBE0F901F9018952CEA5C
+:104F700035EC47E25EE30C9475B12CEA35EC47E280
+:104F80005EE30C94A7AE2CEA35EC47E25EE30C94AA
+:104F9000A7AE2CEA35EC47E25EE30C9475B1CF93F3
+:104FA000DF93EC0160E08E810E948AA881E090E0AE
+:104FB0000E9484A961E08E810E948AA881E090E02D
+:104FC0000E9484A960E08E810E948AA884E690E015
+:104FD000DF91CF910C9484A9CF92DF92EF92FF9250
+:104FE0000F931F93CF93DF937C01C0E0D0E0C62ED8
+:104FF000D12C87010C0F1D1F61E0F80187810E94F1
+:1050000051A8B6010C2E02C0759567950A94E2F777
+:105010006170F80187810E948AA82196C430D10569
+:1050200041F7C701DF91CF911F910F91FF90EF9052
+:10503000DF90CF90B4CFCF92DF92EF92FF920F9399
+:105040001F93CF93DF937C01C0E0D0E0C62ED12C1C
+:1050500087010C0F1D1F61E0F80187810E9451A894
+:10506000B6010C2E02C0759567950A94E2F761703F
+:10507000F80187810E948AA82196C830D10541F79E
+:10508000C701DF91CF911F910F91FF90EF90DF90BB
+:10509000CF9085CF1F93CF93DF93EC01162F642F12
+:1050A0008C810E948AA88D818F3F19F060E00E9458
+:1050B0008AA88F85612F84FF05C0CE01DF91CF9133
+:1050C0001F91B9CF70E084E0759567958A95E1F7F7
+:1050D000CE0182DF612FCE01DF91CF911F917CCF76
+:1050E00040E0D8CF61E0FCDF80E496E00C9484A936
+:1050F00062E0F6DF80E496E00C9484A9CF93DF931E
+:10510000CDB7DEB728970FB6F894DEBF0FBECDBF80
+:1051100028E0E7EAF2E0DE01119601900D922A956F
+:10512000E1F7FC012389421710F04FEF420FFE0117
+:105130003196E40FF11DE40FF11D2081260F206848
+:10514000622F28960FB6F894DEBF0FBECDBFDF9159
+:10515000CF91C6CFFC016089262F2460208B6C6024
+:10516000BFCFCF93DF93EC01423018F08F8588607A
+:105170008F874B8B1C8A222329F0413019F48F85AD
+:1051800084608F8780E593EC0E9484A960E08C8125
+:105190000E948AA860E08E810E948AA88D818F3F3C
+:1051A00019F060E00E948AA86F8564FD19C063E071
+:1051B000CE0112DF84E991E10E9484A963E0CE016F
+:1051C0000BDF84E991E10E9484A963E0CE0104DF52
+:1051D00086E990E00E9484A962E0CE01FDDE13C062
+:1051E0006062CE017DDF84E991E10E9484A96F8530
+:1051F0006062CE0175DF86E990E00E9484A96F8528
+:105200006062CE016DDF6F856062CE0169DF84E090
+:10521000888BCE019FDFCE0165DF82E0898B66E05F
+:10522000CE01DF91CF915CCF6F927F928F92AF9240
+:10523000CF92EF920F931F93CF93DF93CDB7DEB74B
+:105240003C01162F842F5E854F8538899989F3019B
+:10525000848325830683E782C086A186828653875E
+:1052600044873587968761E00E9451A8F3018581C4
+:105270008F3F19F061E00E9451A861E0F30186813F
+:105280000E9451A8112319F0F301178603C080E191
+:10529000F301878720E041E060E1C301DF91CF9116
+:1052A0001F910F91EF90CF90AF908F907F906F9064
+:1052B00058CF8F92AF92CF92EF920F93DC0113965B
+:1052C0001C921E921297E5E6F3E0ED93FC931F9279
+:1052D0001F921F921F928C2CAE2CC02EE22E042FF8
+:1052E0002FEF462F61E0A0DF0F900F900F900F90EF
+:1052F0000F91EF90CF90AF908F900895CF93DF9361
+:10530000EC01423018F08F8588608F874B8B1C8AA8
+:10531000222329F0413019F48F8584608F8780E53E
+:1053200093EC0E9484A960E08C810E948AA860E0CE
+:105330008E810E948AA88D818F3F19F060E00E94C3
+:105340008AA86F8564FD19C063E0CE0145DE84E95B
+:1053500091E10E9484A963E0CE013EDE84E991E1FF
+:105360000E9484A963E0CE0137DE86E990E00E94C6
+:1053700084A962E0CE0130DE13C06062CE01B0DEEF
+:1053800084E991E10E9484A96F856062CE01A8DE64
+:1053900086E990E00E9484A96F856062CE01A0DE5C
+:1053A0006F856062CE019CDE84E0888BCE01D2DE08
+:1053B000CE019EDE82E0898B66E0CE0191DE40E088
+:1053C00068E0CE019BDE6EE873E0CE010E94BEADC8
+:1053D00041E068E0CE0192DE6EE873E0CE010E940B
+:1053E000BEAD42E066E0CE0189DE6CE873E0CE013E
+:1053F000DF91CF910C94BEADCF92DF92EF92FF92EE
+:105400000F931F93CF93DF931F921F92CDB7DEB7F9
+:105410008C01677088E0689FB00111246064C80146
+:1054200049835A835DDE4981C42E5A81D52EE12CF1
+:10543000F12CD6016D916D01D801ED91FC91019097
+:10544000F081E02DC8011995BFEFEB1AFB0AE8E0E7
+:10545000EE16F10471F70F900F90DF91CF911F912D
+:105460000F91FF90EF90DF90CF90089541E012DE12
+:1054700081E090E008952F923F924F925F926F9259
+:105480007F928F929F92AF92BF92CF92DF92EF92D4
+:10549000FF920F931F93CF93DF93CDB7DEB7CF5417
+:1054A000D1090FB6F894DEBF0FBECDBF1C017E8FB1
+:1054B0006D8F4A012FAB09AF2896EFAE28972C9637
+:1054C000ACAEBDAECEAEDFAE2C9734E0239F500124
+:1054D0001124FC01EA0DFB1D80819181A281B38121
+:1054E000898F9A8FAB8FBC8FDA01AA0DBB1DBCAF21
+:1054F000ABAF4D905D906D907C90A3019201698D52
+:105500007A8D8B8D9C8D0E94C7AD21966CAF7DAF3F
+:105510008EAF9FAF2197B4E00B9F80011124F10162
+:10552000E00FF11F20813181428153812F8F38A3F9
+:1055300049A35AA3A401400F511F23965FAF4EAF5A
+:105540002397DA01CD90DD90ED90FC90A7019601B4
+:105550006F8D78A189A19AA10E94C7AD27966CAFE3
+:105560007DAF8EAF9FAF27972896EFAD2897B4E019
+:10557000EB9FC0011124F101E80FF91F2081318157
+:10558000428153812BA33CA34DA35EA3ED8DFE8DE1
+:10559000E80FF91F60817181828193810E94C6ADFD
+:1055A0006FA378A789A79AA7AD8DBE8D1C968D9104
+:1055B0009D910D90BC91A02D60968CAF9DAFAEAF2C
+:1055C000BFAF6097D1011C962D913D914D915C919B
+:1055D0001F972BA73CA74DA75EA7A3019201505888
+:1055E0002D8B3E8B4F8B588FD701C601B058898BBE
+:1055F0009A8BAB8BBC8BED8DFE8DEA0DFB1D208154
+:105600003181428153812FA738AB49AB5AAB2196E8
+:105610002CAD3DAD4EAD5FAD21976FA578A989A9A1
+:105620009AA90E94C6AD6B017C01ED8DFE8DE00F45
+:10563000F11F80819181A281B3818BAB9CABADAB1B
+:10564000BEAB27962CAD3DAD4EAD5FAD2797BC01EF
+:10565000CD010E94C6AD4B015C01A70196016D8989
+:105660007E898F89988D0E9475B12B013C01A5011F
+:10567000940169897A898B899C890E9475B19B0103
+:10568000AC01C301B2010E94C7AD2B013C01A501D1
+:1056900094016D897E898F89988D0E9475B14B0127
+:1056A0005C01A701960169897A898B899C890E948E
+:1056B00075B19B01AC01C501B4010E94C6ADA30147
+:1056C00092010E943AAE6B017C0120E030E0A9011A
+:1056D0000E94A0AE87FF0AC02BED3FE049EC50E4EA
+:1056E000C701B6010E94C7AD6B017C01AA968FADC0
+:1056F000AA97882351F02BED3FE049EC50E4C70115
+:10570000B6010E94C6AD6B017C012FA538A949A93D
+:105710005AA9698D7A8D8B8D9C8D0E94A0AE8111C6
+:105720001FC02BA93CA94DA95EA96F8D78A189A1A5
+:105730009AA10E94A0AE811113C020E030E0A9011F
+:10574000C701B6010E94A0AE81110AC02BED3FE057
+:1057500049EC50E4C701B6010E94C7AD6B017C0162
+:10576000A9962CAD3DAD4EAD5FADA997C701B60171
+:105770000E9475B12FA138A549A55AA55F770E944F
+:10578000B0B04B015C012FE632E143E85AE30E94DE
+:10579000A0AE87FDC8C1C501B4010E947DAF0E94C3
+:1057A00014AF7A8F698FDB01AB2B21F4E1E0F0E0DD
+:1057B000FA8FE98F298D3A8DB90180E090E00E943F
+:1057C00040AF4B015C019B01AC01C701B6010E94D7
+:1057D000A7AE2B013C01A50194016FA178A589A575
+:1057E0009AA50E94A7AE6FA778AB89AB9AAB2BA501
+:1057F0003CA54DA55EA560966CAD7DAD8EAD9FAD13
+:1058000060970E94C6ADA50194010E94A7AE6BAB44
+:105810007CAB8DAB9EAB20E030E040E05FE3C301AA
+:10582000B2010E9475B1A30192010E9475B19B0162
+:10583000AC0160E070E080E89FE30E94C6AD6FA31A
+:1058400078A789A79AA7CE010196FC0128964FADAB
+:10585000289734E0439FE00DF11D11242BA13CA1BA
+:105860004DA15EA120833183428353832BA53CA5A8
+:105870004DA55EA52D873E874F87588BB12C41E003
+:1058800050E058A34F8F1C01BFA9A4E0BA9F800D20
+:10589000911D112498AF8FAB910159AD44E0549FF5
+:1058A000200D311D11243AAF29AFFCA7EBA74F8D76
+:1058B00058A1898D9A8D4817590708F01AC188E1B7
+:1058C0008B150CF444C02FA138A549A55AA56989A8
+:1058D0007A898B899C890E9475B16B017C01A30137
+:1058E00092016D897E898F89988D0E9475B1A7017B
+:1058F00096010E94C7ADA62E172F982E892E2FA194
+:1059000038A549A55AA56D897E898F89988D0E94F1
+:1059100075B16B017C01A301920169897A898B8938
+:105920009C890E9475B19B01AC01C701B6010E9420
+:10593000C6AD6D8B7E8B8F8B988FB3948A2D912FF4
+:10594000A92DB82D898B9A8BAB8BBC8B6CC0AF8D7E
+:10595000B8A1BD0180E090E00E9440AFA301920198
+:105960000E9475B16B017C010E94A4AE698B7A8B99
+:105970008B8B9C8BC701B6010E94D8B14B015C0197
+:10598000EBADFCADC080D180E280F380F7FAF094FB
+:10599000F7F8F0942396AEADBFAD23972D913D91CE
+:1059A0004D915C912BA33CA34DA35EA329893A8919
+:1059B0004B895C89C701B6010E9475B16D8B7E8BE6
+:1059C0008F8B988FA50194016BA17CA18DA19EA1C5
+:1059D0000E9475B19B01AC016D897E898F89988D7C
+:1059E0000E94C7AD6D8B7E8B8F8B988FA501940124
+:1059F000C701B6010E9475B16B017C0129893A8902
+:105A00004B895C896BA17CA18DA19EA10E9475B17F
+:105A10009B01AC01C701B6010E94C6AD698B7A8BB0
+:105A20008B8B9C8BB12C2D893E894F89588D21966B
+:105A30006CAD7DAD8EAD9FAD21970E94C7ADEFA936
+:105A4000F8AD608371838283938329893A894B8976
+:105A50005C8927966CAD7DAD8EAD9FAD27970E947A
+:105A6000C7ADA9ADBAAD6D937D938D939C931397FC
+:105A70002FA538A949A95AA9EBA5FCA56081718178
+:105A8000828193810E94C7ADABA5BCA56D937D9328
+:105A90008D939C9313972BA93CA94DA95EA96D8565
+:105AA0007E858F8598890E94C7AD6D877E878F8799
+:105AB000988BC1010E946A41FE01E659FF4F6F01B8
+:105AC0002C96ECACFDAC0EAD1FAD2C979E01235F68
+:105AD0003F4FAE01475F5F4FBE016B5F7F4FC1011C
+:105AE0000E94779A2F8D38A12F5F3F4F38A32F8FB9
+:105AF000DECE2D8D3E8D245F3F4F4D8D5E8D485FF8
+:105B00005F4F6D8D7E8D6C5F7F4FDE01A659BF4F5D
+:105B10006D012C96ECACFDAC0EAD1FAD2C978D8DB0
+:105B20009E8D0E94779AC15BDF4F0FB6F894DEBF5F
+:105B30000FBECDBFDF91CF911F910F91FF90EF90DE
+:105B4000DF90CF90BF90AF909F908F907F906F909D
+:105B50005F904F903F902F900895FC011482178220
+:105B6000138212828AEB95E09183808308952AEB59
+:105B700035E0FC01318320832781222319F004962C
+:105B80000C948C130895CF92DF92EF92FF920F93B3
+:105B90001F93CF93DF93EC01875B9F4FDEDFCE0136
+:105BA00086599F4FDADF7E0129E8E20EF11C87015A
+:105BB0006E0131E4C31A3EEFD30AC801CEDF015EA5
+:105BC0001F4F0C151D05C9F7FE01EF53FE4F89E16C
+:105BD000818314823596178ACE018C519E4FBDDF8A
+:105BE000FE01EB56FD4F108211821282138238960D
+:105BF00010821182128213821A821B8218821982E9
+:105C00006E0187E6C81A8DEFD80AF601108211825C
+:105C100012821382F80111821082FE01ED5FFD4FA6
+:105C2000108286E391E0F7019C01119221503040EF
+:105C3000E1F7FE01EF55FD4F81E08083C95BDF4F47
+:105C4000198218820E9431A968577C4E8F4F9F4F4E
+:105C5000F6016083718382839383DF91CF911F91DB
+:105C60000F91FF90EF90DF90CF900895FC0120E01E
+:105C70003EE2DB014C91403241F0283011F4308398
+:105C80003196DB014C91408331962F5F6F5F7F4FE0
+:105C90002B3079F7108208952F923F924F925F92A6
+:105CA0006F927F928F929F92AF92BF92CF92DF922C
+:105CB000EF92FF920F931F93CF93DF93CDB7DEB791
+:105CC000CA58D1090FB6F894DEBF0FBECDBF8C0104
+:105CD0006B017A014901CA57DF4F1882C658D0407C
+:105CE00084E0E80EF11C180191E1290E311CF80145
+:105CF000EA5BFF4FC957DF4FF983E883C758D040AD
+:105D00003801FEE56F1AFDEF7F0A58018CE5A81AED
+:105D10008DEFB80A80E4482E512C4C0E5D1E94E0A5
+:105D2000490E511CA101BE016F5F7F4FC7010E9448
+:105D3000F61118160CF03CC12C85322F3871303119
+:105D400009F09EC0F301808191810197029708F4C8
+:105D500097C0BE016F5F7F4FCE0187589F4F86DF90
+:105D6000A0961FAEA097F6018081811107C069E659
+:105D700073E0CE01815A9F4F0E9418B6B601CE0142
+:105D8000815A9F4F0E9418B6BE0167587F4FCE01BF
+:105D9000815A9F4F0E9418B669E673E0CE01815A7E
+:105DA0009F4F0E9418B6CE01805C9F4FD6DE21E047
+:105DB000AE0147585F4FB701C2010E9483158111A0
+:105DC00039C0F30180819181892BA1F5EFE2FEE0DA
+:105DD0008491882341F09091C00095FFFCCF80937F
+:105DE000C6003196F5CFEBE6F3E08191882339F0D8
+:105DF0009091C00095FFFCCF8093C600F6CF8091B4
+:105E0000C00085FFFCCF8AE08093C600FE01E75802
+:105E1000FF4F8191882339F09091C00095FFFCCF0E
+:105E20008093C600F6CF8091C00085FFFCCF8AE04A
+:105E30008093C6008BE1FE01EC5BFF4FDE0195967F
+:105E400001900D928A95E1F724968EAD9FAD24972F
+:105E50009CA38BA38AEB95E09AA389A320E030E072
+:105E6000AE014F5D5F4FBE01615A7F4FC80114DF25
+:105E7000CE0181967CDECE01805C9F4F78DE52CFD2
+:105E80008981882309F494C08E3209F44BCF8F3571
+:105E900009F448CFF80181898E3209F443CF8F3558
+:105EA00009F440CF23FD3ECF81E0303109F080E09E
+:105EB000C957DF4FE881F981C758D04080838111ED
+:105EC00008C08985873409F02DCF8A858E3709F47B
+:105ED00029CF98012C5F3F4FBE016F5F7F4FC901F3
+:105EE000C757DF4F2883C958D040C657DF4F388384
+:105EF000CA58D040BBDEF30180819181C757DF4F84
+:105F00002881C958D040C657DF4F3881CA58D04081
+:105F10000097F1F4F6018191882339F09091C00047
+:105F200095FFFCCF8093C600F6CFF90181918823BD
+:105F300039F09091C00095FFFCCF8093C600F6CF5A
+:105F40008091C00085FFFCCF8AE08093C600EACE36
+:105F50008130910539F4F501808191810196918319
+:105F60008083E0CE029709F0DDCE8114910439F0F0
+:105F7000B901C4010E9405B6892B71F419C0CA5732
+:105F8000DF4FF881C658D0402F2F30E0F5018081D7
+:105F900091812817390761F0CA57DF4FF881C65839
+:105FA000D040FF5FCA57DF4FF883C658D040BACE03
+:105FB000C657DF4F0FB6F894DEBF0FBECDBFDF91DF
+:105FC000CF911F910F91FF90EF90DF90CF90BF90F6
+:105FD000AF909F908F907F906F905F904F903F9089
+:105FE0002F9008950F931F93CF93DF93CDB7DEB714
+:105FF0006F970FB6F894DEBF0FBECDBF8C01FC01CA
+:10600000EE55FD4F1182108240E050E0BA01835BF3
+:106010009F4F0E94A912C801875B9F4F2BE1FC0193
+:106020003496DE01159601900D922A95E1F7FC0158
+:10603000828193819C838B838AEB95E09A83898309
+:1060400020E030E0AE014F5F5F4F62E973E0C801CE
+:1060500023DECE0101968BDD6F960FB6F894DEBF7E
+:106060000FBECDBFDF91CF911F910F9108952BE10E
+:10607000FB013496DC01149601900D922A95E1F70C
+:10608000FB0122813381FC01338322830895EF9247
+:10609000FF920F931F93CF93DF93EC011B82FC01C0
+:1060A000E05BFF4F8081882329F0CE01835B9F4F07
+:1060B0000E948C137E018FE3E81A8EEFF80A45E305
+:1060C00060E0C7010E94BF3A81111FC0EFE2FEE00D
+:1060D0008491882341F09091C00095FFFCCF80937C
+:1060E000C6003196F5CFE7E4F6E08491882341F0CD
+:1060F0009091C00095FFFCCF8093C6003196F5CFFC
+:106100008091C00085FFFCCF77C08E010A531E4FDF
+:1061100041E0B701C8010E945A1B811126C040E02E
+:10612000B701C8010E945A1B81111FC0E5E3FEE0C0
+:106130008491882341F09091C00095FFFCCF80931B
+:10614000C6003196F5CFE4E3F6E08491882341F070
+:106150009091C00095FFFCCF8093C6003196F5CF9B
+:106160008091C00085FFFCCF47C0B801CE01835BA2
+:106170009F4F0E94991081111FC0E5E3FEE08491BA
+:10618000882341F09091C00095FFFCCF8093C6001A
+:106190003196F5CFE4E2F6E08491882341F09091C6
+:1061A000C00095FFFCCF8093C6003196F5CF80915B
+:1061B000C00085FFFCCF20C081E08B83EFE2FEE0D2
+:1061C0008491882341F09091C00095FFFCCF80938B
+:1061D000C6003196F5CFE9E1F6E08491882341F0DD
+:1061E0009091C00095FFFCCF8093C6003196F5CF0B
+:1061F0008091C00085FFFCCF8AE08093C6008E01AD
+:10620000075B1F4FB801CE0186599F4F30DFC85939
+:10621000DF4F19830883DF91CF911F910F91FF907A
+:10622000EF900895FC01128213820895FC012381EE
+:10623000222311F021E022830895FC012281211103
+:1062400012820895AF92BF92CF92DF92EF92FF92A7
+:106250000F931F93CF93DF931F92CDB7DEB78C01BF
+:106260008FE2FB0181935F01D12C41E07801F1E4E1
+:10627000EF1AFEEFFF0A9FE1C92E2D2D30E0F70146
+:106280008081918128173907D8F4C29EC001C39E2E
+:10629000900D112483579F4FB501800F911F4983A3
+:1062A0000E944010C50149815C010196F5012081E1
+:1062B000222321F04D3810F44F5FF6CFD394DDCF79
+:1062C00047FD11C0B501C80188519E4F0F90DF9165
+:1062D000CF911F910F91FF90EF90DF90CF90BF90E3
+:1062E000AF900C944010F50110820F90DF91CF9188
+:1062F0001F910F91FF90EF90DF90CF90BF90AF90E4
+:1063000008953F924F925F926F927F928F929F92E9
+:10631000AF92BF92CF92DF92EF92FF920F931F93B3
+:10632000CF93DF93CDB7DEB7AC970FB6F894DEBF4F
+:106330000FBECDBF7C015B01FC018381882309F482
+:1063400008C1C70188519E4F0E948C13F701128229
+:10635000CE0101966C0101DC270198E6490E511C23
+:10636000C701875B9F4FF20191838083F501808194
+:106370008F3209F084C06FE270E0C5010E9423B63D
+:106380008C010F5F1F4F2AE0322E0115110509F411
+:106390007CC06FE270E0C8010E9423B64C010097F8
+:1063A00009F474C00817190708F070C03C01601A9E
+:1063B000710AA301B801CE0180960E944CB6E0E2BA
+:1063C000F0E0EC0FFD1FE60DF71D1082FE01B09608
+:1063D0008191882339F09091C00095FFFCCF809384
+:1063E000C600F6CF8091C00085FFFCCF3092C6007A
+:1063F000F201608171816115710519F06C5F7F4F49
+:1064000002C060E070E021E0AE01405E5F4FCE016F
+:1064100005960E94831581112BC0EEEFF4E0849164
+:10642000882341F09091C00095FFFCCF8093C60077
+:106430003196F5CFFE01B0968191882339F0909185
+:10644000C00095FFFCCF8093C600F6CFECEFF4E0E0
+:106450008491882341F09091C00095FFFCCF8093F8
+:10646000C6003196F5CF8091C00085FFFCCF6CC08F
+:10647000F201D182C08284010F5F1F4F86CFC70116
+:1064800086599F4FF201918380838501F2018081BB
+:106490009181009711F0049602C080E090E0B8016D
+:1064A0000E945916882339F1EEEEF4E08491882396
+:1064B00041F09091C00095FFFCCF8093C6003196CB
+:1064C000F5CFF8018191882339F09091C00095FFB4
+:1064D000FCCF8093C600F6CF8091C00085FFFCCF33
+:1064E0008AE08093C600F701E356FD4F10821182C7
+:1064F000128213822CC0E6EDF4E08491882341F0EF
+:106500009091C00095FFFCCF8093C6003196F5CFE7
+:10651000F8018191882339F09091C00095FFFCCF5C
+:106520008093C600F6CFE4EDF4E08491882341F037
+:106530009091C00095FFFCCF8093C6003196F5CFB7
+:106540008091C00085FFFCCF8AE08093C600C60121
+:106550000EDBAC960FB6F894DEBF0FBECDBFDF9159
+:10656000CF911F910F91FF90EF90DF90CF90BF9050
+:10657000AF909F908F907F906F905F904F903F90E3
+:106580000895CF93DF93EC018B818823C1F1E2EC76
+:10659000F4E08491882341F09091C00095FFFCCFF6
+:1065A0008093C6003196F5CFFE01E356FD4F408142
+:1065B0005181628173812AE030E08CE99DE00E9484
+:1065C000868AE0ECF4E08491882341F09091C00049
+:1065D00095FFFCCF8093C6003196F5CFCB56DD4FAB
+:1065E000488159816A817B812AE030E08CE99DE015
+:1065F0000E94868A8091C00085FFFCCF11C0E0EB2D
+:10660000F4E08491882341F09091C00095FFFCCF85
+:106610008093C6003196F5CF8091C00085FFFCCFF6
+:106620008AE08093C600DF91CF910895AF92BF9228
+:10663000CF92DF92EF92FF920F931F93CF93DF934E
+:106640005C01EB01FB0101900020E9F78F01015093
+:106650001109061B170B6C01F8E1CF1AFEEFDF0AD8
+:10666000F60110826EE470E0CE010E9423B67C0138
+:10667000009729F4F8013197EC0FFD1F0DC060E27F
+:1066800070E00E9423B6EC0121966AE270E0C70137
+:106690000E9423B6FC0131978DE081838AE08283DA
+:1066A0001382BE01C5018C519E4F0E94438BF6019F
+:1066B0008081882309F1E5E3FEE08491882341F09D
+:1066C0009091C00095FFFCCF8093C6003196F5CF26
+:1066D000EAE9F4E08491882341F09091C00095FFAD
+:1066E000FCCF8093C6003196F5CF8091C00085FF26
+:1066F000FCCF8AE08093C600DF91CF911F910F916C
+:10670000FF90EF90DF90CF90BF90AF9008952F92C1
+:106710003F924F925F926F927F928F929F92AF9231
+:10672000BF92CF92DF92EF92FF920F931F93CF937E
+:10673000DF93CDB7DEB7CC55D1090FB6F894DEBFE5
+:106740000FBECDBF4C018C010F551D4F662339F094
+:10675000F8011082F401838181111DC015C0F80178
+:106760008081882309F4AFC0F401E756FD4FC08053
+:10677000D180E280F3800E9431A9C616D706E806D0
+:10678000F90608F4A0C0E4CFC40181DCF4018381E0
+:10679000882309F498C07401F7E4EF0EF11CF701A7
+:1067A00081818F9380818F9381E994E09F938F9370
+:1067B0008E01015C1F4F1F930F930E945BB60F90D9
+:1067C0000F900F900F900F900F90B12CF801019047
+:1067D0000020E9F73197E01BF10BBE1684F4680145
+:1067E000CB0CD11CB7FCDA94F6018081992787FD88
+:1067F00090950E9498B5F6018083B394E7CFFDE4AD
+:106800008F0E911C40E050E0BA01C4010E94A91211
+:10681000512CCE0101966C013AE8632E34E0732EC0
+:106820005E0191E2A90EB11C40E050E0B601C40146
+:106830000E94F6111816DCF5412CF601019000209B
+:10684000E9F73197EC19FD094E1674F41601240C82
+:10685000311C47FC3A94F101808190E00E9498B588
+:10686000F10180834394E9CF8A858E37E9F245E0D0
+:1068700050E0B801C6010E943EB6892BA9F61F93CD
+:106880000F937F926F92BF92AF920E945BB6C50149
+:106890000E94C03D86E894E00E94333E0F900F9026
+:1068A0000F900F900F900F9055245394BDCF51101F
+:1068B00004C08FEF9FEFF70104C0F7018081918141
+:1068C000019691838083C45ADF4F0FB6F894DEBFE0
+:1068D0000FBECDBFDF91CF911F910F91FF90EF9031
+:1068E000DF90CF90BF90AF909F908F907F906F90F0
+:1068F0005F904F903F902F9008950F931F93CF93E9
+:10690000DF93EC018C0108511E4FC8010E94421315
+:10691000C8010E948C1318821982DF91CF911F91B8
+:106920000F910895CF92DF92EF92FF920F931F93F2
+:10693000CF93DF93CDB7DEB76F970FB6F894DEBF76
+:106940000FBECDBF8C016A017C0188E6E80EF11C08
+:10695000C80186599F4FF70191838083E65CFD4F04
+:1069600022E030E03183208332967183608340E0FF
+:1069700050E0BA0104960E94A912F701808191812A
+:106980002BE1FC013496DE01159601900D922A95BB
+:10699000E1F7FC01828193819C838B838AEB95E0F4
+:1069A0009A8389839601AE014F5F5F4F62E973E07E
+:1069B000C80172D9CE010196DAD86F960FB6F89455
+:1069C000DEBF0FBECDBFDF91CF911F910F91FF9022
+:1069D000EF90DF90CF9008952F923F924F925F9269
+:1069E0006F927F928F929F92AF92BF92CF92DF92DF
+:1069F000EF92FF920F931F93CF93DF93CDB7DEB744
+:106A0000AC970FB6F894DEBF0FBECDBF8C016B0103
+:106A1000342EDC0113968C91882309F4EEC2F80120
+:106A2000E551FE4F8081882309F4F5C02111C1C0D2
+:106A30007801BDEFEB1AFB0AF7018081882361F131
+:106A4000E5E3FEE08491882341F09091C00095FF3A
+:106A5000FCCF8093C6003196F5CFE6EDF5E084914A
+:106A6000882341F09091C00095FFFCCF8093C60031
+:106A70003196F5CF4AE050E061E070E08CE99DE0AE
+:106A80000E945A8A8091C00085FFFCCF8AE08093E3
+:106A9000C6000E942245B1C2EFE2FEE08491882345
+:106AA00041F09091C00095FFFCCF8093C6003196D5
+:106AB000F5CFEDEBF5E08491882341F09091C00093
+:106AC00095FFFCCF8093C6003196F5CFF6018191FA
+:106AD000882339F09091C00095FFFCCF8093C600C9
+:106AE000F6CFE2EBF5E08491882341F09091C0006D
+:106AF00095FFFCCF8093C6003196F5CFD7018C91DE
+:106B00005DE8B52EB801B89E600D711D1124685F57
+:106B10007D4FC80197DBF7018081F801B89EE00D39
+:106B2000F11D1124E85FFD4F8191882339F0909188
+:106B3000C00095FFFCCF8093C600F6CFECEAF5E0ED
+:106B40008491882341F09091C00095FFFCCF809301
+:106B5000C6003196F5CF5801F3E6AF1AFDEFBF0A34
+:106B6000D5014D915D916D917C912AE030E08CE9E9
+:106B70009DE00E94868A8091C00085FFFCCF8AE05C
+:106B80008093C600F7012081F80184E0289FE00D82
+:106B9000F11D1124EC5FFD4FD5014D915D916D917B
+:106BA0007C9140835183628373832F5FF70120833D
+:106BB0002CC0EFE2FEE08491882341F09091C00068
+:106BC00095FFFCCF8093C6003196F5CFEBE9F5E059
+:106BD0008491882341F09091C00095FFFCCF809371
+:106BE000C6003196F5CFF6018191882339F0909156
+:106BF000C00095FFFCCF8093C600F6CF8091C00007
+:106C000085FFFCCF8AE08093C600C80188519E4F63
+:106C10000E948C1330C0F801ED5FFD4F1082EFE24F
+:106C2000FEE08491882341F09091C00095FFFCCF55
+:106C30008093C6003196F5CFEAE8F5E08491882389
+:106C400041F09091C00095FFFCCF8093C600319633
+:106C5000F5CFF6018191882339F09091C00095FF1E
+:106C6000FCCF8093C600F6CF8091C00085FFFCCF9B
+:106C70008AE08093C600D80112961C92FE013196DC
+:106C80005F01CF010E94AD2D2801F8E64F0E511C87
+:106C9000C801875B9F4FD2018D939C93F601808141
+:106CA0008F3209F084C06FE270E0C6010E9423B603
+:106CB00001967C014AE0242EE114F10409F47DC020
+:106CC0006FE270E0C7010E9423B64C01009709F4FF
+:106CD00075C0E816F90608F071C03C016E187F080F
+:106CE000A301B701CE0180960E944CB6E0E2F0E02D
+:106CF000EC0FFD1FE60DF71D1082FE01B09681918D
+:106D0000882339F09091C00095FFFCCF8093C60096
+:106D1000F6CF8091C00085FFFCCF2092C600D20143
+:106D20006D917C916115710519F06C5F7F4F02C008
+:106D300060E070E021E0AE01405E5F4FCE0105965D
+:106D40000E94831581112BC0E6E7F5E0849188232A
+:106D500041F09091C00095FFFCCF8093C600319622
+:106D6000F5CFFE01B0968191882339F09091C00053
+:106D700095FFFCCF8093C600F6CFE4E7F5E0849161
+:106D8000882341F09091C00095FFFCCF8093C6000E
+:106D90003196F5CF8091C00085FFFCCF02C1F20192
+:106DA000B182A0827401FFEFEF1AFF0A85CFC801FC
+:106DB00086599F4FD2018D939C937601F801E8513B
+:106DC000FE4F4F01332009F4B1C0D2016D917C9187
+:106DD0006115710519F06C5F7F4F02C060E070E0D3
+:106DE00021E0A701C4010E948315882309F474C01F
+:106DF000F40181899289A389B489F801EB56FD4F8A
+:106E000080839183A283B383E6E6F5E08491D80181
+:106E1000AB56BD4F882349F09091C00095FFFCCF41
+:106E20008093C60031968491F5CFF7018191882334
+:106E300039F09091C00095FFFCCF8093C600F6CF4B
+:106E4000EEE5F5E08491882341F09091C00095FF34
+:106E5000FCCF8093C6003196F5CF4D915D916D9139
+:106E60007C912AE030E08CE99DE00E94868A809146
+:106E7000C00085FFFCCF8AE08093C600F801E3568E
+:106E8000FD4F1082118212821382E0E5F5E08491B9
+:106E9000882341F09091C00095FFFCCF8093C600FD
+:106EA0003196F5CF8091C00085FFFCCF8AE08093BA
+:106EB000C600A70160E070E0C80134DDD80151963A
+:106EC0008C91882319F0C801419601C0C7010E9426
+:106ED00048728EE793E08CC0ECE3F5E08491882360
+:106EE00041F09091C00095FFFCCF8093C600319691
+:106EF000F5CFF7018191882339F09091C00095FF7B
+:106F0000FCCF8093C600F6CFEAE3F5E084918823B6
+:106F100041F09091C00095FFFCCF8093C600319660
+:106F2000F5CF8091C00085FFFCCF3BC0F2016081AE
+:106F300071816115710519F06C5F7F4F02C060E0CF
+:106F400070E026E5A701C4010E94831581112DC0C0
+:106F5000E6E2F5E08491882341F09091C00095FF2E
+:106F6000FCCF8093C6003196F5CFF701819188233D
+:106F700039F09091C00095FFFCCF8093C600F6CF0A
+:106F8000E4E2F5E08491882341F09091C00095FF00
+:106F9000FCCF8093C6003196F5CF8091C00085FF6D
+:106FA000FCCF8AE08093C60025C081E0D8018C9395
+:106FB000E2E1F5E08491882341F09091C00095FFD3
+:106FC000FCCF8093C6003196F5CFF60181918823DE
+:106FD00039F09091C00095FFFCCF8093C600F6CFAA
+:106FE0008091C00085FFFCCF8AE08093C600C70176
+:106FF0000E944872C5010E94B72DAC960FB6F89456
+:10700000DEBF0FBECDBFDF91CF911F910F91FF90DB
+:10701000EF90DF90CF90BF90AF909F908F907F9038
+:107020006F905F904F903F902F90089521E0FC016A
+:10703000218340E0D1CCCF92DF92EF92FF920F9369
+:107040001F93CF93DF93CDB7DEB76F970FB6F8944A
+:10705000DEBF0FBECDBF8C016C0128E6C20ED11C75
+:1070600086599F4FF60191838083E65CFD4F21E0B6
+:1070700030E0318320837801FCE5EF1AFDEFFF0A51
+:10708000F7011182108240E050E0BA0104960E949C
+:10709000A912F601808191812BE1FC013496DE0179
+:1070A000159601900D922A95E1F7FC01828193815A
+:1070B0009C838B838AEB95E09A83898320E030E080
+:1070C000AE014F5F5F4F62E973E0C8010E944C2E32
+:1070D000CE0101960E94B72DF701808191816F96B4
+:1070E0000FB6F894DEBF0FBECDBFDF91CF911F91D9
+:1070F0000F91FF90EF90DF90CF900895AF92BF92E5
+:10710000CF92DF92EF92FF920F931F93CF93DF9373
+:10711000CDB7DEB76F970FB6F894DEBF0FBECDBF09
+:107120008C017B01CE0101960E94AD2DF801EF5834
+:10713000FF4F80816801811104C029E4C20ED11C77
+:1071400003C08AE6C80ED11C21E0A701B6016C5F1E
+:107150007F4FCE0105960E94831581112DC0EFE26D
+:10716000FEE08491882341F09091C00095FFFCCF10
+:107170008093C6003196F5CFE0E7F4E08491882350
+:1071800041F09091C00095FFFCCF8093C6003196EE
+:10719000F5CFF7018191882339F09091C00095FFD8
+:1071A000FCCF8093C600F6CF8091C00085FFFCCF56
+:1071B0008AE08093C60036C0F801E154FE4F80811A
+:1071C00091818A30910530F59C012F5F3F4F3183CB
+:1071D00020832FE1289F7001299FF00C112429E8BA
+:1071E000E20EF11CE00EF11E5C01B701C7014F96E3
+:1071F0000E94373081E0A81AB1082FE1E21AF108A5
+:107200008FEFA816B80689F7B601C80187579F4FB8
+:107210000E943730BE016F5F7F4FC80186599F4F74
+:107220000E943730CE0101960E94B72D6F960FB69F
+:10723000F894DEBF0FBECDBFDF91CF911F910F91AC
+:10724000FF90EF90DF90CF90BF90AF900895EF92B6
+:10725000FF920F931F93CF93DF93EC01C154DE4F46
+:107260002881398121153105F9F0215031093983FF
+:1072700028838C0107571F4FB80186599F4F0E94E2
+:107280003730C80100E010E07C012FE1E20EF11C74
+:10729000288139810217130738F40F5F1F4FB70198
+:1072A0000E943730C701F0CFDF91CF911F910F912E
+:1072B000FF90EF900895EF92FF920F931F93CF935B
+:1072C000DF93EC010E943D938E010D5F1D4FF8018D
+:1072D00080819E0128513E4F79018823A1F1C90187
+:1072E0000E948C13F801808181508083BE01FDE8EB
+:1072F0008F9F600D711D1124685F7D4F21E041E07B
+:10730000CE016ADBF8018081FE0124E0829FE00D5E
+:10731000F11D1124EC5FFD4F408151816281738129
+:10732000FE01E356FD4F4083518362837383C7019F
+:107330000E94A912CE01DF91CF911F910F91FF9072
+:10734000EF900C9416310E94B393C7010E948C13E6
+:107350001A8284E694E0DF91CF911F910F91FF9004
+:10736000EF9081C48FEF8EBD0DB407FEFDCF8EB5BB
+:1073700008958EBD0DB407FEFDCF089561E0FC01B8
+:1073800080810C948AA8FC012281322F306A3695C4
+:107390003CBD20FD06C031E0263009F430E0232F4B
+:1073A00001C020E02DBD60E0FC0180810C948AA822
+:1073B000CF92DF92EF92FF920F931F93CF93DF93C1
+:1073C000EC018B017A010E9431A96B01CBDF8B8329
+:1073D0008F3F49F40E9431A96C197D096D327140CB
+:1073E000A8F381E144C08E3F11F08FE040C0E1146A
+:1073F000F104D9F0C70101972FEF2EBDF8014FEF2F
+:107400009F01201B310B2817390738F40DB407FEF4
+:10741000FDCF2EB521934EBDF3CF0DB407FEFDCFAA
+:107420002EB5F801E80FF91F2083D801E00EF11EF8
+:10743000C12CD12CAE15BF0579F08D91ED2DFF2714
+:10744000E827EE0FFF1FEC5AF94F85919491DC2C41
+:10745000CC24C826D926EECF85DF082F10E0102FC8
+:10746000002780DF082BC016D10631F080E2898327
+:10747000CE0184DF80E003C0CE0180DF81E0DF91B8
+:10748000CF911F910F91FF90EF90DF90CF900895D3
+:107490000F931F93CF93DF93EB010E9431A98B01D0
+:1074A00061DF8F3F49F00E9431A9601B710B6C179F
+:1074B0007D07B0F380E001C081E0DF91CF911F91A3
+:1074C0000F910895CF92DF92FF920F931F93CF9366
+:1074D000DF9300D01F92CDB7DEB76C01F62E298363
+:1074E0003A834B835C834FDF6CE271E0C601D0DFEF
+:1074F0008F2D80643EDF08E110E05C814B813A8192
+:107500002981DA01C901002E04C0B695A795979587
+:1075100087950A94D2F729833A834B835C8329DFCA
+:107520000850110929813A814B815C81083F8FEF16
+:10753000180739F7FF2029F0E8E0FE1621F08FEF59
+:1075400003C085E901C087E814DFFCE0FF1201C039
+:1075500009DF10E007DFF601838387FF04C01F3FC8
+:1075600011F01F5FF7CF0F900F900F900F90DF91EA
+:10757000CF911F910F91FF90DF90CF900895BF9210
+:10758000CF92DF92EF92FF920F931F93CF93DF93EF
+:10759000EC01B62E1C82198248830E9431A98B010E
+:1075A00061E088810E9451A8CE01E8DE60E082E3BC
+:1075B0000E9451A861E083E30E9451A861E084E346
+:1075C0000E9451A861E085E30E9451A861E085E333
+:1075D0000E948AA885E08A8382E58CBD1DBC6AE092
+:1075E000F62E8FEFC6DEFA94E1F720E030E0A90135
+:1075F00060E0CE0167DFF82E8B8381E0F81649F05A
+:107600000E9431A9601B710B613D774070F381E0EE
+:1076100046C02AEA31E040E050E068E0CE0152DFA7
+:1076200082FF02C0FC820CC054E0F52E9BDE8B83EF
+:10763000FA94E1F78A3A11F082E031C082E08C835B
+:107640008C81823031F4C12CD12CE12C40E4F42E19
+:1076500003C0C12CD12C760120E030E0A90167E302
+:10766000CE0130DFA701960169E2CE012BDF8B83CB
+:10767000882349F00E9431A9601B710B613D77405E
+:1076800058F38AE00CC08C818230B1F420E030E005
+:10769000A9016AE3CE0116DF882329F088E08983F7
+:1076A000CE016CDE14C05EDE807C803C11F483E091
+:1076B0008C8358DE57DE56DECE0160DE86E08B1509
+:1076C00018F488E1898303C0BA8281E001C080E0B8
+:1076D000DF91CF911F910F91FF90EF90DF90CF90AE
+:1076E000BF900895AF92BF92CF92DF92EF92FF9238
+:1076F0000F931F93CF93DF93EC016A017B01890104
+:107700008C81833039F0F9E0CC0CDD1CEE1CFF1CC1
+:10771000FA95D1F773E0B72EE4E0AE2EBA94A70144
+:10772000960161E1CE01CEDE882311F0A98207C067
+:1077300040E052E0B801CE013BDE81110EC0CE0127
+:10774000BB2049F01BDE20E030E0A9016CE0CE0157
+:10775000B9DE1982E3CF12DE80E0DF91CF911F9175
+:107760000F91FF90EF90DF90CF90BF90AF90089572
+:10777000CF93DF93EC016EBD20E030E00DB407FE47
+:10778000FDCFFA01E20FF31F80818EBD0DB407FE1D
+:10779000FDCF81818EBD2E5F3F4F211582E03807DE
+:1077A00069F70DB407FEFDCF8FEFE3DD8FEFE1DD6D
+:1077B000D9DD8B838F71853031F083E18983CE01F0
+:1077C000DDDD80E001C081E0DF91CF9108950F936E
+:1077D0001F93CF93DF93EC0189018C81833039F0C3
+:1077E000B9E0440F551F661F771FBA95D1F79A016C
+:1077F000AB0168E1CE0166DE882311F086E01EC091
+:10780000A8016EEFCE01B4DF8823C9F068E572E00D
+:10781000CE013EDE182F811102C087E10FC020E0AB
+:1078200030E0A9016DE0CE014DDE811106C09ADD88
+:10783000811103C0CE01A2DD05C086E18983CE019E
+:107840009DDD10E0812FDF91CF911F910F91089561
+:10785000FC01659175918591949108952F923F92C5
+:107860004F925F926F927F928F929F92AF92BF9250
+:10787000CF92DF92EF92FF920F931F93CF93DF93FC
+:1078800000D000D0CDB7DEB71C01FC01E051F24FB3
+:1078900014919C01220F331F220F331F3E832D832F
+:1078A0002C5B354F4901F90110821182128213823B
+:1078B00020E53AE04CE45AE068E47AE084E49AE0B7
+:1078C0000E943EA48D819E818150924FC1DF6B0149
+:1078D0007C01612F772767FD7095872F972F0E9476
+:1078E00042AF2B013C012D813E81215F354F590173
+:1078F00020E030E040EC5FE3C701B6010E9475B1C3
+:10790000A30192010E9475B1F501608371838283A6
+:1079100093832D813E81215A3D4F3C832B83F90176
+:107920006081718182819381609321027093220230
+:10793000809323029093240220E030E040E752E459
+:107940000E94A7AE20E3C22E2AE0D22E7B018C013A
+:107950002BE13AE047E15AE063E17AE08FE09AE018
+:107960000E94779A0E943D93F40110821182128244
+:10797000138220E53AE04CE45AE068E47AE084E4DB
+:107980009AE00E943EA42D813E812D50324F3A83D1
+:107990002983C9015DDF9058A30192010E9475B14E
+:1079A000F501608371838283938320E030E040E7B8
+:1079B00052E4609121027091220280912302909101
+:1079C00024020E94A7AE7B018C012BE13AE047E143
+:1079D0005AE063E17AE08FE09AE00E94779A0E9491
+:1079E0003D9389819A8134DF9B01AC010E94C7AD30
+:1079F000A30192010E9475B1F501608371838283B6
+:107A0000938320E030E040E05FE3EB81FC81608124
+:107A10007181828193810E9475B16093210270937C
+:107A20002202809323029093240220E030E040E77A
+:107A300052E40E94A7AE7B018C012BE13AE047E1C2
+:107A40005AE063E17AE08FE09AE00E94779A0E9420
+:107A50003D938D819E81855F914FFADE0D811E8160
+:107A6000085C154FF80120813181428153810E94C9
+:107A7000C7ADF40160837183828393838D819E817E
+:107A80008D5D914FE5DE2D813E812D5B3D4F79016E
+:107A9000F80120813181428153810E94C7ADF701F5
+:107AA00060837183828393838D819E81895E914FF0
+:107AB000CFDE2D813E81295C3D4F7901F801208187
+:107AC0003181428153810E94C7ADF7016083718388
+:107AD00082839383F40180819181A281B381F50136
+:107AE00080839183A283B383109221021092220299
+:107AF00010922302109224020E94EA8BF101EB5CA7
+:107B0000F54F81E0808326960FB6F894DEBF0FBE56
+:107B1000CDBFDF91CF911F910F91FF90EF90DF903C
+:107B2000CF90BF90AF909F908F907F906F905F901D
+:107B30004F903F902F900895FC012491222341F013
+:107B40003091C00035FFFCCF2093C6000196F4CFE2
+:107B500022E030E08CE99DE00C94308BFC01249114
+:107B6000222341F03091C00035FFFCCF2093C600A6
+:107B70000196F4CF2AE030E08CE99DE00C94868AEF
+:107B80002091640830916508243031050CF06AC0FA
+:107B9000409166085091670860E6649F9001659F78
+:107BA000300D1124BC01C9018259974F0E9437B68C
+:107BB000EFE2FEE08491882341F09091C00095FFB0
+:107BC000FCCF8093C6003196F5CFE5EEFDE08491C1
+:107BD000882341F09091C00095FFFCCF8093C600B0
+:107BE0003196F5CF809166089091670820E6289F2E
+:107BF000F001299FF00D1124E259F74F819188235C
+:107C000039F09091C00095FFFCCF8093C600F6CF6D
+:107C1000E3EEFDE08491882341F09091C00095FF50
+:107C2000FCCF8093C6003196F5CF8091C00085FFD0
+:107C3000FCCF8AE08093C600809166089091670827
+:107C4000019664E070E00E946BB2909367088093A5
+:107C50006608809164089091650801969093650884
+:107C60008093640808952091640830916508243059
+:107C700031050CF06AC0409166085091670860E6D3
+:107C8000649F9001659F300D1124BC01C901825988
+:107C9000974F0E94A0B5EFE2FEE08491882341F067
+:107CA0009091C00095FFFCCF8093C6003196F5CF30
+:107CB000E8EDFDE08491882341F09091C00095FFAC
+:107CC000FCCF8093C6003196F5CF809166089091E5
+:107CD000670820E6289FF001299FF00D1124E25942
+:107CE000F74F8191882339F09091C00095FFFCCF28
+:107CF0008093C600F6CFE6EDFDE08491882341F045
+:107D00009091C00095FFFCCF8093C6003196F5CFCF
+:107D10008091C00085FFFCCF8AE08093C6008091EF
+:107D2000660890916708019664E070E00E946BB26B
+:107D30009093670880936608809164089091650825
+:107D40000196909365088093640808959B9AA39880
+:107D50000895FCDF40E052EC61E070E08CE99DE0CA
+:107D60000E944689E0EDFDE08491882341F09091E6
+:107D7000C00095FFFCCF8093C6003196F5CF80916F
+:107D8000C00085FFFCCF8AE08093C6008FE29EE0B2
+:107D9000FC012491222341F03091C00035FFFCCF3B
+:107DA0002093C6003196F5CF24B720FF14C0E8EC2D
+:107DB000FDE03491332341F04091C00045FFFCCFFA
+:107DC0003093C6003196F5CF3091C00035FFFCCF1F
+:107DD0003AE03093C60021FF14C0E8EBFDE0349197
+:107DE000332341F04091C00045FFFCCF3093C600E3
+:107DF0003196F5CF3091C00035FFFCCF3AE030939B
+:107E0000C60022FF14C0E7EAFDE03491332341F0BD
+:107E10004091C00045FFFCCF3093C6003196F5CFAE
+:107E20003091C00035FFFCCF3AE03093C60023FF0D
+:107E300014C0E7E9FDE03491332341F04091C000E4
+:107E400045FFFCCF3093C6003196F5CF3091C0008E
+:107E500035FFFCCF3AE03093C60025FF14C0E7E8B9
+:107E6000FDE02491222341F03091C00035FFFCCF8A
+:107E70002093C6003196F5CF2091C00025FFFCCF9E
+:107E80002AE02093C60014BEE0E8FDE024912223FE
+:107E900041F03091C00035FFFCCF2093C6003196F1
+:107EA000F5CFEAE7FDE02491222341F03091C000B4
+:107EB00035FFFCCF2093C6003196F5CF2091C0004E
+:107EC00025FFFCCF2AE02093C600FC012491EFE2BD
+:107ED000FEE0222349F03091C00035FFFCCF209313
+:107EE000C60031962491F5CFEAE6FDE024912223E5
+:107EF00041F03091C00035FFFCCF2093C600319691
+:107F0000F5CFE5E5FDE02491222341F03091C0005A
+:107F100035FFFCCF2093C6003196F5CFE9E4FDE0B4
+:107F20002491222341F03091C00035FFFCCF2093F3
+:107F3000C6003196F5CFE2E3FDE02491222341F023
+:107F40003091C00035FFFCCF2093C6003196F5CFAD
+:107F50002091C00025FFFCCF2AE02093C600E7E275
+:107F6000FDE02491222341F03091C00035FFFCCF89
+:107F70002093C6003196F5CFEBE1FDE0249122235A
+:107F800041F03091C00035FFFCCF2093C600319600
+:107F9000F5CF2091C00025FFFCCF2AE02093C6003A
+:107FA000FC018491EFE2FEE0882349F09091C0004B
+:107FB00095FFFCCF8093C60031968491F5CFECE01D
+:107FC000FDE08491882341F09091C00095FFFCCFA3
+:107FD0008093C6003196F5CF0E9458964AE050E053
+:107FE000BC018CE99DE00E945A8AE5EFFCE0849197
+:107FF000882341F09091C00095FFFCCF8093C6008C
+:108000003196F5CF4AE050E060ED74E08CE99DE0F8
+:108010000E945A8A8091C00085FFFCCF8AE080933D
+:10802000C60010926A0810926B0810926C081092A9
+:108030006D080E9467870E9439830E94A2200E94D7
+:10804000279A0E9446950E947076FFEF23ED80E309
+:10805000F15020408040E1F700C000000895809179
+:108060005E0890915F0860E070E001960C94F7B2B2
+:1080700080915E0890915F084AE050E060E070E017
+:1080800001960C945FB4682F772767FD7095209157
+:1080900068083091690840E6429FC001439F900DF7
+:1080A00011248259974F0E9423B690935F088093C2
+:1080B0005E0821E0892B09F420E0822F08950E94B8
+:1080C00031A960935A0870935B0880935C08909381
+:1080D0005D0808950E9431A960935A0870935B0867
+:1080E00080935C0890935D08E0916808F0916908BE
+:1080F000E659F74F8081811114C0ECEFF8E08491CC
+:10810000882341F09091C00095FFFCCF8093C6007A
+:108110003196F5CF8091C00085FFFCCF8AE0809337
+:10812000C60008958CE99DE00E949889EFEFF8E081
+:108130008491882341F09091C00095FFFCCF8093FB
+:10814000C6003196F5CF4091F3095091F409609142
+:10815000F5097091F6094F5F5F4F6F4F7F4F2AE02F
+:1081600030E08CE99DE00E94378A8091C00085FF55
+:10817000FCCF8AE08093C600ADCF8F929F92AF92E2
+:10818000BF92CF92DF92EF92FF920F931F93CF9304
+:10819000DF9337ECE32E34E0F32E04E41AE0CFE073
+:1081A000DAE049E5C42E4AE0D42EF70181917F013F
+:1081B0006ADF882311F153DF4B015C01F6018081F6
+:1081C000811103C06091EE0901C061E070E080E0C0
+:1081D00090E00E9442AFF8012081318142815381B9
+:1081E0000E9475B19B01AC01C501B4010E94C7ADED
+:1081F000688379838A839B8309C0F8018081918198
+:10820000A281B38188839983AA83BB830C5F1F4FAC
+:108210002496FFEFCF1ADF0A8BECE81684E0F8060D
+:1082200021F686E430DF8823D1F019DF6B017C0171
+:108230006093FF097093000A8093010A9093020AE9
+:1082400020E030E0A9010E94A3B0181644F4C092C7
+:108250002102D0922202E0922302F0922402DF91C6
+:10826000CF911F910F91FF90EF90DF90CF90BF9033
+:10827000AF909F908F90089580DF89E404DF88237A
+:1082800051F0EDDE6093030A7093040A8093050AAF
+:108290009093060A08C01092030A1092040A1092E2
+:1082A000050A1092060A8AE4EEDE882351F0D7DE32
+:1082B0006093070A7093080A8093090A90930A0A48
+:1082C00008951092070A1092080A1092090A109253
+:1082D0000A0A0895CF92DF92EF92FF92CF93DF9335
+:1082E000EC01C0904302D0904402E0904502F0902F
+:1082F0004602A7019601688179818A819B810E944B
+:10830000A0AE87FF04C0C882D982EA82FB82C090F7
+:108310004702D0904802E0904902F0904A02A7013B
+:1083200096016C817D818E819F810E94A0AE87FF26
+:1083300004C0CC82DD82EE82FF8220E030E0A90121
+:1083400060914B0270914C0280914D0290914E02CF
+:108350000E94C7AD6B017C019B01AC0168857985EA
+:108360008A859B850E94A0AE87FF04C0C886D986F7
+:10837000EA86FB86C0903702D0903802E09039023E
+:10838000F0903A02A7019601688179818A819B81E8
+:108390000E94A3B0181624F4C882D982EA82FB8214
+:1083A000C0903B02D0903C02E0903D02F0903E0233
+:1083B000A70196016C817D818E819F810E94A3B06F
+:1083C000181624F4CC82DD82EE82FF82C0903F0238
+:1083D000D0904002E0904102F0904202A701960145
+:1083E000688579858A859B850E94A3B0181624F438
+:1083F000C886D986EA86FB86DF91CF91FF90EF9001
+:10840000DF90CF900895CF92DF92EF92FF920F937B
+:108410001F938FE09AE05EDF0E9431A960935A08B3
+:1084200070935B0880935C0890935D0820910F0A1D
+:108430003091100A4091110A5091120A6091440A39
+:108440007091450A8091460A9091470A0E94A0AE19
+:10845000811179C02091130A3091140A4091150AB4
+:108460005091160A6091480A7091490A80914A0A0F
+:1084700090914B0A0E94A0AE811165C020E030E0CF
+:1084800040E752E460912102709122028091230220
+:10849000909124020E94A7AE50E3C52E5AE0D52E3B
+:1084A0007B018C012BE13AE047E15AE063E17AE09D
+:1084B0008FE09AE00E94779A80910F0A9091100ABB
+:1084C000A091110AB091120A8093440A9093450A30
+:1084D000A093460AB093470A8091130A9091140A18
+:1084E000A091150AB091160A8093480A9093490A00
+:1084F000A0934A0AB0934B0A8091170A9091180AE8
+:10850000A091190AB0911A0A80934C0A90934D0ACF
+:10851000A0934E0AB0934F0A80911B0A90911C0AB7
+:10852000A0911D0AB0911E0A8093500A9093510A9F
+:10853000A093520AB093530A1F910F91FF90EF90AE
+:10854000DF90CF90089560915D0270915E02882760
+:1085500077FD8095982F0E9442AF209121023091A3
+:10856000220240912302509124020E9475B120E022
+:1085700030E040E752E40E94A7AE20E030E048EC53
+:1085800052E488CFCF92DF92EF92FF92CF93C62F23
+:10859000E091300AF0E0882309F4C2C0DF01A45D55
+:1085A000B54F8C91811196C18091440A9091450AF2
+:1085B000A091460AB091470A80930F0A9093100A3F
+:1085C000A093110AB093120A8091480A9091490A27
+:1085D000A0914A0AB0914B0A8093130A9093140A0F
+:1085E000A093150AB093160A80914C0A90914D0AF7
+:1085F000A0914E0AB0914F0A8093170A9093180ADF
+:10860000A093190AB0931A0AC090500AD090510A48
+:10861000E090520AF090530AC0921B0AD0921C0AB2
+:10862000E0921D0AF0921E0AEE0FFF1FEE0FFF1FD1
+:10863000E15BFD4F2081318142815381CC2349F0A0
+:1086400060912F027091300280913102909132023C
+:1086500008C060913302709134028091350290918C
+:1086600036020E94A7AE9B01AC01C701B6010E9471
+:10867000C7AD6093500A7093510A8093520A909349
+:10868000530A80E59AE00E94E3A4C0902102D090B2
+:108690002202E0902302F090240220E030E040E744
+:1086A00052E460912B0270912C0280912D029091E6
+:1086B0002E020E9475B16093210270932202809372
+:1086C000230290932402E091300AF0E0E45DF54F3C
+:1086D00081E0808398DE2091280A3091290A409118
+:1086E0002A0A50912B0A60914C0A70914D0A809190
+:1086F0004E0A90914F0A0E94C6AD60934C0A709347
+:108700004D0A80934E0A90934F0A20E53AE04CE4DC
+:108710005AE068E47AE084E49AE00E943EA4D1C082
+:10872000E45DF54F8081882309F4D4C08091440A28
+:108730009091450AA091460AB091470A80930F0A8A
+:108740009093100AA093110AB093120A8091480ADC
+:108750009091490AA0914A0AB0914B0A8093130A5A
+:108760009093140AA093150AB093160A60914C0ACC
+:1087700070914D0A80914E0A90914F0A6093170AAA
+:108780007093180A8093190A90931A0AC090500A9D
+:10879000D090510AE090520AF090530AC0921B0AFE
+:1087A000D0921C0AE0921D0AF0921E0A2091280A1B
+:1087B0003091290A40912A0A50912B0A0E94C7AD94
+:1087C00060934C0A70934D0A80934E0A90934F0A1F
+:1087D00020E53AE04CE45AE068E47AE084E49AE088
+:1087E0000E943EA4F090300ACC2389F02091200A08
+:1087F0003091210A4091220A5091230A60912F0260
+:1088000070913002809131029091320210C020911B
+:10881000240A3091250A4091260A5091270A609136
+:1088200033027091340280913502909136020E9499
+:10883000C7AD24E0F29EF0011124E15BFD4F2081E1
+:108840003181428153810E94A7AE9B01AC016091AE
+:10885000500A7091510A8091520A9091530A0E94D5
+:10886000C6AD6093500A7093510A8093520A909358
+:10887000530A80E59AE00E94E3A4C0902102D090C0
+:108880002202E0902302F090240220E030E040E752
+:1088900052E4609127027091280280912902909100
+:1088A0002A020E9475B16093210270932202809384
+:1088B000230290932402E091300AF0E0E45DF54F4A
+:1088C0001082A1DDC0922102D0922202E092230206
+:1088D000F0922402CF91FF90EF90DF90CF90089517
+:1088E000AF92BF92CF92DF92EF92FF920F931F93BE
+:1088F000CF93DF93D82F2091070A3091080A409137
+:10890000090A50910A0A6091030A7091040A809141
+:10891000050A9091060A0E94B0B0C62F172F082FA3
+:10892000F92E60915D0270915E02882777FD809537
+:10893000982F0E9442AF2091210230912202409153
+:108940002302509124020E9475B120E030E040E7FC
+:1089500052E40E94A7AE20E030E048EC52E40E94CE
+:10896000A7AE2091300A2F93DF93FF920F931F93AE
+:10897000CF935B016C0172E0E72E01E020E043E061
+:108980005AE06FE07AE084E49AE00E943B2A80910A
+:108990000F0A9091100AA091110AB091120A8093C7
+:1089A000440A9093450AA093460AB093470A8091DF
+:1089B000130A9091140AA091150AB091160A809397
+:1089C000480A9093490AA0934A0AB0934B0A8091AF
+:1089D000170A9091180AA091190AB0911A0A809367
+:1089E0004C0A90934D0AA0934E0AB0934F0A80917F
+:1089F0001B0A90911C0AA0911D0AB0911E0A809337
+:108A0000500A9093510AA093520AB093530A0E94BD
+:108A100031A960935A0870935B0880935C08909327
+:108A20005D080F900F900F900F900F900F90DF91B7
+:108A3000CF911F910F91FF90EF90DF90CF90BF905B
+:108A4000AF900895F8940E944521179A1092350A24
+:108A5000169A1092360A159A1092370A149A60E004
+:108A600087E40E9451A8E5E3FEE08491882341F069
+:108A70009091C00095FFFCCF8093C6003196F5CF52
+:108A8000EDEDF8E08491882341F09091C00095FFCE
+:108A9000FCCF8093C6003196F5CF8091C00085FF52
+:108AA000FCCF8AE08093C60084ED98E00E940D76AA
+:108AB0007894C6E0D0E02197209749F068EC70E008
+:108AC00080E090E00E9460A90E949C76F4CFF89428
+:108AD000FFCF2F923F924F925F926F927F928F9231
+:108AE0009F92AF92BF92CF92DF92EF92FF920F933D
+:108AF0001F93CF93DF93CDB7DEB76E970FB6F89481
+:108B0000DEBF0FBECDBFB0E6BB2E14E0E12EF12CD0
+:108B10000BEBC02E0BE0D02E8AE0A82E9924939464
+:108B200080911D0E90911E0E20911F0E3091200EEF
+:108B3000821B930B8F779927892B09F41AC2809196
+:108B400064089091650804970CF013C28CE99DE0CD
+:108B50000E947C89809363082091610830916208AB
+:108B60008A3061F08D3051F08A3321F490916008A1
+:108B7000992321F02F3531050CF41DC12115310544
+:108B800009F437C18091660890916708B89E30015A
+:108B9000B99E700C1124F301E20FF31FE259F74F55
+:108BA000108220916008211101C110926008FC011F
+:108BB000E659F74F108283010259174F6EE470E0B7
+:108BC000C8010E9423B60097F1F190935F0880934B
+:108BD0005E08801B910B860D971D4AE050E060E017
+:108BE00070E08159974F0E945FB46093F7097093CA
+:108BF000F8098093F9099093FA094090F30950908D
+:108C0000F4096090F5097090F6092FEF421A520AA4
+:108C1000620A720A0091660810916708641575056A
+:108C20008605970509F4E8C0B09EC001B19E900D7D
+:108C3000112467ED7CE08259974F0E94CEB5892BB5
+:108C400009F0DAC069C16AE270E0C8010E9423B687
+:108C5000892B09F444C0E5E3FEE08491882341F0C8
+:108C60009091C00095FFFCCF8093C6003196F5CF60
+:108C7000E1E3FCE08491882341F09091C00095FFEE
+:108C8000FCCF8093C6003196F5CF4091F309509107
+:108C9000F4096091F5097091F6092AE030E08CE959
+:108CA0009DE00E94378A8091C00085FFFCCF8AE05A
+:108CB0008093C6001092620810926108C0C2809131
+:108CC000F7099091F809A091F909B091FA098093F8
+:108CD000F3099093F409A093F509B093F6098091F4
+:108CE000660890916708B89E8001B99E100D112406
+:108CF000C8018259974F3C0167E470E00E9423B697
+:108D0000009781F190935F0880935E088619970918
+:108D1000800F911F60E070E08159974F0E94F7B279
+:108D20000E940FAF64307105E8F480914C088823ED
+:108D3000C9F0F6018491EBEBFBE0882349F09091B8
+:108D4000C00095FFFCCF8093C60031968491F5CF8B
+:108D50008091C00085FFFCCFA092C60081EB9BE014
+:108D60000E9400760091660810916708B09EC001CD
+:108D7000B19E900D112463E973E08259974F0E94D0
+:108D80002EB6892B09F45EDEC8010196B7010E9458
+:108D90006BB2909367088093660880916408909105
+:108DA00065080196909365088093640810926208A4
+:108DB00010926108B5CE8B3311F4909260089091B7
+:108DC00060089111ADCE4091660850916708B901D5
+:108DD0006F5F7F4F7093620860936108B49EF001EB
+:108DE000B59EF00D1124E20FF31FE259F74F808377
+:108DF00097CE1092600823C2B09E3001B19E700CD5
+:108E00001124C3018259974F1C016AE270E00E944D
+:108E100023B6009789F5E5E3FEE08491882341F0CD
+:108E20009091C00095FFFCCF8093C6003196F5CF9E
+:108E3000EBE5FCE08491882341F09091C00095FF20
+:108E4000FCCF8093C6003196F5CF4091F309509145
+:108E5000F4096091F5097091F6092AE030E08CE997
+:108E60009DE00E94378A8091C00085FFFCCF8AE098
+:108E70008093C60057D91ECF20E010E0F301E20F27
+:108E8000F11DE259F74F30813A3219F02F5F132765
+:108E9000F5CF90935F0880935E0882199309860D41
+:108EA000971D60E070E08159974F0E94F7B20E94D1
+:108EB0000FAF212F30E02617370709F400CFE5E385
+:108EC000FEE08491882341F09091C00095FFFCCF93
+:108ED0008093C6003196F5CFE5E8FCE084918823C5
+:108EE00041F09091C00095FFFCCF8093C600319671
+:108EF000F5CF4091F3095091F4096091F509709113
+:108F0000F6092AE030E08CE99DE00E94378A8091E2
+:108F1000C00085FFFCCFABCFE5E3FEE08491882362
+:108F200041F09091C00095FFFCCF8093C600319630
+:108F3000F5CFE4EAFCE08491882341F09091C000F1
+:108F400095FFFCCF8093C6003196F5CF4091F30991
+:108F50005091F4096091F5097091F6092AE030E02A
+:108F60008CE99DE00E94378A8091C00085FFFCCF8C
+:108F70007ECF80915F0A882309F461C180916108E6
+:108F800090916208892B09F05AC1809164089091F0
+:108F90006508892B11F410924A08F8EE2F2EF3E0A1
+:108FA0003F2E412C512CACE3CA2ED12CE12CF12CBC
+:108FB0008E010F5F1F4FE0E66E2E77247394409171
+:108FC000FA0C5091FB0C6091FC0C7091FD0C80919F
+:108FD000F20C9091F30CA091F40CB091F50C4817A1
+:108FE00059076A077B0708F02AC1809164089091AD
+:108FF000650804970CF023C180914A0881111FC1B4
+:1090000080914D0C90914E0CA0914F0CB091500C52
+:109010008093FA0C9093FB0CA093FC0CB093FD0C86
+:1090200085E49CE00E94E011482F809363088A3019
+:10903000B9F04D30A9F0433229F420916008222381
+:1090400079F002C04A33C9F3209161083091620877
+:109050002F3531052CF48F3FFFEF9F0709F0D1C06A
+:109060004091FA0C5091FB0C6091FC0C7091FD0C3E
+:109070008091F20C9091F30CA091F40CB091F50C4E
+:10908000481759076A077B0708F481C0EEE9FBE03F
+:109090008491882341F09091C00095FFFCCF80938C
+:1090A000C6003196F5CF8091C00085FFFCCFFAE075
+:1090B000F093C6000E9431A960934E0870934F0848
+:1090C00080935008909351088090520890905308D4
+:1090D000A0905408B0905508681979098A099B092D
+:1090E000A20191010E947EB249015A01CA01B9014F
+:1090F000A70196010E947EB2CA01B901A70196019B
+:109100000E947EB27F936F93C501B40120E13EE0DF
+:1091100040E050E00E947EB23F932F93AAE8BBE06C
+:10912000BF93AF931F930F930E945BB6EFE2FEE0F5
+:1091300084910FB6F894DEBF0FBECDBF882349F0EF
+:109140009091C00095FFFCCF8093C600319684912A
+:10915000F5CFF8018191882339F09091C00095FFF7
+:10916000FCCF8093C600F6CF8091C00085FFFCCF76
+:109170003AE03093C600C8010E9448728DE59AE03B
+:109180000E945B3961E08DE59AE00E94873380910F
+:109190006308833211F470924A082091610830917B
+:1091A00062082115310509F424CE8091660890915A
+:1091B0006708689EF001699EF00D1124E20FF31F0D
+:1091C000E259F74F1082FC01E659F74F7082209167
+:1091D0006408309165082F5F3F4F309365082093F6
+:1091E0006408019664E070E00E946BB29093670897
+:1091F00080936608109260081092620810926108CD
+:10920000DECE4B3311F4709260084091600841113A
+:10921000D2CE4091660850916708B9016F5F7F4FC9
+:109220007093620860936108649EF001659EF00D82
+:109230001124E20FF31FE259F74F8083C0CE6E96E0
+:109240000FB6F894DEBF0FBECDBFDF91CF911F9157
+:109250000F91FF90EF90DF90CF90BF90AF909F90D5
+:109260008F907F906F905F904F903F902F900895D8
+:10927000CF92DF92EF92FF920F931F93CF93C82F5D
+:10928000809164089091650803970CF422DC0E9499
+:1092900031A9009156081091570820915808309133
+:1092A0005908C0905A08D0905B08E0905C08F09094
+:1092B0005D086C197D098E099F0906171707280795
+:1092C000390728F4012B022B032B09F0BBDB40915B
+:1092D0001D0250911E0260911F0270912002452BC9
+:1092E000462B472B19F10E9431A900915A08109181
+:1092F0005B0820915C0830915D08601B710B820B4C
+:10930000930B00911D0210911E0220911F023091BB
+:109310002002061717072807390740F490916D0EB1
+:1093200080916C0E981302C0CC2349F0CF911F910D
+:109330000F91FF90EF90DF90CF900C945B9A179A6B
+:109340001092350A169A1092360A159A1092370A18
+:10935000149AECCF0E94452180914C08811138C0AD
+:1093600081E080934C088091F3099091F409A091D9
+:10937000F509B091F6098093EF099093F009A09355
+:10938000F109B093F209E5E3FEE08491882341F00E
+:109390009091C00095FFFCCF8093C6003196F5CF29
+:1093A000EEE5F8E08491882341F09091C00095FFAC
+:1093B000FCCF8093C6003196F5CF8091C00085FF29
+:1093C000FCCF8AE08093C60084E598E00C94007698
+:1093D000089580914C080895CF93DF93EC0180911C
+:1093E000300A80934D0884E50E944340811102C0F9
+:1093F00080E075C00E942F400E9414AF60934D081A
+:109400006623B1F3EFE2FEE08491882341F090916E
+:10941000C00095FFFCCF8093C6003196F5CFCD36C6
+:10942000D105B9F054F4C836D105B1F0C936D1052B
+:1094300009F045C0EDEDF3E021C0CA3DD10531F0A2
+:10944000CD3DD105E1F5E8E9F3E036C0EFEAF3E020
+:1094500029C0E6ECF3E01CC0E4EFF3E0819188233F
+:1094600071F19091C00095FFFCCF8093C600F6CFBC
+:109470009091C00095FFFCCF8093C600819181112F
+:10948000F7CF1DC09091C00095FFFCCF8093C60020
+:1094900081918111F7CF13C09091C00095FFFCCF4F
+:1094A0008093C60081918111F7CF09C09091C000CF
+:1094B00095FFFCCF8093C60081918111F7CF40E0EA
+:1094C00050E060914D088CE99DE00E94918A809166
+:1094D000C00085FFFCCF8AE08093C60081E0DF9169
+:1094E000CF910895CF92DF92EF92FF922091540A8C
+:1094F0002223F1F020E030E040E05FE30E9475B10C
+:109500006B017C0120E030E0A9010E94A0AE88231D
+:1095100079F0A7019601C701B6010E9475B12BED44
+:109520003FE049E450E40E9475B19B01AC0104C0E6
+:1095300020E030E040E85FE360E070E080E89FE337
+:109540000E94A7AEFF90EF90DF90CF9008956091BA
+:109550005302709154028091550290915602C2DFDD
+:1095600060934F0270935002809351029093520285
+:1095700008953F924F925F926F927F928F929F9247
+:10958000AF92BF92CF92DF92EF92FF920F931F9311
+:10959000CF93DF93CDB7DEB7E9970FB6F894DEBF70
+:1095A0000FBECDBF80E50E9443408823B1F186E421
+:1095B0000E9443408823A9F0EAE1F4E081918823E6
+:1095C00039F09091C00095FFFCCF8093C600F6CF94
+:1095D0008091C00085FFFCCF8AE08093C6000C9488
+:1095E000F46082E50E944340882311F40C94F460F7
+:1095F000E0E2F4E08191882339F09091C00095FF7A
+:10960000FCCF8093C600F6CF8091C00085FFFCCFD1
+:109610008AE08093C6000C94F46087E40E94434083
+:10962000882309F44CC20E942F400E940FAF6A3079
+:10963000710509F4AFC09CF46230710509F44CC0A7
+:1096400024F477FF25C00C94F4606330710509F4AD
+:109650004EC06430710509F455C00C94F4606A354D
+:10966000710509F4D8C154F46B30710509F498C040
+:109670006C31710509F49AC00C94F4606B35710576
+:1096800009F4CDC16C35710509F4CEC10C94F460B8
+:1096900080914C0881110C94F4600E94BD4080912F
+:1096A0002D0A8823A9F088E50E944340811110C04B
+:1096B00089E50E94434081110BC08AE50E94434026
+:1096C000811106C085E40E94434081110C94F7602B
+:1096D0000E9403420C94F46080914C0881110C9418
+:1096E000F4600E943C4181E0FBD80C94F4608091CE
+:1096F0004C0881110C94F4600E943C4180E0F0D849
+:109700000C94F46081E89BE00E94007680E50E9462
+:109710004340882339F00E942F400E9414AF4B0130
+:109720005C0103C0812C912C540183E50E944340CD
+:10973000882361F00E942F4020E030E04AE754E4A3
+:109740000E9475B10E9414AF4B015C010E943D93D1
+:109750000E9431A96B017C01C80CD91CEA1CFB1CBE
+:109760000E9431A960935A0870935B0880935C084B
+:1097700090935D080E9431A96C157D058E059F05AB
+:1097800010F00C94F4600E94721E80E071DD0E9463
+:109790009C76F0CF60E081E00E94C2420C94F460BD
+:1097A00060E080E00E94C2420C94F460809121024B
+:1097B00090912202A0912302B09124028093FB0990
+:1097C0009093FC09A093FD09B093FE0980915D027E
+:1097D00090915E029093580A8093570A84E690E035
+:1097E00090935E0280935D020E9431A960935A08B3
+:1097F00070935B0880935C0890935D0881E00E9401
+:10980000F18B8091440A9091450AA091460AB0914B
+:10981000470A80930F0A9093100AA093110AB093FD
+:10982000120A8091480A9091490AA0914A0AB0917F
+:109830004B0A8093130A9093140AA093150AB093CD
+:10984000160A80914C0A90914D0AA0914E0AB0914F
+:109850004F0A8093170A9093180AA093190AB0939D
+:109860001A0A8091500A9091510AA091520AB0911F
+:10987000530A80931B0A90931C0AA0931D0AB0936D
+:109880001E0A1092210210922202109223021092BC
+:10989000240288E50E944340882311F090E00AC02A
+:1098A00089E50E9443408111F9CF8AE50E94434037
+:1098B00091E098279093250291110C94266188E5F8
+:1098C0000E94434081110C942661809125028111F0
+:1098D0000C942C6189E50E94434081110C942C6109
+:1098E00088E50E9443408823D1F00E943840672BCE
+:1098F000682B692BA1F00E942F402091380A3091EB
+:10990000390A40913A0A50913B0A0E94C7AD6093D0
+:10991000440A7093450A8093460A9093470A89E562
+:109920000E9443408823D1F00E943840672B682B67
+:10993000692BA1F00E942F4020913C0A30913D0AF2
+:1099400040913E0A50913F0A0E94C7AD6093480A79
+:109950007093490A80934A0A90934B0A809125029A
+:1099600081110C9432618AE50E94434081110C946C
+:1099700032618AE50E9443408823D1F00E9438403A
+:10998000672B682B692BA1F00E942F402091400A81
+:109990003091410A4091420A5091430A0E94C7AD5A
+:1099A00060934C0A70934D0A80934E0A90934F0A2D
+:1099B00020E53AE04CE45AE068E47AE084E49AE096
+:1099C0000E943EA480E00E94F18B8091FB0990915F
+:1099D000FC09A091FD09B091FE09809321029093AA
+:1099E0002202A0932302B09324028091570A9091FF
+:1099F000580A90935E0280935D020E9431A96093A1
+:109A00005A0870935B0880935C0890935D080E94ED
+:109A1000EA8B0C94F4601092EE090C94F46081E0EF
+:109A20008093EE090C94F46085E40E944340811118
+:109A300002C00E943D9357ECC52E54E0D52E68E33A
+:109A4000E62E6AE0F62E04E41AE0B12CF6018191CC
+:109A50006F010E944340882339F1F3E0BF120CC02C
+:109A60000E942F40F801608371838283938380E595
+:109A70009AE00E94E3A418C00E942F40F7012081C1
+:109A80003181428153810E94C7ADF80160837183A7
+:109A90008283938320E53AE04CE45AE068E47AE07C
+:109AA00084E49AE00E943EA4B394F4E0EF0EF11C2B
+:109AB0000C5F1F4F24E0B212C9CF0C94F4608DE408
+:109AC0000E944340882311F40C9423600E942F408D
+:109AD0000E940FAF6537710511F40C94C9550CF055
+:109AE000A6C06032710509F4F0C20CF056C06731AF
+:109AF000710509F445C254F56231710509F468C76E
+:109B0000BCF477FF02C00C94F460623071050CF471
+:109B100061C16131710511F00C94F46088E49BE03F
+:109B20000E94007617981698159814980C94F46073
+:109B30006531710509F418C20CF01CC2643171055D
+:109B400011F00C94F460E8E3FBE0EAC16B317105BD
+:109B500009F442C2B4F46931710509F429C20CF068
+:109B60002DC28DE59AE00E9416310E9431A96093C2
+:109B700052087093530880935408909355080C949E
+:109B8000F4606E31710509F462C20CF03AC36C31B5
+:109B9000710509F427C20C94F4606C35710509F461
+:109BA0006AC7ECF46235710509F409C764F46035DD
+:109BB000710509F4DAC60CF0E5C66A32710509F4DC
+:109BC0007EC30C94F4606435710509F401C70CF48C
+:109BD000FAC66535710509F433C70C94F4606B3629
+:109BE000710509F4BCC664F46936710509F4DEC375
+:109BF0000CF085C66836710509F4A8C30C94F460AE
+:109C00006037710509F4BFC334F46D36710509F48A
+:109C1000D9C40C94F4606237710509F4CEC7633778
+:109C2000710511F00C94F460EEEBF9E0ADC76D3DF9
+:109C3000710511F40C94D3590CF04DC06B3C7105B7
+:109C400011F40C944D5844F56C38710509F49DC31A
+:109C50009CF46837710511F40C94BD566937710591
+:109C600011F40C94C2566737710511F00C94F4602E
+:109C7000E7E2F4E00C94CD56683C710511F40C94C5
+:109C8000B757693C710511F40C942C586E3B710563
+:109C900011F00C94F46020C56F3C710511F40C9424
+:109CA000095954F46D3C710511F40C948C5814F45A
+:109CB0000C946A580C94EC58613D710511F40C94A5
+:109CC000645914F40C943E596C3D710511F40C94D4
+:109CD000C4590C94F460603931E0730711F40C94AA
+:109CE000965B54F56E3291E0790711F40C94505B59
+:109CF00084F46C32F1E07F0711F40C94545A14F0A0
+:109D00000C948A5A623E710511F40C94F9590C9422
+:109D1000F4606E3531E0730711F40C94905F6F3589
+:109D200081E0780711F40C94C75F6F32714011F035
+:109D30000C94F4600C945E5B6835E2E07E0711F4ED
+:109D40000C94745CBCF4663F21E0720711F40C942F
+:109D5000995B673F31E0730711F40C949C5B653F9E
+:109D6000714011F00C94F4600E9467870E9439835F
+:109D70000C94F4606B3893E0790711F40C946A5FEB
+:109D80003CF46335734011F40C949F5B0C94F460C5
+:109D9000603A23E0720709F401C2673E734011F094
+:109DA0000C94F46010924C080E9413768091EF0995
+:109DB0009091F009A091F109B091F2098093F30913
+:109DC0009093F409A093F509B093F6090E9492408C
+:109DD0000C94F46000915E0810915F080E5F1F4FB5
+:109DE00080E50E944340882379F00E942F400E9422
+:109DF00014AF6B017C01BB24B3946115710581051F
+:109E0000910531F4B12C04C0B12CC12CD12C7601B8
+:109E100083E50E944340882399F00E942F4020E070
+:109E200030E04AE754E40E9475B10E9414AF6B0120
+:109E30007C01AA24A394611571058105910509F49B
+:109E4000A12C6AE270E0C8010E9423B6009711F0CD
+:109E5000FC011082F801CF0121912032E1F3B11011
+:109E600007C0A11005C0222319F00E94487204C047
+:109E700080E79BE00E94007681E00E9428720E94A9
+:109E80003D930E9431A960935A0870935B088093B8
+:109E90005C0890935D08C114D104E104F104A9F0B9
+:109EA0000E9431A94B015C018C0C9D1CAE1CBF1C97
+:109EB0000E9431A9681579058A059B05B8F40E94AE
+:109EC0006277811113C00C9438610E9460778823F7
+:109ED00011F40C94F4600E94627781110AC00E9410
+:109EE000721E80E0C5D90E949C76F5CF80E00E946A
+:109EF000287280915F0A882331F081E69BE00E94FE
+:109F000000760C94F46081E59BE00E9400760C944E
+:109F1000F4609091C00095FFFCCF8093C60031960D
+:109F200084918111F6CF8091C00085FFFCCF8AE03B
+:109F30008093C6008DE59AE00E94F22FEAE2FBE0F2
+:109F40008491882341F09091C00095FFFCCF8093CD
+:109F5000C6003196F5CF8091C00085FFFCCF8AE026
+:109F60008093C6000C94F4608DE59AE00E9447301F
+:109F70000C94F4608DE59AE00E9412310C94F46028
+:109F800000915E0810915F080C5F1F4F6AE270E05D
+:109F9000C8010E9423B6009711F0FC01108221E055
+:109FA00041E0B8018DE59AE00E94EC340C94F46035
+:109FB0008DE59AE00E941D310C94F4608091600A56
+:109FC000882311F40C94F46083E50E9443408111CE
+:109FD0000C9441610C94F4608DE59AE00E94C132CA
+:109FE0000C94F46080915E0890915F086AE270E0E2
+:109FF00004960E9423B68C010097D9F0209168083E
+:10A000003091690840E6429FC001439F900D1124A2
+:10A010006EE470E08259974F0E9423B660E270E0D0
+:10A020000E9423B6019690935F0880935E08F80122
+:10A03000108260915E0870915F086C5F7F4F21E035
+:10A0400040E08DE59AE00E94EC340C94F46080913D
+:10A05000600A882311F40C94F46060E08DE59AE0C6
+:10A060000E947D3480915E0890915F086AE270E002
+:10A0700004960E9423B68C010097D9F020916808BD
+:10A080003091690840E6429FC001439F900D112422
+:10A090006EE470E08259974F0E9423B660E270E050
+:10A0A0000E9423B6019690935F0880935E08F801A2
+:10A0B000108260915E0870915F086C5F7F4F8DE544
+:10A0C0009AE00E9481310C94F46080915F0A8111C2
+:10A0D0000E943D9300915E0810915F080C5F1F4F36
+:10A0E0006AE270E0C8010E9423B67C0161E270E080
+:10A0F000C8010E9423B6009719F08C010F5F1F4F13
+:10A10000E114F10411F0F701108280E50E94434050
+:10A11000F82E20915E0830915F080217130708F4AB
+:10A12000F12C8091600A882311F40C94F46021E0F2
+:10A130002F2541E0B8018DE59AE00E94EC3483E5DB
+:10A140000E9443408823B9F020915E0830915F0857
+:10A150002017310780F40E943840AB01BC014093C6
+:10A16000FA0C5093FB0C6093FC0C7093FD0C85E48F
+:10A170009CE00E94A9128DE59AE00E941631F11030
+:10A180000C94F4600E9431A96093520870935308B4
+:10A1900080935408909355080C94F46080915E0865
+:10A1A00090915F086AE270E005960E9423B68C01E8
+:10A1B0000097D9F0209168083091690840E6429FE5
+:10A1C000C001439F900D11246EE470E08259974FB7
+:10A1D0000E9423B660E270E00E9423B6019690933D
+:10A1E0005F0880935E08F801108260915E087091AC
+:10A1F0005F086B5F7F4F8DE59AE00E9416380C94E4
+:10A20000F4600E9431A960934E0870934F088093C8
+:10A2100050089093510800915208109153082091D2
+:10A22000540830915508601B710B820B930B28EE7C
+:10A2300033E040E050E00E947EB2CA01B9012CE355
+:10A2400030E040E050E00E947EB27F936F933F93F6
+:10A250002F938BE19BE09F938F93CE0101969F9369
+:10A260008F930E945BB6EFE2FEE084910FB6F89404
+:10A27000DEBF0FBECDBF882349F09091C00095FF8F
+:10A28000FCCF8093C60031968491F5CFFE013196C4
+:10A290008191882339F09091C00095FFFCCF809385
+:10A2A000C600F6CF8091C00085FFFCCF8AE0809386
+:10A2B000C600CE0101960E9448720C94F46083E5BA
+:10A2C0000E944340882311F40C94F4600E942F40B4
+:10A2D0000E940FAFF62EE72E862F9E2D8C0180E573
+:10A2E0000E944340882331F00F3F110509F010F41C
+:10A2F0000C9452610DE010E0EFE8F4E0819191914F
+:10A300008017910711F40C94F46034E0E73CF307F4
+:10A31000A9F70830110539F48F2D9E2D90932F0A3F
+:10A3200080932E0A04C017FF02C00C94F46061E011
+:10A33000802F0E9451A86F2D802F0E948AA86F2D18
+:10A340007E2D802F0E9447A70C94F46088E690E051
+:10A3500043D881110C94F46083E50E944340882324
+:10A3600071F000914D080E942F4010E0000F111F66
+:10A37000085B174F0E940FAFF801718360830E9442
+:10A3800044210C94F4600E94224583E50E944340DE
+:10A39000882311F40C94F4600E942F400E940FAFA8
+:10A3A00070934708609346080C94F46089E690E047
+:10A3B00013D881110C94F460E5E1FBE084918823CB
+:10A3C00041F09091C00095FFFCCF8093C60031967C
+:10A3D000F5CFE0914D0824E0E29FF0011124E05C0C
+:10A3E000F74F408151816281738121E030E08CE937
+:10A3F0009DE00E94308BE2E1FBE08491882341F0F4
+:10A400009091C00095FFFCCF8093C6003196F5CFA8
+:10A41000E0914D08F0E0EE0FFF1FE85BF74F608121
+:10A420007181882777FD8095982F0E9442AFAB01FC
+:10A43000BC0121E030E08CE99DE00E94308BEEE031
+:10A44000FBE08491882341F09091C00095FFFCCF00
+:10A450008093C6003196F5CF40913A0850913B0861
+:10A4600060913C0870913D0821E030E08CE99DE06E
+:10A470000E94308BEBE0FBE08491882341F09091C7
+:10A48000C00095FFFCCF8093C6003196F5CF609158
+:10A49000460870914708882777FD8095982F0E947D
+:10A4A00042AFAB01BC0121E030E08CE99DE00E94AD
+:10A4B000308BE8E0FBE08491882341F09091C0006C
+:10A4C00095FFFCCF8093C6003196F5CF4AE050E06F
+:10A4D00060E070E08CE99DE00E945A8AE6E0FBE0D3
+:10A4E0008491882341F09091C00095FFFCCF809328
+:10A4F000C6003196F5CF40914008509141086091D7
+:10A5000042087091430821E030E08CE99DE00E9410
+:10A51000308BE3E0FBE08491882341F09091C00010
+:10A5200095FFFCCF8093C6003196F5CF6091480827
+:10A5300070914908882777FD8095982F0E9442AF37
+:10A54000AB01BC0121E030E08CE99DE00E94308B42
+:10A55000EFEFFAE08491882341F09091C00095FFDD
+:10A56000FCCF8093C6003196F5CF80914D0890E0E6
+:10A570000E943C1E4AE050E0BC018CE99DE00E9434
+:10A580005A8AEAEFFAE08491882341F09091C00062
+:10A5900095FFFCCF8093C6003196F5CF8FEF9FEFEC
+:10A5A0000E943C1E4AE050E0BC018CE99DE00E9404
+:10A5B0005A8A8091C00085FFFCCF8AE08093C60054
+:10A5C0000C94B0628DE690E00E94EC4981110C94ED
+:10A5D000F4608FEE9AE00E94007683E50E9443408B
+:10A5E000882391F000914D080E942F4010E0000F49
+:10A5F000111F085B174F0E940FAFF8017183608332
+:10A6000081E080931C0215C082E50E9443408823AC
+:10A6100081F000914D080E942F4010E0000F111FA3
+:10A62000085B174F0E940FAFF8017183608310928F
+:10A630001C020E9444210E9431A94B015C0100913F
+:10A640004D0810E0F801EE0FFF1FE85BF74F608147
+:10A650007181882777FD8095982F0E9442AFF8017D
+:10A66000EE0FFF1FEE0FFF1FE05CF74F11E02081A0
+:10A670003181428153810E94A3B018160CF010E082
+:10A6800010934B0810921F0ACC24CA94DC2C76013C
+:10A6900048EE442E43E0542E612C712C5AE0352EA6
+:10A6A00080911F0A81110C946D62FFEFCF16DF06B7
+:10A6B000EF06FF0611F40C945961F7FE02C00C94EA
+:10A6C0006D620E9431A96C197D09683B7B4010F4D2
+:10A6D0000C9459610C946D6289EC9AE00E940076AA
+:10A6E00083E50E944340882361F00E942F400E942E
+:10A6F0000FAF709347086093460881E080931C0277
+:10A700000FC082E50E944340882351F00E942F40F1
+:10A710000E940FAF709347086093460810921C0286
+:10A720000E9431A94B015C0110921F0A60914608FA
+:10A7300070914708882777FD8095982F0E9442AF37
+:10A7400011E020913A0830913B0840913C0850912B
+:10A750003D080E94A3B018160CF010E010934B08AF
+:10A7600006EC1AE0E2ECEE2EEAE0FE2EFEEBCF2E37
+:10A77000FAE0DF2EAAE07A2E80914B08609146081D
+:10A7800070914708882309F48BC080911F0A8111BA
+:10A7900087C0882777FD8095982F0E9442AF20912F
+:10A7A0003A0830913B0840913C0850913D080E9486
+:10A7B000A3B018160CF08BC00E9431A96819790952
+:10A7C0008A099B09693E73408105910508F460C0C0
+:10A7D000E091300A84E0E89FF0011124E05CF74F3B
+:10A7E0004081518162817381F8018491E6ECFAE045
+:10A7F000882349F09091C00095FFFCCF8093C6005C
+:10A8000031968491F5CF22E030E08CE99DE00E9402
+:10A81000308BF7018491E2ECFAE0882349F09091C3
+:10A82000C00095FFFCCF8093C60031968491F5CF90
+:10A830006091300A70E04AE050E08CE99DE00E94AF
+:10A840005A8AF6018491EEEBFAE0882349F0909160
+:10A85000C00095FFFCCF8093C60031968491F5CF60
+:10A8600040913A0850913B0860913C0870913D0836
+:10A8700021E030E08CE99DE00E94308B8091C000A7
+:10A8800085FFFCCF7092C6000E9431A94B015C018C
+:10A890000E94721E80E00E9438490E949C766CCF14
+:10A8A000882777FD8095982F0E9442AF20913A0823
+:10A8B00030913B0840913C0850913D080E94A0AE69
+:10A8C00087FF05C080911C02882309F475CF84EBB3
+:10A8D0009AE00E94007680915F0A882321F08EE73B
+:10A8E00093E00E9448720E9431A960935A087093C5
+:10A8F0005B0880935C0890935D080C94F46083E59A
+:10A900000E944340882319F10E942F4020E030E04C
+:10A91000A9010E94A0AE87FD0FC00E942F4020E039
+:10A9200030E04FE753E40E94A3B0181644F00E94B1
+:10A930002F400E940FAF05C060E070E002C06FEFD3
+:10A9400070E070932F0A60932E0A0C94F4608FEFDE
+:10A9500090E090932F0A80932E0A0C94F46010924A
+:10A960002F0A10922E0A0C94F4609B9AA39881E00F
+:10A970008093260284EA9AE00E9400760E949C76E8
+:10A980000C94F4600E9445210E943D93149A0E9409
+:10A99000A79310922F0A10922E0A68EE73E080E0BF
+:10A9A00090E00E9460A99B9AA39A1092260286E9E1
+:10A9B0009AE00E9400760E949C760C94F4601092BB
+:10A9C0005C0A0C94F46081E080935C0A0C94F4605F
+:10A9D00083E50E9443408823A1F00E942F4020E09D
+:10A9E00030E04AE754E40E9475B10E9414AF6093CE
+:10A9F0001D0270931E0280931F02909320020C94FC
+:10AA0000F46088E50E94434081110C948E6289E5D0
+:10AA10000E94434081110C948E628AE50E9443405B
+:10AA200081110C948E6285E40E94434081110C9444
+:10AA30008E620E943D93149A0E94A7930C94F46036
+:10AA400083E50E944340882311F40C94F4600E9433
+:10AA50002F4020E030E04AE754E40E9475B10E94A4
+:10AA600014AF6093560870935708809358089093DA
+:10AA700059080C94F46027EC34E039AF28AF01EAB0
+:10AA800013E161EB862E63E1962E75E6A72E73E146
+:10AA9000B72E312CE8ADF9AD8191F9AFE8AF0E9446
+:10AAA0004340882309F45BC0F3E03F1251C00E9489
+:10AAB0002F406B017C0120E030E040EA51E40E942D
+:10AAC000A0AE87FF3FC0A7019601F80160817181A8
+:10AAD000828193810E94A7AE2B013C019B01AC01B6
+:10AAE0006091791370917A1380917B1390917C130C
+:10AAF0000E9475B16093791370937A1380937B13DE
+:10AB000090937C13A3019201F40160817181828191
+:10AB100093810E9475B1F401608371838283938372
+:10AB2000F50160817181828193810E9440AFA30110
+:10AB300092010E9475B10E9414AFF5016083718388
+:10AB400082839383F801C082D182E282F38207C0BC
+:10AB50000E942F40F8016083718382839383339432
+:10AB60000C5F1F4FF4E08F0E911C24E0A20EB11C6D
+:10AB700034E033128FCF0C94F4609091C00095FFB5
+:10AB8000FCCF8093C600319684918111F6CF0C944E
+:10AB9000F46000915E0810915F080B5F1F4F6AE23E
+:10ABA00070E0C8010E9423B6009711F0FC011082EA
+:10ABB000C8010E9448720C94F460EBEBF9E08491B8
+:10ABC000882341F09091C00095FFFCCF8093C60090
+:10ABD0003196F5CF4091440A5091450A6091460A5A
+:10ABE0007091470A22E030E08CE99DE00E94308BB2
+:10ABF000E7EBF9E08491882341F09091C00095FF44
+:10AC0000FCCF8093C6003196F5CF4091480A509111
+:10AC1000490A60914A0A70914B0A22E030E08CE9BF
+:10AC20009DE00E94308BE3EBF9E08491882341F0B2
+:10AC30009091C00095FFFCCF8093C6003196F5CF70
+:10AC400040914C0A50914D0A60914E0A70914F0A02
+:10AC500022E030E08CE99DE00E94308BEFEAF9E0E1
+:10AC60008491882341F09091C00095FFFCCF8093A0
+:10AC7000C6003196F5CF4091500A5091510A60912B
+:10AC8000520A7091530A22E030E08CE99DE00E9464
+:10AC9000308BE4EAF9E08491882341F09091C00080
+:10ACA00095FFFCCF8093C6003196F5CF0E94999313
+:10ACB0000E9442AF2091A1133091A2134091A3139F
+:10ACC0005091A4130E94A7AEAB01BC0122E030E07A
+:10ACD0008CE99DE00E94308BE0EAF9E084918823C2
+:10ACE00041F09091C00095FFFCCF8093C600319653
+:10ACF000F5CF81E00E9499930E9442AF2091A51365
+:10AD00003091A6134091A7135091A8130E94A7AEAB
+:10AD1000AB01BC0122E030E08CE99DE00E94308B69
+:10AD2000ECE9F9E08491882341F09091C00095FF0F
+:10AD3000FCCF8093C6003196F5CF82E00E949993B4
+:10AD40000E9442AF2091A9133091AA134091AB13F6
+:10AD50005091AC130E94A7AEAB01BC0122E030E0E1
+:10AD60008CE99DE00E94308B8091C00085FFFCCF74
+:10AD70008AE08093C6000C94F46080E00E94F18B1E
+:10AD80000C94F46081E00E94F18B0C94F46090913B
+:10AD9000C00095FFFCCF8093C60081918111F7CF51
+:10ADA0008091C00085FFFCCF8AE08093C600E4E973
+:10ADB000F9E08491882341F09091C00095FFFCCF89
+:10ADC0008093C6003196F5CF1E9B03C0EBE0F4E004
+:10ADD00009C0E5E1F4E006C09091C00095FFFCCF0A
+:10ADE0008093C60081918111F7CF8091C00085FFCB
+:10ADF000FCCF8AE08093C600ECE8F9E084918823D8
+:10AE000041F09091C00095FFFCCF8093C600319631
+:10AE1000F5CF029903C0EBE0F4E009C0E5E1F4E00E
+:10AE200006C09091C00095FFFCCF8093C600819131
+:10AE30008111F7CF8091C00085FFFCCF8AE080931D
+:10AE4000C600E4E8F9E08491882341F09091C000C5
+:10AE500095FFFCCF8093C6003196F5CF1D9B03C0B4
+:10AE6000EBE0F4E009C0E5E1F4E006C09091C00039
+:10AE700095FFFCCF8093C60081918111F7CF80911F
+:10AE8000C00085FFFCCF8AE08093C600ECE7F9E0C4
+:10AE90008491882341F09091C00095FFFCCF80936E
+:10AEA000C6003196F5CF019903C0EBE0F4E009C08C
+:10AEB000E5E1F4E006C09091C00095FFFCCF8093DF
+:10AEC000C60081918111F7CF8091C00085FFFCCF32
+:10AED0008AE08093C600E4E7F9E08491882341F09A
+:10AEE0009091C00095FFFCCF8093C6003196F5CFBE
+:10AEF0001C9B03C0EBE0F4E009C0E5E1F4E006C010
+:10AF00009091C00095FFFCCF8093C6008191811184
+:10AF1000F7CF8091C00085FFFCCF8AE08093C60008
+:10AF2000ECE6F9E08491882341F09091C00095FF10
+:10AF3000FCCF8093C6003196F5CF379903C0EBE084
+:10AF4000F4E009C0E5E1F4E006C09091C00095FF8F
+:10AF5000FCCF8093C60081918111F7CF8091C00012
+:10AF600085FFFCCF8AE08093C6000C94F46080914A
+:10AF7000300A80934D0884E50E944340882319F1EC
+:10AF80000E942F400E9414AF60934D086623D9F0B1
+:10AF9000EFE2FEE08491882341F09091C00095FF9C
+:10AFA000FCCF8093C6003196F5CFE0E4F4E08191C8
+:10AFB000882311F40C94F4609091C00095FFFCCFAD
+:10AFC0008093C600F4CF84E40E944340882311F4A8
+:10AFD0000C94F4600E942F4020E030E0A9010E9410
+:10AFE000A0AE811103C01092540A32C000914D08E6
+:10AFF00010E00E942F40F801EE0FFF1FEE0FFF1F21
+:10B00000ED5AFD4F6083718382839383E0905302F6
+:10B01000F0905402009155021091560220E030E069
+:10B02000A901B701C8010E94A0AE811104C0E12CA2
+:10B03000F12C00E410E4C701D801809353029093EF
+:10B040005402A0935502B093560281E08093540AB3
+:10B050000E94A74A0C94F46007EC14E041E9E42E46
+:10B0600043E1F42EF80181918F010E94434088232F
+:10B0700049F00E942F400E9414AFF7016083718352
+:10B0800082839383F4E0EF0EF11C24E00B3C120763
+:10B0900049F70E9410A50C94F46007EC14E031EB22
+:10B0A000E32E33E1F32EF80181918F010E9443409A
+:10B0B000882339F00E942F40F701608371838283D7
+:10B0C0009383F4E0EF0EF11C24E00B3C120759F7D8
+:10B0D0000C94F46083E50E944340882351F00E9461
+:10B0E0002F406093891370938A1380938B139093EE
+:10B0F0008C1384E50E944340882311F40C94F4607F
+:10B100000E942F406093851370938613809387135A
+:10B11000909388130C94F46083E50E944340882345
+:10B1200051F00E942F4060938D1370938E13809383
+:10B130008F139093901384E50E944340882351F02D
+:10B140000E942F406093751370937613809377134A
+:10B150009093781382E40E944340882361F00E9418
+:10B160002F400E9414AF6093C1137093C213809359
+:10B17000C3139093C41388E50E944340882351F081
+:10B180000E942F40609381137093821380938313E6
+:10B19000909384138AE50E944340882351F00E94D3
+:10B1A0002F4060937D1370937E1380937F13909351
+:10B1B000801385E40E944340882311F40C94F460CA
+:10B1C0000E942F406093791370937A1380937B13BE
+:10B1D00090937C130C94F46007EC14E028E3E22EC7
+:10B1E0002AE0F22EF80181918F010E9443408823CA
+:10B1F00039F00E942F40F70160837183828393832B
+:10B20000F4E0EF0EF11C24E00A3C120709F4ECC74D
+:10B21000E9CF83E50E944340882351F00E942F40EC
+:10B220006093330270933402809335029093360218
+:10B2300086E40E944340882381F00E942F4020E052
+:10B2400030E040E752E40E94A7AE60932B02709377
+:10B250002C0280932D0290932E028AE50E94434097
+:10B26000882309F4C1C70E942F406093280A709375
+:10B27000290A80932A0A90932B0AB6C783E50E9475
+:10B280004340882351F00E942F406093240A70931A
+:10B29000250A8093260A9093270A86E40E94434059
+:10B2A000882309F4A1C70E942F4020E030E040E746
+:10B2B00052E40E94A7AE6093270270932802809305
+:10B2C000290290932A0290C783E50E944340882375
+:10B2D00009F48AC70E942F400E940FAF61157105C3
+:10B2E00049F06130710559F481E080932D0A109284
+:10B2F0002C0A7AC710922D0A10922C0A75C7EFE219
+:10B30000FEE08491882341F09091C00095FFFCCF2E
+:10B310008093C6003196F5CFE9E5F9E08491882362
+:10B3200041F09091C00095FFFCCF8093C60031960C
+:10B33000F5CF809168089091690820E6289FF00178
+:10B34000299FF00D1124E259F74F8191882339F09C
+:10B350009091C00095FFFCCF8093C600F6CFE7E543
+:10B36000F9E08491882341F09091C00095FFFCCFD3
+:10B370008093C6003196F5CF8091C00085FFFCCF49
+:10B380008AE08093C60030C783E50E94434088234B
+:10B3900009F42AC70E942F400E940FAF70935E02EB
+:10B3A00060935D0221C783E50E944340882309F42E
+:10B3B0001BC70E942F400E940FAF6B017C0184E5E8
+:10B3C0000E944340882381F08DED90E00E94EC497B
+:10B3D00081110AC7E0914D08F0E0EE0FFF1FE75A18
+:10B3E000FD4FD182C08200C7D0925C02C0925B0246
+:10B3F000FBC680E50E944340882309F4F5C60E94FD
+:10B400002F400E940FAFD62E062F172F83E50E94E4
+:10B410004340882331F00E942F400E940FAF7B01F0
+:10B4200003C0EE24EA94FE2CC7010196039708F0AE
+:10B43000DBC6EFE8F4E0819191918017910709F460
+:10B44000D3C634E0E73CF307B1F717FDCDC60E9441
+:10B450003D93CD2C60E08D2D0E9451A88FEFE81612
+:10B46000F80631F0EA94EF2871F000E010E00DC02A
+:10B470008D2D0E94BFA831E020E0892B09F030E03B
+:10B48000032F122F02C001E010E08C2D0E94BFA8F4
+:10B490008017910709F4A8C60E94721E80E00E94DE
+:10B4A00038490E949C76F1CF83E50E94434088236F
+:10B4B00031F00E942F400E940FAF8B0102C00EE6B8
+:10B4C00010E080E50E944340882331F00E942F4025
+:10B4D0000E940FAFCB0102C088EE93E06C01EE2416
+:10B4E000D7FCE094FE2C101611067CF420E030E02E
+:10B4F000A901B80184E50E94FDA9C701B6010E9417
+:10B5000060A984E50E940EAD6FC6C701B6010E9416
+:10B5100060A96AC680E50E944340882351F00E94DA
+:10B520002F40609318027093190280931A0290932F
+:10B530001B0289E40E944340882361F00E942F404F
+:10B540000E94B7276093140270931502809316022D
+:10B550009093170284E40E944340882361F00E9484
+:10B560002F400E94C32760931002709311028093B2
+:10B5700012029093130283E40E944340882351F007
+:10B580000E942F4060930C0270930D0280930E0274
+:10B5900090930F020E94251EE7E5F4E08191882335
+:10B5A00039F09091C00095FFFCCF8093C600F6CF94
+:10B5B000EAE5F4E08191882339F09091C00095FF8D
+:10B5C000FCCF8093C600F6CF40911802509119022B
+:10B5D00060911A0270911B0222E030E08CE99DE03C
+:10B5E0000E94308BEEE5F4E08191882339F0909150
+:10B5F000C00095FFFCCF8093C600F6CF6091140287
+:10B600007091150280911602909117020E94BD2739
+:10B61000AB01BC0122E030E08CE99DE00E94308B60
+:10B62000E2E6F4E08191882339F09091C00095FF23
+:10B63000FCCF8093C600F6CF60911002709111028A
+:10B6400080911202909113020E94C927AB01BC01A4
+:10B6500022E030E08CE99DE00E94308BE6E6F4E0E9
+:10B660008191882339F09091C00095FFFCCF8093A1
+:10B67000C600F6CF40910C0250910D0260910E026F
+:10B6800070910F0222E030E08CE99DE00E94308B47
+:10B690008091C00085FFFCCF8AE08093C600A4C5DE
+:10B6A00083E50E944340882319F00E942F4003C085
+:10B6B00060E070E0CB010E9407A596C585E40E947A
+:10B6C0004340882341F00E942F400E940FAF8B011E
+:10B6D00077FF03C009C000E010E0C12CD12CB6E117
+:10B6E000EB2EB3E4FB2E06C0C12CD12CACE8EA2E25
+:10B6F000A2E4FA2E83E50E944340882321F00E94B1
+:10B700002F406B017C0183E40E944340882331F089
+:10B710000E942F400E940FAF9B0102C025E030E045
+:10B72000A801C701B6010E9458215EC50E943D9341
+:10B730005BC50E94678758C50E94398355C58AE555
+:10B740000E944340882309F497C00E942F406B0158
+:10B750007C0120E030E040E751EC0E94A3B087FD7F
+:10B760003FC020E030E040EA50ECC701B6010E9443
+:10B77000A0AE1816ACF1F7FAF094F7F8F094C09276
+:10B78000310AD092320AE092330AF092340AEFE2A0
+:10B79000FEE08491882341F09091C00095FFFCCF9A
+:10B7A0008093C6003196F5CFEBE4F9E084918823CD
+:10B7B00041F09091C00095FFFCCF8093C600319678
+:10B7C000F5CF8091C00085FFFCCF8AE08093C60052
+:10B7D0008091C00085FFFCCF8AE08093C60004C53D
+:10B7E000EFE2FEE08491882341F09091C00095FF44
+:10B7F000FCCF8093C6003196F5CFE2E4F9E0849166
+:10B80000882341F09091C00095FFFCCF8093C60043
+:10B810003196F5CFEAE3F9E08491882341F09091E5
+:10B82000C00095FFFCCF8093C6003196F5CF4AE06B
+:10B8300050E061EF7FEF8CE99DE00E945A8AE2E3DD
+:10B84000F9E08491882341F09091C00095FFFCCFEE
+:10B850008093C6003196F5CF4AE050E06BEF7FEF62
+:10B860008CE99DE00E945A8A8091C00085FFFCCF40
+:10B870008AE08093C600B8C4EFE2FEE0849188239A
+:10B8800041F09091C00095FFFCCF8093C6003196A7
+:10B89000F5CFE6E2F9E08491882341F09091C00071
+:10B8A00095FFFCCF8093C6003196F5CF8091C00004
+:10B8B00085FFFCCF8AE08093C6004091310A509109
+:10B8C000320A6091330A7091340A705822E030E0F5
+:10B8D0008CE99DE00E94308B8091C00085FFFCCFF9
+:10B8E0008AE08093C60080C480915D0290915E02E0
+:10B8F0009093580280935702C090440AD090450A12
+:10B90000E090460AF090470ACF8ED8A2E9A2FAA2A8
+:10B910000091480A1091490A20914A0A30914B0A35
+:10B920000BA31CA32DA33EA340914C0A50914D0A9A
+:10B9300060914E0A70914F0A4FA358A769A77AA742
+:10B940008091500A9091510AA091520AB091530AE5
+:10B950008BA79CA7ADA7BEA7C982DA82EB82FC8227
+:10B960000D831E832F83388749875A876B877C878F
+:10B970008D879E87AF87B88B85E40E9443408823DC
+:10B9800059F00E942F409B01AC016BA57CA58DA5B1
+:10B990009EA50E94C7AD0AC020E030E040E050E420
+:10B9A0006BA57CA58DA59EA50E94C6AD6BA77CA7A7
+:10B9B0008DA79EA7E0E3CE2EEAE0DE2EE12CF12C4F
+:10B9C00008EC13E49E01255D3F4FAE01495D5F4FDA
+:10B9D000BE016D5D7F4FCE014F960E94779A8AE53A
+:10B9E0000E944340882349F00E942F409B01AC01F4
+:10B9F0006FA178A589A59AA51EC020E030E040E09F
+:10BA000050E46FA178A589A59AA50E94C7AD6B01E6
+:10BA10007C016FA378A789A79AA720E030E040E2D5
+:10BA200051E40E94A0AE87FF0CC020E030E040E26D
+:10BA300051E4C701B6010E94C7AD6FA378A789A7DB
+:10BA40009AA760E3C62E6AE0D62EE12CF12C06E917
+:10BA500013E49E01255D3F4FAE01495D5F4FBE017E
+:10BA60006D5D7F4FCE014F960E94779A88E50E94C8
+:10BA70004340882379F00E942F409B01AC016F8DD9
+:10BA800078A189A19AA10E94C7AD6F8F78A389A3DD
+:10BA90009AA308C080E090E0A3E5B3E48F8F98A359
+:10BAA000A9A3BAA389E50E944340882339F00E94E4
+:10BAB0002F406BA37CA38DA39EA304C01BA21CA23A
+:10BAC0001DA21EA240E3C42E4AE0D42EE12CF12C8C
+:10BAD0000CE812E49E01255D3F4FAE01495D5F4FCA
+:10BAE000BE016D5D7F4FCE014F960E94779A8CE428
+:10BAF0000E944340882359F00E942F409B01AC01D3
+:10BB00006BA57CA58DA59EA50E94C7AD0AC020E0AF
+:10BB100030E040EA52E46BA57CA58DA59EA50E946D
+:10BB2000C6AD6BA77CA78DA79EA720E3C22E2AE0F7
+:10BB3000D22EE12CF12C00EA11E49E01255D3F4F4D
+:10BB4000AE01495D5F4FBE016D5D7F4FCE014F96E7
+:10BB50000E94779A0E943D93149A64E670E080E018
+:10BB600090E00E9460A90E94827100E010E0F12C38
+:10BB70000E94627781112AC0F3940E94721E81E0B4
+:10BB80000E943849F110F4CF043FE1E01E0711F4A0
+:10BB900000E010E0809101018460809301010115B3
+:10BBA000110531F49FB7F89480910201846008C0B8
+:10BBB0000431110541F49FB7F894809102018B7F05
+:10BBC000809302019FBF0F5F1F4FD2CF9FB7F894A2
+:10BBD000809102018B7F809302019FBF20E030E0C3
+:10BBE0004CE852E46BA57CA58DA59EA50E94C7AD2F
+:10BBF0006BA77CA78DA79EA710E3C12E1AE0D12EBC
+:10BC0000E12CF12C00EA11E49E01255D3F4FAE01CD
+:10BC1000495D5F4FBE016D5D7F4FCE014F960E9423
+:10BC2000779A20E030E048E452E46BA57CA58DA52E
+:10BC30009EA50E94C7AD6BA77CA78DA79EA7E12CF0
+:10BC4000F12C00E010E49E01255D3F4FAE01495DFF
+:10BC50005F4FBE016D5D7F4FCE014F960E94779A78
+:10BC60001092560A1092550A0E94E8718091550A66
+:10BC70009091560A019709F47CC01092560A1092CE
+:10BC8000550A0E9468778091550A9091560A823031
+:10BC9000910549F1039709F069C020E030E048E4DC
+:10BCA00052E46BA57CA58DA59EA50E94C7AD6BA790
+:10BCB0007CA78DA79EA770E3C72E7AE0D72EE12C34
+:10BCC000F12C00E010E49E01255D3F4FAE01495D7F
+:10BCD0005F4FBE016D5D7F4FCE014F960E94779AF8
+:10BCE0000E94A871C3CF20E030E04CE852E46BA57D
+:10BCF0007CA58DA59EA50E94C7AD6BA77CA78DA72F
+:10BD00009EA7F0E3CF2EFAE0DF2EE12CF12C00EA23
+:10BD100011E49E01255D3F4FAE01495D5F4FBE01BD
+:10BD20006D5D7F4FCE014F960E94779A20E030E004
+:10BD300048E452E46BA57CA58DA59EA50E94C7ADE5
+:10BD40006BA77CA78DA79EA7E12CF12C00E010E447
+:10BD50009E01255D3F4FAE01495D5F4FBE016D5DA8
+:10BD60007F4FCE014F960E94779A7ECF0E949B71A3
+:10BD70007DCF20E030E040EA50E46BA57CA58DA5A6
+:10BD80009EA50E94C7AD6BA77CA78DA79EA790E339
+:10BD9000C92E9AE0D92EE12CF12C00E010E49E018E
+:10BDA000255D3F4FAE01495D5F4FBE016D5D7F4F29
+:10BDB000CE014F960E94779AA80197016BA57CA5AA
+:10BDC0008DA59EA50E94C6AD6BA77CA78DA79EA73B
+:10BDD000E12CF12C08EC13E49E01255D3F4FAE01F0
+:10BDE000495D5F4FBE016D5D7F4FCE014F960E9452
+:10BDF000779AE12CF12C0CE812E49E01255D3F4F6F
+:10BE0000AE01495D5F4FBE016D5D7F4FCE014F9624
+:10BE10000E94779A9E01255D3F4FAE01495D5F4FBD
+:10BE2000BE016B5F7F4FCE0101960E94779AE12C95
+:10BE3000F12C08E413E49E01255D3F4FAE01475FFE
+:10BE40005F4FBE016B5F7F4FCE0101960E94779AD4
+:10BE500020E030E040E050E46BA57CA58DA59EA5D8
+:10BE60000E94C7AD6BA77CA78DA79EA7E12CF12CE4
+:10BE700000EA10E49E01255D3F4FAE01475F5F4F32
+:10BE8000BE016B5F7F4FCE0101960E94779ACE0173
+:10BE90000D960E94E3A480915702909158028093DE
+:10BEA0005D0290935E029F938F938DE199E09F9343
+:10BEB0008F938E01015D1F4F1F930F930E945BB6FE
+:10BEC000C8010E94C03D0F900F900F900F900F90EF
+:10BED0000F908AC188E50E944340882339F00E9470
+:10BEE0002F400E940FAF80E00E9445948AE50E9497
+:10BEF0004340882339F00E942F400E940FAF81E019
+:10BF00000E94459485E40E944340882309F46CC153
+:10BF10000E942F400E940FAF82E00E94459464C1AE
+:10BF200083E50E944340811104C007EC14E0F12C2A
+:10BF300010C010E00E942F400E9414AF812F0E9479
+:10BF4000E4941F5F1530B1F7F0CFF394F4E0FF16DF
+:10BF500079F0F80181918F010E9443408823A9F371
+:10BF60000E942F400E9414AF8F2D0E94E494EDCFC9
+:10BF700082E40E944340882339F00E942F400E94AF
+:10BF800014AF84E00E94E4940E94AA952DC183E539
+:10BF90000E944340882309F453C00E942F400E940E
+:10BFA0000FAF6130710541F06230710509F048C092
+:10BFB00007EC14E0F12C25C007EC14E0F12CF8019B
+:10BFC00081918F010E944340882341F00E942F40BD
+:10BFD0000E940FAF4FEF8F2D0E94A694F394F4E0D0
+:10BFE000FF12EDCF82E40E944340882349F10E9472
+:10BFF0002F400E940FAF4FEF20C0F394F4E0FF16E4
+:10C0000089F0F80181918F010E9443408823A9F3B0
+:10C010000E942F400E940FAF462F6FEF8F2D0E947E
+:10C02000A694EBCF82E40E944340882349F00E940B
+:10C030002F400E940FAF462F6FEF84E00E94A6941E
+:10C040000E94AA95D1C084E50E944340882309F448
+:10C0500087C00E942F400E9414AF60934D08662352
+:10C06000A9F1EFE2FEE08491882341F09091C000B5
+:10C0700095FFFCCF8093C6003196F5CFEAE6F4E059
+:10C080008191882339F09091C00095FFFCCF809377
+:10C09000C600F6CF40E050E060914D088CE99DE08D
+:10C0A0000E94918AECE6F4E08191882339F0909126
+:10C0B000C00095FFFCCF8093C600F6CF8091C000F2
+:10C0C00085FFFCCF8AE08093C6008EC086E40E9484
+:10C0D00043408823D9F00E942F406B017C0160937C
+:10C0E000FF097093000A8093010A9093020A20E0EE
+:10C0F00030E0A9010E94A3B0181644F4C0922102B6
+:10C10000D0922202E0922302F0922402EFE2FEE0BB
+:10C110008491882341F09091C00095FFFCCF8093DB
+:10C12000C6003196F5CFEDE7F4E08191882339F030
+:10C130009091C00095FFFCCF8093C600F6CF609130
+:10C14000300A70E04AE050E08CE99DE00E945A8A93
+:10C150008091C00085FFFCCF8AE08093C60044C078
+:10C16000EFE2FEE08491882341F09091C00095FFBA
+:10C17000FCCF8093C6003196F5CFEAE0F9E08491D8
+:10C18000882341F09091C00095FFFCCF8093C600BA
+:10C190003196F5CF809168089091690820E6289F34
+:10C1A000F001299FF00D1124E259F74F8191882366
+:10C1B00039F09091C00095FFFCCF8093C600F6CF78
+:10C1C000E8E0F9E08491882341F09091C00095FF68
+:10C1D000FCCF8093C6003196F5CF8091C00085FFDB
+:10C1E000FCCF8AE08093C6000E946A40B9C1C0902B
+:10C1F0001B0AD0901C0AE0901D0AF0901E0A2091A4
+:10C20000500A3091510A4091520A5091530AC70185
+:10C21000B6010E94C6AD2DEC3CEC4CEC5DE30E94F7
+:10C22000A3B0181614F00C94684BC092500AD09228
+:10C23000510AE092520AF092530A80E59AE00E9475
+:10C24000E3A460E080E00E94C2428AC180E090E006
+:10C250000E942E3C0C94654C81E090E00E942E3CA4
+:10C260000C94704C82E090E00E942E3C0C94B94CEF
+:10C270000E94721E80E00E9438490E949C760C94B5
+:10C28000584F0E943840AB01BC014093FA0C5093C8
+:10C29000FB0C6093FC0C7093FD0C85E49CE00E9409
+:10C2A000A912A2CF0E942F400E940FAF8B010C94C5
+:10C2B0007C510E9431A9681979098A099B09693E54
+:10C2C00073408105910508F479C0ECEEFAE08491A1
+:10C2D000882341F09091C00095FFFCCF8093C60069
+:10C2E0003196F5CFE0914D0824E0E29FF001112452
+:10C2F000E05CF74F408151816281738121E030E041
+:10C300008CE99DE00E94308BE8EEFAE0849188236E
+:10C3100041F09091C00095FFFCCF8093C60031960C
+:10C32000F5CF60914D0870E04AE050E08CE99DE067
+:10C330000E945A8AE4EEFAE08491882341F09091B9
+:10C34000C00095FFFCCF8093C6003196F5CFF7FE75
+:10C3500003C0E6E7F5E025C00E9431A98B019C01EE
+:10C36000C701B6016854744F8F4F9F4F601B710B0C
+:10C37000820B930BA30192010E947EB2BA01A90124
+:10C380002AE030E08CE99DE00E94868A8091C0001E
+:10C3900085FFFCCF0DC09091C00095FFFCCF80932E
+:10C3A000C60081918111F7CF8091C00085FFFCCF3D
+:10C3B0003092C6000E9431A94B015C010E94721E9E
+:10C3C00080E00E9438490E949C76FFEFCF16DF067E
+:10C3D000EF06FF0609F046C080914B08E0914D083A
+:10C3E000F0E08F01000F111F000F111F005C174FAD
+:10C3F000EE0FFF1FE85BF74F608171818823C9F062
+:10C40000882777FD8095982F0E9442AF20E030E08A
+:10C4100040E85FE30E94C6AD9B01AC01F80160817A
+:10C420007181828193810E94A3B087FF50C00C94D8
+:10C430005053882777FD8095982F0E9442AF20E0C7
+:10C4400030E040E85FE30E94C7AD9B01AC01F8011A
+:10C4500060817181828193810E94A0AE1816BCF523
+:10C460000C945053F7FE02C00C945053E0914D08C9
+:10C47000F0E08F01000F111F000F111F005C174F1C
+:10C48000EE0FFF1FE85BF74F60817181882777FD12
+:10C490008095982F0E9442AF9B01AC01F80160810A
+:10C4A0007181828193810E94C6AD0E940FAF97FF78
+:10C4B00007C090958095709561957F4F8F4F9F4FE6
+:10C4C000663071058105910514F40C9450530E9457
+:10C4D00031A96B017C010C94505386ED9AE00E94C7
+:10C4E000007680915F0A882321F08EE793E00E9416
+:10C4F00048720E9431A96093520870935308809348
+:10C500005408909355080E9431A960935A0870937B
+:10C510005B0880935C0890935D0866CE0E943D9313
+:10C5200088E50E944340882319F0179A1092350A33
+:10C5300089E50E944340882319F0169A1092360A22
+:10C540008AE50E944340882319F0159A1092370A11
+:10C5500085E40E944340882309F446CE149A44CED1
+:10C56000E9960FB6F894DEBF0FBECDBFDF91CF9135
+:10C570001F910F91FF90EF90DF90CF90BF90AF9001
+:10C580009F908F907F906F905F904F903F90089515
+:10C59000CF93DF938091640890916508039714F41A
+:10C5A0000E94694560E08DE59AE00E9487338091A2
+:10C5B000640890916508892B09F464C080915D0A34
+:10C5C0008823E1F0809168089091690820E6289F0F
+:10C5D000E001299FD00D1124C259D74F61EF7CE0B3
+:10C5E000CE010E94CEB5892BF1F4BE018DE59AE013
+:10C5F0000E94163380915E0A882319F00E94B94A7E
+:10C600002BC0EEEEFCE08491882341F09091C000B5
+:10C6100095FFFCCF8093C6003196F5CF8091C00086
+:10C6200085FFFCCF16C060E08DE59AE00E947D3466
+:10C63000ECEDFCE08491882341F09091C00095FFDF
+:10C64000FCCF8093C6003196F5CF8091C00085FF66
+:10C65000FCCF8AE08093C6008091640890916508C1
+:10C660000197909365088093640880916808909181
+:10C670006908019664E070E00E946BB290936908CB
+:10C68000809368080E94721E80E00E9438490E94D0
+:10C690004F8BDF91CF910C949C768F929F92AF92AB
+:10C6A000BF92CF92DF92EF92FF920F931F93CF939F
+:10C6B000DF938C018C519E4F0E94B72D680189E851
+:10C6C000C80ED11C21F1780181E4E81A8EEFF80A36
+:10C6D000E70157018FE1A81AB1087AEB872E75E0C0
+:10C6E000972ECC15DD0599F0FE01EE19FF09EA0D34
+:10C6F000FB1D91828082FE0178978081811102C0AA
+:10C700006F97EFCFCE014B970E948C13F9CFC801E2
+:10C7100086599F4F0E94B72DC801875B9F4FDF91BD
+:10C72000CF911F910F91FF90EF90DF90CF90BF902E
+:10C73000AF909F908F900C94B72D8DE59AE00C945C
+:10C74000C32D8DE59AE0A9CFFB0160917002709135
+:10C75000710270932C0D60932B0D6091350D7091CB
+:10C76000360D70932A0D6093290D62E060936F027D
+:10C7700064EC7EE770937102609370029093280DD1
+:10C780008093270DF093260DE093250D662757FD26
+:10C790006095762F4093210D5093220D6093230DC9
+:10C7A0007093240DC901AA2797FDA095BA2F841B69
+:10C7B000950BA60BB70B80931D0D90931E0DA093A8
+:10C7C0001F0DB093200D80819181AA2797FDA09520
+:10C7D000BA2F841B950BA60BB70B8093350D909346
+:10C7E000360DA093370DB093380D08950F931F9316
+:10C7F000CF93DF93EB01142F022F482F60E080E4EA
+:10C800009DE00E947E28612F80E49DE00E94BFADE4
+:10C8100011E1FE016491662311F0111117C011237B
+:10C8200039F060E280E49DE00E94BFAD1150F7CF87
+:10C83000602F80E49DE00E94BFAD60E280E49DE057
+:10C84000DF91CF911F910F910C94BFAD80E49DE0DB
+:10C850000E94BFAD21961150DCCFEF92FF920F9353
+:10C860001F93CF93DF93EB01E42E8901F90101902F
+:10C870000020E9F7F22EFE1A92E1F90E482F60E04F
+:10C8800080E49DE00E947E286E2D80E49DE00E9461
+:10C89000BFADFE016491662311F0F11019C06AE387
+:10C8A00080E49DE00E94BFADFF2039F060E280E4AB
+:10C8B0009DE00E94BFADFA94F7CFB80180E49DE0FF
+:10C8C000DF91CF911F910F91FF90EF900C94BEAD2F
+:10C8D00080E49DE00E94BFAD2196FA94DACF1092D9
+:10C8E000990D8DE59AE00E94273910923E0D08952A
+:10C8F0008DE59AE00C9416318DE59AE00C941D318B
+:10C90000CF93DF93CDB7DEB7C054D1090FB6F894FB
+:10C91000DEBF0FBECDBF88E0EFEAF2E0DE01D996C0
+:10C9200001900D928A95E1F788E0E7EBF2E0DE01F5
+:10C93000D19601900D928A95E1F788E0EFEBF2E055
+:10C94000DE01999601900D928A95E1F788E0E7EC77
+:10C95000F2E0DE01919601900D928A95E1F788E070
+:10C96000EFECF2E0DE01599601900D928A95E1F725
+:10C9700088E0E7EDF2E0DE01519601900D928A9594
+:10C98000E1F788E0EFEDF2E0DE01199601900D92FB
+:10C990008A95E1F788E0E7EEF2E0DE01119601907A
+:10C9A0000D928A95E1F7AE01475C5F4F60E080E44D
+:10C9B0009DE00E94FC29AE014F5C5F4F61E080E486
+:10C9C0009DE00E94FC29AE01475D5F4F62E080E47C
+:10C9D0009DE00E94FC29AE014F5D5F4F63E080E463
+:10C9E0009DE00E94FC29AE01475E5F4F64E080E459
+:10C9F0009DE00E94FC29AE014F5E5F4F65E080E440
+:10CA00009DE00E94FC29AE01475F5F4F66E080E435
+:10CA10009DE00E94FC29AE014F5F5F4F67E080E41C
+:10CA20009DE00E94FC29C05CDF4F0FB6F894DEBF8A
+:10CA30000FBECDBFDF91CF910895CF9382E0809359
+:10CA40006F020E9431A96C507E4F8F4F9F4F6093B1
+:10CA50003A0D70933B0D80933C0D90933D0D80916A
+:10CA60000101846080930101CAE09FB7F89480912E
+:10CA700002018460809302019FBF84E690E00E94DF
+:10CA800084A99FB7F894809102018B7F8093020163
+:10CA90009FBF84E690E00E9484A9C15031F7CF91F6
+:10CAA0000895E0917002F0917102E817F90771F0B2
+:10CAB00090937102809370024093350D5093360D20
+:10CAC0006093370D7093380D2111B7CF089521E091
+:10CAD00040E050E0BA01E5CF21E040E050E0BA018B
+:10CAE000E0CF8F929F92AF92BF92CF92DF92EF9260
+:10CAF000FF920F931F93CF93DF938091350D909109
+:10CB0000360DA091370DB091380D81309048A105B8
+:10CB1000B10540F01092350D1092360D1092370D80
+:10CB20001092380D6091350D7091360D8091370D52
+:10CB30009091380D25E030E040E050E00E947EB258
+:10CB400080913E0D90E0A0E0B0E0281739074A0739
+:10CB50005B0710F420933E0DD0913E0D10913F0DD8
+:10CB600012FB112710F9C0E085E0C82ED12CE12C72
+:10CB7000F12C9DE1892E912CA12CB12C01E060912A
+:10CB8000350D7091360D8091370D9091380DD11182
+:10CB900031C020916F02222369F023E065307105D6
+:10CBA0008105910510F443E001C040E266E870E1C0
+:10CBB0008C2F1CDE112309F400C18091350D90915A
+:10CBC000360DA091370DB091380D0597A105B1052F
+:10CBD00008F0F3C032DF8CE692E7DF91CF911F912E
+:10CBE0000F91FF90EF90DF90CF90BF90AF909F900C
+:10CBF0008F906DCFD13061F520916F02222391F09B
+:10CC0000A70196010E947EB22130310541055105F0
+:10CC100019F423E043E002C023E040E265E770E15D
+:10CC20008C2FE4DD112309F4C8C06091350D70919B
+:10CC3000360D8091370D9091380DA70196010E9415
+:10CC40007EB2213031054105510509F0B6C0C2CF91
+:10CC5000D23061F520916F02222391F0A701960155
+:10CC60000E947EB2223031054105510519F423E0BE
+:10CC700043E002C023E040E269E670E18C2FB6DDBC
+:10CC8000112309F49AC06091350D7091360D809191
+:10CC9000370D9091380DA70196010E947EB2223087
+:10CCA00031054105510509F088C094CFD33061F5B5
+:10CCB00020916F02222391F0A70196010E947EB27B
+:10CCC000233031054105510519F423E043E002C04A
+:10CCD00023E040E267E570E18C2F88DD112309F441
+:10CCE0006CC06091350D7091360D8091370D90912B
+:10CCF000380DA70196010E947EB22330310541050F
+:10CD0000510509F05AC066CFD43059F520916F0211
+:10CD1000222391F0A70196010E947EB224303105B2
+:10CD20004105510519F423E043E002C023E040E24D
+:10CD300065E470E18C2F5ADD112309F43EC0609147
+:10CD4000350D7091360D8091370D9091380DA701FA
+:10CD500096010E947EB2243031054105510569F5E6
+:10CD600039CFD53051F520916F02222391F0A701E0
+:10CD700096010E947EB2253031054105510519F416
+:10CD800023E043E002C023E040E269E370E18C2F3E
+:10CD90002DDD112391F06091350D7091360D80914C
+:10CDA000370D9091380DA70196010E947EB2253073
+:10CDB00031054105510509F40DCF8091350D909154
+:10CDC000360DA091370DB091380D4E97A105B105E4
+:10CDD00040F08092350D9092360DA092370DB092B2
+:10CDE000380D6091350D7091360D8091370D909111
+:10CDF000380DA70196010E947EB280913E0D90E011
+:10CE00000396422F50E0841795074CF48DEF820F64
+:10CE100080933E0D00936F02DCEFD20FCFEFCF5F18
+:10CE2000DF5FC43008F4ABCEDF91CF911F910F913B
+:10CE3000FF90EF90DF90CF90BF90AF909F908F903A
+:10CE400008958F929F92AF92BF92CF92DF92EF920E
+:10CE5000FF920F931F93CF93DF938091350D9091A5
+:10CE6000360DA091370DB091380D81309048A10555
+:10CE7000B10540F01092350D1092360D1092370D1D
+:10CE80001092380D6091350D7091360D8091370DEF
+:10CE90009091380D25E030E040E050E00E947EB2F5
+:10CEA00080913E0D90E0A0E0B0E0281739074A07D6
+:10CEB0005B0710F420933E0DD0913E0D10913F0D75
+:10CEC00012FB112710F9C0E025E0C22ED12CE12C75
+:10CED000F12C3DE1832E912CA12CB12C01E060912D
+:10CEE000350D7091360D8091370D9091380DD1111F
+:10CEF00031C020916F02222369F023E06530710573
+:10CF00008105910510F443E001C040E264E370E163
+:10CF10008C2F6CDC112309F429C18091350D90917F
+:10CF2000360DA091370DB091380D0597A105B105CB
+:10CF300008F01CC182DD8CE692E7DF91CF911F9152
+:10CF40000F91FF90EF90DF90CF90BF90AF909F90A8
+:10CF50008F90BDCDD13079F520916F02222391F0D1
+:10CF6000A70196010E947EB221303105410551058D
+:10CF700019F42EE74EE302C02EE740E268E270E1CA
+:10CF80008C2F34DC112309F4F1C06091350D7091C0
+:10CF9000360D8091370D9091380DA70196010E94B2
+:10CFA0007EB2213031054105510509F0DFC045DD74
+:10CFB0008BEA99E730C0D230D9F520916F02222355
+:10CFC00091F0A70196010E947EB222303105410501
+:10CFD000510519F42EE74EE302C02EE740E26EE160
+:10CFE00070E18C2F03DC112309F4C0C06091350D72
+:10CFF0007091360D8091370D9091380DA7019601F3
+:10D000000E947EB2223031054105510509F0AEC0C3
+:10D0100014DD8FEA9AE6DF91CF911F910F91FF9077
+:10D02000EF90DF90CF90BF90AF909F908F9054CDB6
+:10D03000D33079F520916F02222391F0A701960158
+:10D040000E947EB2233031054105510519F420E2DA
+:10D050004EE302C020E240E262E170E18C2FC6DBC9
+:10D06000112309F483C06091350D7091360D8091C4
+:10D07000370D9091380DA70196010E947EB22330A2
+:10D0800031054105510509F071C0D7DC8CE090E114
+:10D090005FC0D43079F520916F02222391F0A7016F
+:10D0A00096010E947EB2243031054105510519F4E4
+:10D0B00020E24EE302C020E240E26BEF7FE08C2FE3
+:10D0C00095DB112309F452C06091350D7091360D36
+:10D0D0008091370D9091380DA70196010E947EB284
+:10D0E000243031054105510509F040C0A6DC87EF29
+:10D0F0009FE02EC0D530D1F520916F02222391F010
+:10D10000A70196010E947EB22530310541055105E7
+:10D1100019F420E24EE302C020E240E26DEE7FE02F
+:10D120008C2F64DB112311F16091350D7091360D58
+:10D130008091370D9091380DA70196010E947EB223
+:10D14000253031054105510589F477DC89EE9FE0F2
+:10D15000DF91CF911F910F91FF90EF90DF90CF90D3
+:10D16000BF90AF909F908F900C94333E8091350D7F
+:10D170009091360DA091370DB091380D4E97A105C5
+:10D18000B10540F08092350D9092360DA092370D8A
+:10D19000B092380D6091350D7091360D8091370D3C
+:10D1A0009091380DA70196010E947EB280913E0DAC
+:10D1B00090E00396422F50E0841795074CF48DEFD2
+:10D1C000820F80933E0D00936F02DCEFD20FCFEF02
+:10D1D000CF5FDF5FC43008F482CEDF91CF911F9123
+:10D1E0000F91FF90EF90DF90CF90BF90AF909F9006
+:10D1F0008F900895BF92CF92DF92EF92FF920F939C
+:10D200001F93CF93DF938091350D9091360DA091B0
+:10D21000370DB091380D81309048A105B10540F02F
+:10D220001092350D1092360D1092370D1092380D68
+:10D230006091350D7091360D8091370D9091380DBC
+:10D2400025E030E040E050E00E947EB280913E0D4B
+:10D2500090E0A0E0B0E0281739074A075B0710F418
+:10D2600020933E0DD0913E0D10913F0D12FB1127E2
+:10D2700010F9C0E065E0C62ED12CE12CF12C01E0C4
+:10D280006091350D7091360D8091370D9091380D6C
+:10D29000D1112EC020916F02222369F023E0653066
+:10D2A00071058105910510F443E001C040E260EE94
+:10D2B0007FE08C2F9BDA112309F479C08091350D22
+:10D2C0009091360DA091370DB091380D0597A105BD
+:10D2D000B10508F06CC0B1DB81E297E6DF91CF9138
+:10D2E0001F910F91FF90EF90DF90CF90BF90EFCB09
+:10D2F000D13071F520916F02222391F0A7019601A0
+:10D300000E947EB2213031054105510519F42EE706
+:10D310004EE302C02EE740E269ED7FE08C2F66DA33
+:10D32000112309F444C06091350D7091360D809140
+:10D33000370D9091380DA70196010E947EB22130E1
+:10D3400031054105510599F578DB8FE090E8A8C0DB
+:10D35000D23069F520916F02222391F0A701960146
+:10D360000E947EB2223031054105510519F42EE7A5
+:10D370004EE302C02EE740E262ED7FE08C2F36DA0A
+:10D380001123A9F06091350D7091360D8091370D04
+:10D390009091380DA70196010E947EB2223031058E
+:10D3A0004105510521F449DB86E190E879C020E090
+:10D3B00030E040E251E46091110D7091120D8091C6
+:10D3C000130D9091140D0E94A0AE87FF73C0609161
+:10D3D000350D7091360D8091370D9091380DD33009
+:10D3E00081F520916F02222391F0A70196010E94FE
+:10D3F0007EB2233031054105510519F42EE74EE385
+:10D4000002C02EE740E26BEC7FE08C2FEFD91111C8
+:10D4100003C055E0B52E50C06091350D7091360DAA
+:10D420008091370D9091380DA70196010E947EB230
+:10D43000233031054105510561F7FFDA8DE190E8B0
+:10D440002FC0D43031F720916F02222391F0A70131
+:10D4500096010E947EB2243031054105510519F430
+:10D460002EE74EE302C02EE740E262EC7FE08C2F15
+:10D47000BDD9112371F26091350D7091360D8091F7
+:10D48000370D9091380DA70196010E947EB224308D
+:10D4900031054105510509F0BCCFCFDA8BE49EE799
+:10D4A000DF91CF911F910F91FF90EF90DF90CF9080
+:10D4B000BF9012CB43E0B42E6091350D7091360DC4
+:10D4C0008091370D9091380DA70196010E947EB290
+:10D4D0008B2D90E0A0E0B0E0281739074A075B07E2
+:10D4E00088F025E0B29EC00111240197AA2797FD7C
+:10D4F000A095BA2F8093350D9093360DA093370DDC
+:10D50000B093380D6091350D7091360D8091370DC7
+:10D510009091380DA70196010E947EB280913E0D38
+:10D5200090E00396422F50E0841795074CF48DEF5E
+:10D53000820F80933E0D00936F02DCEFD20FCFEF8E
+:10D54000CF5FDF5FC43008F49BCEDF91CF911F9196
+:10D550000F91FF90EF90DF90CF90BF90089580E003
+:10D5600090E0A0E8BFE38093110D9093120DA0937B
+:10D57000130DB093140D3ECE20E044E064E180E44E
+:10D580009DE00E94B128BCD980E49DE00C947228F3
+:10D59000F3DF20E040E050E0BA0184E290E881CA85
+:10D5A00010924908109248081092470810924608B5
+:10D5B00010922F0A10922E0AEBCF80E49DE00C947B
+:10D5C000722820E030E04EE353E46091400870910F
+:10D5D000410880914208909143080E94A3B0181618
+:10D5E0004CF480E89EE00E94333E83E79EE00E9478
+:10D5F000333E20C0E2DF40E060E080E49DE00E9436
+:10D600007E286BEC74E080E49DE00E94BEAD42E0B9
+:10D6100060E080E49DE00E947E2862ED74E080E49A
+:10D620009DE00E94BEAD60ED77E080E090E00E945A
+:10D6300060A9C3DFADCF20E030E04EE353E460915A
+:10D6400040087091410880914208909143080E94DF
+:10D65000A3B018166CF48FE69EE00E94333E83E67A
+:10D660009EE00E94333E87E59EE00E94333E20C04C
+:10D67000A4DF40E060E080E49DE00E947E286BEC47
+:10D6800074E080E49DE00E94BEAD42E060E080E492
+:10D690009DE00E947E2862ED74E080E49DE00E949F
+:10D6A000BEAD60ED77E080E090E00E9460A985DF8C
+:10D6B0006FCF8091970D9091980D9093490880932A
+:10D6C00048088091950D9091960D9093470880930E
+:10D6D000460810922F0A10922E0A5ADF0C94442109
+:10D6E0008091910D9091920D9093490880934808F4
+:10D6F00080918F0D9091900D9093470880934608EC
+:10D7000010922F0A10922E0A43DF0C94442180912C
+:10D7100095029091960290934908809348088091D1
+:10D720009302909194029093470880934608109238
+:10D730002F0A10922E0A2CDF0C9444218091910222
+:10D7400090919202909349088093480880918F02AB
+:10D7500090919002909347088093460810922F0A68
+:10D7600010922E0A15DF0C94442180918D02909125
+:10D770008E02909349088093480880918B02909183
+:10D780008C02909347088093460810922F0A1092BB
+:10D790002E0AFEDE0C9444218091890290918A0227
+:10D7A000909349088093480880918702909188025D
+:10D7B000909347088093460810922F0A10922E0AE1
+:10D7C000E7DE0C9444212F923F924F925F926F922A
+:10D7D0007F928F929F92AF92BF92CF92DF92EF9201
+:10D7E000FF920F931F93CF93DF93CDB7DEB7A89728
+:10D7F0000FB6F894DEBF0FBECDBF80916F028111CE
+:10D8000004C080913F0D82FFEBC28DE59AE00E943B
+:10D810001B389DA38CA38091350D9091360DA0915E
+:10D82000370DB091380D81309048A105B10540F019
+:10D830001092350D1092360D1092370D1092380D52
+:10D840006091350D7091360D8091370D9091380DA6
+:10D8500025E030E040E050E00E947EB280913E0D35
+:10D8600090E0A0E0B0E0281739074A075B0710F402
+:10D8700020933E0D40903E0D80913F0D82FB882706
+:10D8800080F98F8F512C35E0C32ED12CE12CF12C57
+:10D8900041102DC080916F028823A9F08091350D31
+:10D8A0009091360DA091370DB091380D23E005977A
+:10D8B000A105B10510F443E001C040E26BE77FE051
+:10D8C000852D0E94F6632F8D222389F08091350DDE
+:10D8D0009091360DA091370DB091380D0597A105A7
+:10D8E000B10528F4AAD88CE692E7F1D879C261E6AE
+:10D8F0007AE08BEC9AE00E9440108091610A8F32AE
+:10D9000031F041E0441671F022E0722E02C077241B
+:10D9100073940CA11DA101501109842C912CA12CF0
+:10D92000B12C52C080916F028823D9F06091350DDF
+:10D930007091360D8091370D9091380DA7019601A9
+:10D940000E947EB2213031054105510519F420E2D3
+:10D950004EE302C020E240E267E77FE0852D0E94AF
+:10D96000F6638F8D882381F26091350D7091360DAD
+:10D970008091370D9091380DA70196010E947EB2DB
+:10D98000213031054105510509F0BECF56D80E941E
+:10D990006F6426C2741088C140E050E0B8018DE584
+:10D9A0009AE00E9492349091A30A80916F02992389
+:10D9B00009F4A1C081110DC09F8D911179C0772408
+:10D9C0007394740C015011090F3FFFEF1F0711F7FB
+:10D9D0006DC16091350D7091360D8091370D90912C
+:10D9E000380DA70196010E947EB2281539054A0517
+:10D9F0005B0579F5452D60E080E49DE00E947E287E
+:10DA00006EE380E49DE00E94BFAD65E080E49DE0B0
+:10DA10000E94BFAD80916E0A882329F01092800A7F
+:10DA20008EE69AE002C081E69AE03C0192E1392E4E
+:10DA3000F30161913F01662311F0311085C133205C
+:10DA400009F4BACF60E280E49DE00E94BFAD3A9451
+:10DA5000F6CF452D60E080E49DE00E947E2860E2E4
+:10DA600080E49DE00E94BFAD65E080E49DE00E94FF
+:10DA7000BFAD80916E0A882329F01092800A8EE64D
+:10DA80009AE002C081E69AE03C0182E1382EF3017F
+:10DA900061913F01662311F031105CC1332009F41C
+:10DAA0008BCF60E280E49DE00E94BFAD3A94F6CF58
+:10DAB0006091350D7091360D8091370D9091380D34
+:10DAC000A70196010E947EB2281539054A055B051B
+:10DAD00009F075CF0E941D6561E67AE08DE59AE058
+:10DAE0000E947E381092350D1092360D1092370D2F
+:10DAF0001092380D75C1811104C0FF8DF11191C0D4
+:10DB00005ECF6091350D7091360D8091370D9091FB
+:10DB1000380DA70196010E947EB2281539054A05E5
+:10DB20005B0509F054C020919B0D2EA3712C472D4D
+:10DB300060E080E49DE00E947E2860E280E49DE059
+:10DB40000E94BFAD739444E07412F1CF452D60E0A4
+:10DB500080E49DE00E947E286EE380E49DE00E94C8
+:10DB6000BFADBFE62B2EBAE03B2E2EE63AE0612C8D
+:10DB7000712C39A328A361E070E0E8A1F9A12191FB
+:10DB8000F9A3E8A32223B1F0CB0101969BA38AA3BA
+:10DB9000452D80E49DE028A76114710409F4E0C0DC
+:10DBA0000E947E2828A5622F80E49DE00E94BFADE0
+:10DBB0006AA17BA1F4E17F2E761A772009F49DCF2C
+:10DBC00060E280E49DE00E94BFAD7A94F6CF452DDF
+:10DBD00060E080E49DE00E947E2860E280E49DE0B9
+:10DBE0000E94BFAD80916E0A882329F01092810AAD
+:10DBF0008EE69AE002C081E69AE03C01E3E13E2E27
+:10DC0000F30161913F01662311F03110E3C033202D
+:10DC100009F473CF60E280E49DE00E94BFAD3A94C6
+:10DC2000F6CF6091350D7091360D8091370D909142
+:10DC3000380DA70196010E947EB2281539054A05C4
+:10DC40005B0509F0BCCE0E941D6581E69AE09F93BA
+:10DC50008F9380E79FE09F938F938E010F5F1F4FFD
+:10DC60001F930F930E945BB60F900F900F900F9031
+:10DC70000F900F907E01F5E0EF0EF11CF70180810F
+:10DC8000882349F0992787FD90950E9498B5F70160
+:10DC900081937F01F3CFC8010E94C03D8CE69FE0D5
+:10DCA0000E94333E75DC9CC073948CCE6091350D20
+:10DCB0007091360D8091370D9091380DA701960126
+:10DCC0000E947EB2872D90E0A0E0B0E028173907CF
+:10DCD0004A075B0788F025E0729EC0011124019776
+:10DCE000AA2797FDA095BA2F8093350D9093360DF6
+:10DCF000A093370DB093380D6091350D7091360DAE
+:10DD00008091370D9091380DA70196010E947EB247
+:10DD100080913E0D90E00396422F50E084179507C6
+:10DD200064F48DEF820F80933E0D81E080936F024B
+:10DD30007CEF472E420E55245A945394439443E06B
+:10DD4000451508F0A5CD4CC080E49DE00E94BFAD14
+:10DD50003A946ECE80E49DE00E94BFAD3A9497CE97
+:10DD60000E947E2828A5622F80E49DE00E94BFAD1E
+:10DD70006AA17BA16431710509F0FFCE9101ACE28B
+:10DD80006A2E7724739480913F0D82FD05C08091A7
+:10DD90009B0D9EA1981789F081E090E0E1E06E1A5A
+:10DDA00071086114710421F0892B69F381E090E01E
+:10DDB000FFEF2F1A3F0A3C01DCCE61E070E080E00B
+:10DDC00090E028A73FA30E9460A980E090E028A5EA
+:10DDD0003FA1E4CF80E49DE00E94BFAD3A9410CF14
+:10DDE000A8960FB6F894DEBF0FBECDBFDF91CF91DE
+:10DDF0001F910F91FF90EF90DF90CF90BF90AF9069
+:10DE00009F908F907F906F905F904F903F902F905A
+:10DE100008958F929F92AF92BF92CF92DF92EF922E
+:10DE2000FF920F931F93CF93DF938091350D9091C5
+:10DE3000360DA091370DB091380D81309048A10575
+:10DE4000B10540F01092350D1092360D1092370D3D
+:10DE50001092380D6091350D7091360D8091370D0F
+:10DE60009091380D25E030E040E050E00E947EB215
+:10DE700080913E0D90E0A0E0B0E0281739074A07F6
+:10DE80005B0710F420933E0DD0913E0D10913F0D95
+:10DE900012FB112710F9C0E045E0C42ED12CE12C73
+:10DEA000F12C57E2852E912CA12CB12C01E0609130
+:10DEB000350D7091360D8091370D9091380DD1113F
+:10DEC00034C020916F02222371F023E06530710588
+:10DED0008105910510F443E001C040E267E57FE071
+:10DEE0008C2F0E94F663112309F4C8C18091350D6F
+:10DEF0009091360DA091370DB091380D0597A10581
+:10DF0000B10508F0BBC10E941D658CE692E7DF9168
+:10DF1000CF911F910F91FF90EF90DF90CF90BF9026
+:10DF2000AF909F908F900C946765D130D9F5209178
+:10DF30006F02222399F0A70196010E947EB2213040
+:10DF400031054105510519F420E24EE302C020E2FB
+:10DF500040E267E47FE08C2F0E94F663112309F40E
+:10DF60008DC16091350D7091360D8091370D909176
+:10DF7000380DA70196010E947EB22130310541057E
+:10DF8000510509F07BC10E941D65DF91CF911F9162
+:10DF90000F91FF90EF90DF90CF90BF90AF909F9048
+:10DFA0008F909ECBD230D9F520916F02222399F029
+:10DFB000A70196010E947EB222303105410551052C
+:10DFC00019F420E24EE302C020E240E268E37FE081
+:10DFD0008C2F0E94F663112309F450C16091350D16
+:10DFE0007091360D8091370D9091380DA7019601F3
+:10DFF0000E947EB2223031054105510509F03EC133
+:10E000000E941D65DF91CF911F910F91FF90EF90BE
+:10E01000DF90CF90BF90AF909F908F904ACBD3303E
+:10E02000D9F520916F02222399F0A70196010E9451
+:10E030007EB2233031054105510519F420E24EE34B
+:10E0400002C020E240E269E27FE08C2F0E94F6638A
+:10E05000112309F413C16091350D7091360D809133
+:10E06000370D9091380DA70196010E947EB22330A2
+:10E0700031054105510509F001C10E941D65DF917F
+:10E08000CF911F910F91FF90EF90DF90CF90BF90B5
+:10E09000AF909F908F9052CBD430D9F520916F02E2
+:10E0A000222399F0A70196010E947EB22430310507
+:10E0B0004105510519F420E24EE302C020E240E29E
+:10E0C00069E17FE08C2F0E94F663112309F4D6C02A
+:10E0D0006091350D7091360D8091370D9091380D0E
+:10E0E000A70196010E947EB22430310541055105F9
+:10E0F00009F0C4C00E941D65DF91CF911F910F915F
+:10E10000FF90EF90DF90CF90BF90AF909F908F9057
+:10E110002CCBD530D9F520916F02222399F0A7019D
+:10E1200096010E947EB2253031054105510519F452
+:10E1300020E24EE302C020E240E269E07FE08C2F63
+:10E140000E94F663112309F499C06091350D709116
+:10E15000360D8091370D9091380DA70196010E94E0
+:10E160007EB2253031054105510509F087C00E9476
+:10E170001D65DF91CF911F910F91FF90EF90DF9080
+:10E18000CF90BF90AF909F908F90C1CAD630D9F5F5
+:10E1900020916F02222399F0A70196010E947EB27E
+:10E1A000263031054105510519F420E24EE302C045
+:10E1B00020E240E26AEF7EE08C2F0E94F66311239A
+:10E1C00009F45CC06091350D7091360D8091370D6A
+:10E1D0009091380DA70196010E947EB2263031053C
+:10E1E0004105510509F04AC00E941D65DF91CF919C
+:10E1F0001F910F91FF90EF90DF90CF90BF90AF9065
+:10E200009F908F90C9CAD730C9F520916F02222301
+:10E2100099F0A70196010E947EB227303105410591
+:10E22000510519F420E24EE302C020E240E261EF22
+:10E230007EE08C2F0E94F663112301F16091350D71
+:10E240007091360D8091370D9091380DA701960190
+:10E250000E947EB2273031054105510579F40E94B4
+:10E260001D65DF91CF911F910F91FF90EF90DF908F
+:10E27000CF90BF90AF909F908F9092C98091350DB5
+:10E280009091360DA091370DB091380D8897A1056A
+:10E29000B10540F08092350D9092360DA092370D69
+:10E2A000B092380D6091350D7091360D8091370D1B
+:10E2B0009091380DA70196010E947EB280913E0D8B
+:10E2C00090E00396422F50E0841795074CF48DEFB1
+:10E2D000820F80933E0D00936F02DCEFD20FCFEFE1
+:10E2E000CF5FDF5FC43008F4E2CDDF91CF911F91A3
+:10E2F0000F91FF90EF90DF90CF90BF90AF909F90E5
+:10E300008F9008955AD941E060E080E49DE00E943A
+:10E310007E2869EF74E080E49DE00E94BEAD42E09B
+:10E3200060E080E49DE00E947E2869E075E080E482
+:10E330009DE00C94BEAD41D942E060E080E49DE0F8
+:10E340000E947E286CE175E080E49DE00C94BEADF7
+:10E350001F93CF93DF9331D940E060E080E49DE0EC
+:10E360000E947E286CE275E080E49DE00E94BEADD4
+:10E3700042E060E080E49DE00E947E286AE375E070
+:10E3800080E49DE00E94BEAD10E043E0612F80E498
+:10E390009DE00E947E286FE573E080E49DE00E948E
+:10E3A000BEADCAE0D0E00E94721E81E00E943849F2
+:10E3B00065E570E080E090E00E9460A921972097D9
+:10E3C00091F71F5F143109F7DF91CF911F910895E5
+:10E3D0001F93CF93DF93F1D840E060E080E49DE0AD
+:10E3E0000E947E2866E475E080E49DE00E94BEAD58
+:10E3F00042E060E080E49DE00E947E286AE375E0F0
+:10E4000080E49DE00E94BEAD10E043E0612F80E417
+:10E410009DE00E947E286FE573E080E49DE00E940D
+:10E42000BEADCAE0D0E00E94721E81E00E94384971
+:10E430006EE670E080E090E00E9460A9219720974E
+:10E4400091F71F5F143109F7DF91CF911F91089564
+:10E4500080932E0D10922D0D0895E2E7F2E00190C9
+:10E460000020E9F73197E257F2401E161F0634F0FC
+:10E470001092860282E080936F02089580E2E43178
+:10E48000F105B4F7DF01AE58BD4F8C933196F7CF4D
+:10E4900020918C0D211108C044E150E0BC0182E7BD
+:10E4A00092E00E944CB6D9CF089510925F0A60E0C6
+:10E4B0008DE59AE00E947D340E94B39380E69FE050
+:10E4C0000E94333E81E080931F0A87E595E0E0DFFC
+:10E4D0008CE59FE00C94333EAF92BF92CF92DF92D7
+:10E4E000EF92FF920F931F93CF93DF931092990DAA
+:10E4F0008091350D9091360DA091370DB091380D6A
+:10E5000081309048A105B10540F01092350D109270
+:10E51000360D1092370D1092380D6091350D7091B7
+:10E52000360D8091370D9091380D25E030E040E0B8
+:10E5300050E00E947EB280913E0D90E0A0E0B0E0FD
+:10E54000281739074A075B0710F420933E0DD09136
+:10E550003E0D10913F0D12FB112710F9C0E075E040
+:10E56000C72ED12CE12CF12CAA24A394D11137C0B1
+:10E5700080916F028823A9F08091350D9091360D1E
+:10E58000A091370DB091380D23E00597A105B10595
+:10E5900010F443E001C040E264E071E18C2F0E947E
+:10E5A000F6631123E1F08091350D9091360DA09125
+:10E5B000370DB091380D0597A105B10580F40E9483
+:10E5C0001D6584E290E8DF91CF911F910F91FF903C
+:10E5D000EF90DF90CF90BF90AF900C9467650E9452
+:10E5E00000A54091350D5091360D6091370D709119
+:10E5F000380D811104C080915F0A882399F1D130D0
+:10E60000C9F580916F028823A9F0CB01BA01A70157
+:10E6100096010E947EB2213031054105510519F461
+:10E620002EE74EE302C02EE740E26FEF70E18C2F41
+:10E630000E94F6631123F1F06091350D7091360D53
+:10E640008091370D9091380DA70196010E947EB2FE
+:10E65000213031054105510569F40E941D6582E6AE
+:10E660009BE73EC2D13031F480916F0281119BC291
+:10E670001111AFC22091600A6091350D7091360D75
+:10E680008091370D9091380D222309F4F1C020912B
+:10E69000480C222309F4B9C020915F0A2223E9F132
+:10E6A000D23009F076C020916F02222399F0A701A1
+:10E6B00096010E947EB2223031054105510519F4C0
+:10E6C00020E24EE302C020E240E26BEE70E18C2FCC
+:10E6D0000E94F663112309F4E2C06091350D709138
+:10E6E000360D8091370D9091380DA70196010E944B
+:10E6F0007EB2223031054105510509F0D0C00E949B
+:10E700001D65DF91CF911F910F91FF90EF90DF90EA
+:10E71000CF90BF90AF900C947C64D230D1F5209113
+:10E720006F02222399F0A70196010E947EB2223047
+:10E7300031054105510519F420E24EE302C020E203
+:10E7400040E26EED70E18C2F0E94F663112309F414
+:10E75000A6C06091350D7091360D8091370D909166
+:10E76000380DA70196010E947EB222303105410585
+:10E77000510509F094C00E941D65DF91CF911F9152
+:10E780000F91FF90EF90DF90CF90BF90AF900C94DF
+:10E790007864D33009F083C020916F02222399F06E
+:10E7A000A70196010E947EB2233031054105510533
+:10E7B00019F420E24EE302C020E240E263ED70E192
+:10E7C0008C2F0E94F663112309F469C06091350D06
+:10E7D0007091360D8091370D9091380DA7019601FB
+:10E7E0000E947EB2233031054105510509F057C022
+:10E7F0000E941D65DF91CF911F910F91FF90EF90C7
+:10E80000DF90CF90BF90AF9050CED23011F003E0A8
+:10E8100047C020916F02222399F0A70196010E9420
+:10E820007EB2223031054105510519F42EE74EE341
+:10E8300002C02EE740E265EC70E18C2F0E94F66387
+:10E84000112329F36091350D7091360D8091370DAC
+:10E850009091380DA70196010E947EB222303105B9
+:10E8600041055105A1F60E941D6583EE9BE638C166
+:10E87000D23069F620916F02222311F3A70196018D
+:10E880000E947EB2223031054105510519F42EE770
+:10E890004EE302C02EE740E26AEB70E1CECF04E027
+:10E8A00080915F0A8111DCC00D1348C080916F0216
+:10E8B0008823F9F06091350D7091360D8091370DF8
+:10E8C0009091380DA70196010E947EB2802F90E0B2
+:10E8D000A0E0B0E0281739074A075B0719F420E2E7
+:10E8E0004EE302C020E240E26CEA70E18C2F0E940D
+:10E8F000F663112319F16091350D7091360D8091F9
+:10E90000370D9091380DA70196010E947EB2802F9D
+:10E9100090E0A0E0B0E0281739074A075B0771F4E0
+:10E920000E941D65DF91CF911F910F91FF90EF9095
+:10E93000DF90CF90BF90AF900C941B6BBB24B3942F
+:10E94000B00EBD1248C080916F028823F9F060912B
+:10E95000350D7091360D8091370D9091380DA701CE
+:10E9600096010E947EB28D2F90E0A0E0B0E02817C3
+:10E9700039074A075B0719F420E24EE302C020E2A0
+:10E9800040E26CE970E18C2F0E94F663112319F1CB
+:10E990006091350D7091360D8091370D9091380D45
+:10E9A000A70196010E947EB28B2D90E0A0E0B0E01E
+:10E9B000281739074A075B0771F40E941D65DF912C
+:10E9C000CF911F910F91FF90EF90DF90CF90BF906C
+:10E9D000AF900C94E16A62E0B62EB00EBD123FC05B
+:10E9E00080916F028823F9F06091350D7091360D9A
+:10E9F0008091370D9091380DA70196010E947EB24B
+:10EA00008D2F90E0A0E0B0E0281739074A075B0798
+:10EA100019F42EE74EE302C02EE740E263E970E10D
+:10EA20008C2F0E94F6631123D1F06091350D709107
+:10EA3000360D8091370D9091380DA70196010E94F7
+:10EA40007EB28B2D90E0A0E0B0E0281739074A078E
+:10EA50005B0729F40E941D6581E297E641C00D5FC6
+:10EA60000D134AC080916F028823F9F06091350D33
+:10EA70007091360D8091370D9091380DA701960158
+:10EA80000E947EB2802F90E0A0E0B0E02817390706
+:10EA90004A075B0719F42EE74EE302C02EE740E277
+:10EAA0006BE870E18C2F0E94F663112329F16091CD
+:10EAB000350D7091360D8091370D9091380DA7016D
+:10EAC00096010E947EB2802F90E0A0E0B0E028176F
+:10EAD00039074A075B0781F40E941D6581E795E6C7
+:10EAE000DF91CF911F910F91FF90EF90DF90CF902A
+:10EAF000BF90AF900C946C65BB24B394B00E609142
+:10EB0000350D7091360D8091370D9091380DA7011C
+:10EB100096010E947EB28B2D90E0A0E0B0E0281715
+:10EB200039074A075B0788F025E0B29EC00111242F
+:10EB30000197AA2797FDA095BA2F8093350D909342
+:10EB4000360DA093370DB093380D6091350D70914F
+:10EB5000360D8091370D9091380DA70196010E94D6
+:10EB60007EB280913E0D90E00396422F50E08417D4
+:10EB700095074CF48DEF820F80933E0DA0926F02AB
+:10EB8000DCEFD20FCFEFCF5FDF5FC43008F4EECC05
+:10EB9000DF91CF911F910F91FF90EF90DF90CF9079
+:10EBA000BF90AF900895CB01BA01A70196010E94D2
+:10EBB0007EB2213031054105510519F42EE74EE3AF
+:10EBC00002C02EE740E267EF70E18C2F0E94F663EF
+:10EBD0004FCD6091350D7091360D8091370D90912C
+:10EBE000380DA70196010E947EB221303105410502
+:10EBF000510509F03FCD0E941D6589E09FE670CF69
+:10EC000020918C0D211108C044E150E0BC0182E745
+:10EC100092E00E94BFB521CC0895F2DF81E080939D
+:10EC20008C0D0C94C86A10928C0D0895CF92DF92CF
+:10EC3000EF92FF92CF93CCB1C095CC1FCC27CC1FC5
+:10EC40008091030183FFC260C0903A0DD0903B0DCC
+:10EC5000E0903C0DF0903D0D0E9431A9C616D706FC
+:10EC6000E806F90610F4489B39C0C0933F0D809127
+:10EC70003F0D817090913F0D91FD82609091390D13
+:10EC8000891721F18130F1F028F0823089F083304A
+:10EC9000A1F01CC0913021F490919B0D9F5F05C0A5
+:10ECA0009230A1F490919B0D915090939B0D0EC0CA
+:10ECB000992391F3933051F4F5CF923069F3913069
+:10ECC00029F4F0CF933041F3992361F38093390D08
+:10ECD000CF91FF90EF90DF90CF900895C460C5CFA3
+:10ECE0000E94BC6A6F98E4E0F1E08081877F8083B6
+:10ECF000779A9FB7F894E5E0F1E08081886080839F
+:10ED00009FBF5098589A60E088E40E9451A89FB72E
+:10ED1000F894E5E0F1E08081846080839FBF80917A
+:10ED2000030182FB882780F991E089278093340DC5
+:10ED30007DDF10929B0D0895CF92DF92EF92FF92AC
+:10ED400075DF8091030191E082FB882780F9892794
+:10ED50002091340D8217C9F082E080936F02809178
+:10ED6000030182FB882780F989278093340D0E9454
+:10ED7000BC6A8091340D882309F490C08DE59AE037
+:10ED80000E94473089E49EE03BDFC090300DD09078
+:10ED9000310DE090320DF090330D0E9431A9C6166E
+:10EDA000D706E806F90608F086C040919B0D44237B
+:10EDB00061F181E080936F02552747FD5095652FE3
+:10EDC000752F8091350D9091360DA091370DB09132
+:10EDD000380D840F951FA61FB71F8093350D909394
+:10EDE000360DA093370DB093380D10929B0D0E94F5
+:10EDF00031A96856754C8F4F9F4F6093050D7093E6
+:10EE0000060D8093070D9093080D80913F0D82FFB2
+:10EE10000EC00E9431A96856754C8F4F9F4F60936A
+:10EE2000050D7093060D8093070D9093080DE091EA
+:10EE30007002F09171021995C090050DD090060DE9
+:10EE4000E090070DF090080D0E9431A9C616D70674
+:10EE5000E806F90638F480917002909171028452AC
+:10EE6000904819F580916F02823011F40E94DD6A9A
+:10EE700080916F02882319F0815080936F020E9465
+:10EE800031A96C597F4F8F4F9F4F6093300D709316
+:10EE9000310D8093320D9093330D0DC08DE59AE0C6
+:10EEA0000E9412318CE39EE06FCF0E94C86A82E01C
+:10EEB00080936F02D7CFFF90EF90DF90CF900895AF
+:10EEC00081E0089580913F0D82FB882780F90895A5
+:10EED0000F931F93CF93DF930E94DD6A40E060E0C1
+:10EEE00080E49DE00E947E2865E675E080E49DE078
+:10EEF0000E94BEAD41E061E080E49DE00E947E287A
+:10EF000068E775E080E49DE00E94BEAD42E061E00C
+:10EF100080E49DE00E947E286CE775E080E49DE03F
+:10EF20000E94BEAD43E061E080E49DE00E947E2847
+:10EF300060E975E080E49DE00E94BEAD41E060E0E4
+:10EF400080E49DE00E947E2860EA75E080E49DE018
+:10EF50000E94BEAD00919B0D112707FD1095C1E0E9
+:10EF6000D0E08091550A9091560A892B09F076C01D
+:10EF70000E94721E81E00E94384980919B0D992762
+:10EF800087FD90950817190709F459C09801281BA7
+:10EF9000390B37FF03C031952195310922303105F6
+:10EFA0000CF44DC0801791070CF42197081719072E
+:10EFB0000CF42196C430D1052CF4209729F4C1E03B
+:10EFC000D0E002C0C3E0D0E041E060E080E49DE03A
+:10EFD0000E947E2861E973E080E49DE00E94BEAD5E
+:10EFE00042E060E080E49DE00E947E2861E973E0F9
+:10EFF00080E49DE00E94BEAD43E060E080E49DE0DF
+:10F000000E947E2861E973E080E49DE00E94BEAD2D
+:10F010004C2F60E080E49DE00E947E2860EA75E06D
+:10F0200080E49DE00E94BEAD00919B0D112707FD7D
+:10F03000109564E670E080E090E00E9460A942DFF5
+:10F04000882309F48ECFD093560AC093550A64EFF3
+:10F0500071E080E090E00E9460A983CF0E94DD6AA9
+:10F06000DF91CF911F910F910C94C86AFC018081B0
+:10F0700090E02AE030E0B9010E946BB2482FCB014A
+:10F08000B9010E946BB2805D8093090D405D409391
+:10F090000A0D10920B0D89E09DE0089520E030E00C
+:10F0A00040E251E4FC0160817181828193810E9480
+:10F0B00075B10E940FAF77FD02C02BE201C02DE2B7
+:10F0C0002093090D9B0177FF04C022273327261BBD
+:10F0D000370BC90168EE73E00E946BB2CB01EAE026
+:10F0E000F0E0BF010E946BB2805D80930A0DC90100
+:10F0F00064E670E00E946BB2CB01BF010E946BB26C
+:10F10000805D80930B0DC901BF010E946BB2282F57
+:10F11000CB01BF010E946BB2805D80930C0D8EE22B
+:10F1200080930D0D205D20930E0D10920F0D89E040
+:10F130009DE008958F929F92AF92BF92CF92DF92FF
+:10F14000EF92FF92FC0180809180A280B38020E04A
+:10F1500030E048EC52E4C501B4010E9475B16B0186
+:10F160007C0120E030E0A9010E94A3B018161CF435
+:10F17000C701B60103C0C701B60190580E940FAF86
+:10F180006B017C0120E030E0A901C501B4010E94BF
+:10F19000A0AE87FF12C08DE28093090DC701B601B2
+:10F1A00028EE33E040E050E00E94A0B2CA01B9016D
+:10F1B0002AE030E040E050E036C0C701B60120E16F
+:10F1C00037E240E050E00E94A0B28AE0882E912C05
+:10F1D000A12CB12CCA01B901A50194010E94A0B2D1
+:10F1E000662391F0605D6093090DC701B60128EEBA
+:10F1F00033E040E050E00E94A0B2CA01B901A5018D
+:10F2000094010E94A0B213C080E28093090DC7014F
+:10F21000B60128EE33E040E050E00E94A0B2CA01FF
+:10F22000B901A50194010E94A0B2662311F0605DAE
+:10F2300001C060E260930A0DC701B60124E630E028
+:10F2400040E050E00E94A0B2BAE08B2E912CA12C9D
+:10F25000B12CCA01B901A50194010E94A0B2605D60
+:10F2600060930B0DC701B601A50194010E94A0B2E5
+:10F27000662381F0605D60930E0DCA01B901A5019E
+:10F2800094010E94A0B2605D60930D0D8EE28093A8
+:10F290000C0D15C0CA01B901A50194010E94A0B2CC
+:10F2A000662329F0605D60930D0D8EE203C080E25D
+:10F2B00080930D0D80930C0D80E280930E0D1092C3
+:10F2C0000F0D89E09DE0FF90EF90DF90CF90BF9011
+:10F2D000AF909F908F900895FC012081318137FF7E
+:10F2E00007C08DE28093090D31952195310914C035
+:10F2F0002436310574F0C90164E670E00E946BB2F7
+:10F30000CB016AE070E00E946BB2805D8093090DD2
+:10F3100006C080E28093090D2A30310564F0EAE0EE
+:10F32000F0E0C901BF010E946BB2CB01BF010E9496
+:10F330006BB2805D01C080E280930A0DC9016AE072
+:10F3400070E00E946BB2805D80930B0D10920C0DEB
+:10F3500089E09DE008958F929F92AF92BF92CF92E5
+:10F36000DF92EF92FF920F931F93CF93DF93609101
+:10F3700014027091150280911602909117020E945A
+:10F38000BD276093190D70931A0D80931B0D9093F8
+:10F390001C0D6091100270911102809112029091E7
+:10F3A00013020E94C9276093150D7093160D809368
+:10F3B000170D9093180D8091350D9091360DA091F9
+:10F3C000370DB091380D81309048A105B10540F05E
+:10F3D0001092350D1092360D1092370D1092380D97
+:10F3E0006091350D7091360D8091370D9091380DEB
+:10F3F00025E030E040E050E00E947EB280913E0D7A
+:10F4000090E0A0E0B0E0281739074A075B0710F446
+:10F4100020933E0DD0913E0D10913F0D12FB112710
+:10F4200010F9C0E095E0C92ED12CE12CF12C23E19C
+:10F43000822E912CA12CB12C01E06091350D7091A0
+:10F44000360D8091370D9091380DD11134C0209137
+:10F450006F02222371F023E065307105810591056B
+:10F4600010F443E001C040E26AEA7FE08C2F0E9482
+:10F47000F663112309F4E2C08091350D9091360DA9
+:10F48000A091370DB091380D0597A105B10508F091
+:10F49000D5C00E941D6581E297E6DF91CF911F9153
+:10F4A0000F91FF90EF90DF90CF90BF90AF909F9023
+:10F4B0008F900C946765D130D9F520916F0222238B
+:10F4C000B9F0A70196010E947EB288E498E021304D
+:10F4D00031054105510521F4FFDE9C014EE303C0D7
+:10F4E000FBDE9C0140E263EA7FE08C2F0E942D64EA
+:10F4F000112309F4A3C06091350D7091360D8091F0
+:10F50000370D9091380DA70196010E947EB22130EF
+:10F5100031054105510509F091C00E941D6528E3A0
+:10F5200031E040E050E068E478E08CE99FE078C0AA
+:10F53000D230D9F520916F022223B9F0A7019601AC
+:10F540000E947EB286E498E02230310541055105E3
+:10F5500021F4C2DE9C014EE303C0BEDE9C0140E20A
+:10F5600068E97FE08C2F0E942D64112309F466C0A6
+:10F570006091350D7091360D8091370D9091380D59
+:10F58000A70196010E947EB2223031054105510546
+:10F5900009F054C00E941D6523E930E040E050E0CE
+:10F5A00066E478E084E99FE03BC0D33009F046C0D0
+:10F5B00020916F022223B9F0A70196010E947EB22A
+:10F5C0008EE29AE0233031054105510521F484DEB5
+:10F5D0009C014EE303C080DE9C0140E26AE87FE0CC
+:10F5E0008C2F0E942D64112349F16091350D70918B
+:10F5F000360D8091370D9091380DA70196010E942C
+:10F600007EB22330310541055105C1F40E941D65CC
+:10F610002FEF30E040E050E06EE27AE080E89FE0DB
+:10F62000DF91CF911F910F91FF90EF90DF90CF90DE
+:10F63000BF90AF909F908F900C94A4638091350DF4
+:10F640009091360DA091370DB091380D4497A105DA
+:10F65000B10540F08092350D9092360DA092370D95
+:10F66000B092380D6091350D7091360D8091370D47
+:10F670009091380DA70196010E947EB280913E0DB7
+:10F6800090E00396422F50E0841795074CF48DEFDD
+:10F69000820F80933E0D00936F02DCEFD20FCFEF0D
+:10F6A000CF5FDF5FC43008F4C8CEDF91CF911F91E8
+:10F6B0000F91FF90EF90DF90CF90BF90AF909F9011
+:10F6C0008F9008958F929F92AF92BF92CF92DF92C8
+:10F6D000EF92FF920F931F93CF93DF938091350D9D
+:10F6E0009091360DA091370DB091380D8130904832
+:10F6F000A105B10540F01092350D1092360D109213
+:10F70000370D1092380D6091350D7091360D809146
+:10F71000370D9091380D25E030E040E050E00E9438
+:10F720007EB280913E0D90E0A0E0B0E0281739074E
+:10F730004A075B0710F420933E0DD0913E0D1091C7
+:10F740003F0D12FB112710F9C0E035E0C32ED12C7C
+:10F75000E12CF12C42E2842E912CA12CB12C01E061
+:10F760006091350D7091360D8091370D9091380D67
+:10F77000D11134C020916F02222371F023E0653053
+:10F7800071058105910510F443E001C040E26CEE83
+:10F790007EE08C2F0E94F663112309F49CC18091B6
+:10F7A000350D9091360DA091370DB091380D05971C
+:10F7B000A105B10508F08FC10E941D658CE692E796
+:10F7C000DF91CF911F910F91FF90EF90DF90CF903D
+:10F7D000BF90AF909F908F900C946765D130D9F512
+:10F7E00020916F022223B9F0A70196010E947EB2F8
+:10F7F0008DE592E0213031054105510521F46CDDA4
+:10F800009C014EE303C068DD9C0140E266EE7EE0B1
+:10F810008C2F0E942D64112309F45DC16091350D78
+:10F820007091360D8091370D9091380DA70196019A
+:10F830000E947EB2213031054105510509F04BC1CE
+:10F840000E941D6527EE33E04AE050E06DE572E06E
+:10F8500080EE9EE03DC0D23009F048C020916F029A
+:10F860002223B9F0A70196010E947EB288E498E0B5
+:10F87000223031054105510521F42EDD9C014EE376
+:10F8800003C02ADD9C0140E269ED7EE08C2F0E94DE
+:10F890002D64112309F41FC16091350D7091360D4F
+:10F8A0008091370D9091380DA70196010E947EB28C
+:10F8B000223031054105510509F00DC10E941D6539
+:10F8C00028E331E040E050E068E478E082ED9EE03B
+:10F8D000DF91CF911F910F91FF90EF90DF90CF902C
+:10F8E000BF90AF909F908F900C94A463D330D9F5C4
+:10F8F00020916F022223B9F0A70196010E947EB2E7
+:10F9000086E498E0233031054105510521F4E4DC1B
+:10F910009C014EE303C0E0DC9C0140E26EEC7EE023
+:10F920008C2F0E942D64112309F4D5C06091350DF0
+:10F930007091360D8091370D9091380DA701960189
+:10F940000E947EB2233031054105510509F0C3C044
+:10F950000E941D6523E930E040E050E066E478E075
+:10F960008AEC9EE0B5CFD430D9F520916F022223E6
+:10F97000B9F0A70196010E947EB28EE29AE024308F
+:10F9800031054105510521F4A7DC9C014EE303C07C
+:10F99000A3DC9C0140E260EC7EE08C2F0E942D6491
+:10F9A000112309F498C06091350D7091360D809146
+:10F9B000370D9091380DA70196010E947EB2243038
+:10F9C00031054105510509F086C00E941D652FEFE4
+:10F9D00030E040E050E06EE27AE086EB9EE078CFE7
+:10F9E000D530D9F520916F022223B9F0A7019601F5
+:10F9F0000E947EB28BE592E025303105410551052C
+:10FA000021F46ADC9C014EE303C066DC9C0140E209
+:10FA100061EB7EE08C2F0E942D64112309F45BC002
+:10FA20006091350D7091360D8091370D9091380DA4
+:10FA3000A70196010E947EB225303105410551058E
+:10FA400009F049C00E941D6527EE33E04AE050E00E
+:10FA50006BE572E08CEA9EE03BCFD630E1F5209179
+:10FA60006F02222399F0A70196010E947EB22630F0
+:10FA700031054105510519F420E24EE302C020E2B0
+:10FA800040E26CE97EE08C2F0E94F663112319F1AD
+:10FA90006091350D7091360D8091370D9091380D34
+:10FAA000A70196010E947EB226303105410551051D
+:10FAB00091F40E941D6587E99EE0DF91CF911F912F
+:10FAC0000F91FF90EF90DF90CF90BF90AF909F90FD
+:10FAD0008F900C94333E8091350D9091360DA0910E
+:10FAE000370DB091380D8397A105B10540F0809294
+:10FAF000350D9092360DA092370DB092380D609171
+:10FB0000350D7091360D8091370D9091380DA7010C
+:10FB100096010E947EB280913E0D90E00396422FA6
+:10FB200050E0841795074CF48DEF820F80933E0DC3
+:10FB300000936F02DCEFD20FCFEFCF5FDF5FC430F7
+:10FB400008F40ECEDF91CF911F910F91FF90EF90AF
+:10FB5000DF90CF90BF90AF909F908F900895FC0161
+:10FB6000808191818436910524F164E670E00E94E1
+:10FB70006BB2CB012AE030E0B9010E946BB2805D2C
+:10FB80008093090D80819181B9010E946BB2CB01F4
+:10FB9000B9010E946BB2805D80930A0D80819181D2
+:10FBA000B9010E946BB2805D80930B0D10920C0D19
+:10FBB00023C08A309105BCF02AE030E0B9010E94F0
+:10FBC0006BB2CB01B9010E946BB2805D8093090DCD
+:10FBD00080819181B9010E946BB2805D80930A0D92
+:10FBE00010920B0D09C06AE070E00E946BB2805D5C
+:10FBF0008093090D10920A0D89E09DE00895CF923F
+:10FC0000EF920F93EFE1CE2EF0E2EF2E0FE02EE019
+:10FC100045E066E280E49DE00E9459290F91EF9053
+:10FC2000CF900895CF93DF93FC016491EC0121966E
+:10FC3000662331F080E49DE00E94362ACE01F4CFA5
+:10FC4000DF91CF9108950F931F93CF93DF938C0192
+:10FC5000EB0141E061E080E49DE00E947E28C80164
+:10FC6000E1DF6AE380E49DE00E94BFADFE01019008
+:10FC70000020E9F76C2F6E1B6C5E41E080E49DE094
+:10FC80000E947E28BE0180E49DE0DF91CF911F910C
+:10FC90000F910C94BEADCF92DF92EF92FF920F9333
+:10FCA0001F938091350D9091360DA091370DB09135
+:10FCB000380D0097A105B10509F442C0BC018827A1
+:10FCC00077FD8095982F0E9442AF2091110D3091C1
+:10FCD000120D4091130D5091140D0E9475B19B01AE
+:10FCE000AC016091500A7091510A8091520A909132
+:10FCF000530A0E94C7AD6093500A7093510A8093D3
+:10FD0000520A9093530A1092350D1092360D1092AC
+:10FD1000370D1092380DA0E3CA2EAAE0DA2EE12C9E
+:10FD2000F12C00E81FE320E53AE04CE45AE068E4F7
+:10FD30007AE084E49AE00E94779A81E080936F02EF
+:10FD400080916F02882339F080E59AE0A7D9BC0141
+:10FD500089EB9FE078DF80913F0D82FF0EC021E0AC
+:10FD600040E050E0BA018AEF98E61F910F91FF90B2
+:10FD7000EF90DF90CF900C9451651F910F91FF9001
+:10FD8000EF90DF90CF900895CF93DF931F921F9253
+:10FD9000CDB7DEB78091350D9091360DA091370D1E
+:10FDA000B091380DB7FF08C01092350D1092360D86
+:10FDB0001092370D1092380D80911D0D90911E0DEF
+:10FDC000A0911F0DB091200D4091350D5091360D31
+:10FDD0006091370D7091380D84179507A607B70706
+:10FDE00044F48093350D9093360DA093370DB09366
+:10FDF000380D80916F028823A9F08091210D909198
+:10FE0000220D2091350D3091360D820F931F9A836C
+:10FE10008983CE01019660DABC018091270D909113
+:10FE2000280D11DF80913F0D82FF1DC0E091250D4F
+:10FE3000F091260D8091210D9091220D2091350D8C
+:10FE40003091360D820F931F918380834091290D4D
+:10FE500050912A0D60E070E021E080912B0D90918F
+:10FE60002C0D0E9451650F900F90DF91CF91089556
+:10FE70004F925F926F927F928F929F92AF92BF92BA
+:10FE8000CF92DF92EF92FF920F931F93CF93DF9366
+:10FE90004C015B017A018091350D9091360DA09156
+:10FEA000370DB091380D892B8A2B8B2B09F47BC031
+:10FEB0000E945F40E501CC0FDD1FCC0FDD1F8E01DE
+:10FEC0000C5B154F6091350D7091360D882777FDCD
+:10FED0008095982F0E9442AF2091110D3091120D04
+:10FEE0004091130D5091140D0E9475B1F8012081BD
+:10FEF0003181428153810E94C7AD2B013C0120E03A
+:10FF000030E0A9010E94A0AEF80187FD05C0408243
+:10FF100051826282738204C0108211821282138223
+:10FF2000B701882777FD8095982F0E9442AF6B011B
+:10FF30007C018E010C5B154F9B01AC01F8016081C7
+:10FF40007181828193810E94A3B018162CF4F8016C
+:10FF5000C082D182E282F3821092350D1092360D6A
+:10FF60001092370D1092380DCA55DA4F20E030E06C
+:10FF700040E752E4688179818A819B810E94A7AE23
+:10FF8000D0E3CD2EDAE0DD2E7B018C0120E53AE0D6
+:10FF90004CE45AE068E47AE084E49AE00E94779ABC
+:10FFA00081E080936F0280916F02882359F0C50130
+:10FFB000880F991F880F991F8C5B954F6FD8BC01D4
+:10FFC000C40141DE80913F0D82FF18C021E040E076
+:10FFD00050E0BA018AEF98E6DF91CF911F910F911F
+:10FFE000FF90EF90DF90CF90BF90AF909F908F9059
+:10FFF0007F906F905F904F900C945165DF91CF91FF
+:020000021000EC
+:100000001F910F91FF90EF90DF90CF90BF90AF9036
+:100010009F908F907F906F905F904F90089546EDE6
+:1000200050E060E070E083EB9FE022CF46EC50E0D0
+:1000300061E070E085EB9FE01BCF49EC50E062E0AF
+:1000400070E087EB9FE014CF8F929F92AF92BF92A8
+:10005000CF92DF92EF92FF920F931F93CF93DF9394
+:10006000CDB7DEB728970FB6F894DEBF0FBECDBF71
+:1000700080912F0D882321F0815080932F0D03C094
+:1000800081E080936F0280916F02882309F456C249
+:1000900080919A0D8F5F80939A0D8E3129F40E9482
+:1000A000BC6A10929A0D0EC06AE00E944AB2911189
+:1000B00009C020E044E064E180E49DE00E947E29E4
+:1000C0000E94806420E030E040E05FE360914008FF
+:1000D0007091410880914208909143080E94C7ADF9
+:1000E0000E940FAF78876F8360914808709149082C
+:1000F000882777FD8095982F0E9442AF20E030E05E
+:1001000040E05FE30E94C7AD0E940FAF7E836D8326
+:1001100040E060E080E49DE00E947E2862E080E4B0
+:100120009DE00E94BFADCE010796D6D8BC0180E409
+:100130009DE00E94BEAD6FE280E49DE00E94BFADF5
+:10014000CE0105960CDDBC0180E49DE00E94BEADB1
+:1001500084E99EE067DD60E973E080E49DE00E9451
+:10016000BEAD40E06AE080E49DE00E947E2862EA45
+:1001700075E080E49DE00E94BEAD2CEA35EC47E2DC
+:1001800057E360914C0A70914D0A80914E0A90910C
+:100190004F0A0E94C7AD69837A838B839C83CE010B
+:1001A00001960E949A78BC0180E49DE00E94BEAD59
+:1001B00060E280E49DE00E94BFAD41E060E080E449
+:1001C0009DE00E947E2820E030E040E05FE3609107
+:1001D0003A0870913B0880913C0890913D080E943C
+:1001E000C7AD0E940FAF78876F836091460870910A
+:1001F0004708882777FD8095982F0E9442AF20E01E
+:1002000030E040E05FE30E94C7AD0E940FAF7E8305
+:100210006D8360E080E49DE00E94BFADCE01079653
+:100220005BD8BC0180E49DE00E94BEAD6FE280E43B
+:100230009DE00E94BFADCE01059691DCBC0180E43B
+:100240009DE00E94BEAD81E99EE0ECDC60E973E0D8
+:1002500080E49DE00E94BEAD41E06AE080E49DE064
+:100260000E947E2860E973E080E49DE00E94BEADBC
+:1002700066E080E49DE00E94BFAD8DE592E02CD861
+:10028000BC0180E49DE00E94BEAD65E280E49DE09B
+:100290000E94BFAD6DE873E080E49DE00E94BEADBA
+:1002A00042E060E080E49DE00E947E288EE89EE0CF
+:1002B000B9DC80915F0A8823A9F18091480C8823DA
+:1002C00019F18091F20C9091F30CA091F40CB09183
+:1002D000F50C0097A105B105B9F0BC01CD016D5930
+:1002E0007F4F8F4F9F4F24E630E040E050E00E9468
+:1002F0007EB26091FA0C7091FB0C8091FC0C909195
+:10030000FD0C0E947EB201C020E030E03A832983D8
+:10031000CE0101960E946C79BC0180E49DE00E94B0
+:10032000BEAD03C08AE89EE07DDC65E280E49DE02E
+:100330000E94BFAD6CE873E080E49DE00E94BEAD1A
+:1003400042E06AE080E49DE00E947E2860E973E07C
+:1003500080E49DE00E94BEAD67E080E49DE00E94E5
+:10036000BFAD8091520890915308A0915408B0916C
+:100370005508892B8A2B8B2BE1F10E9431A920E6AD
+:10038000C22E2AEED22EE12CF12CA70196010E945A
+:100390007EB249015A0160915208709153088091D0
+:1003A000540890915508A70196010E947EB2C4019D
+:1003B000821B930B6CE370E00E9457B2182F698385
+:1003C000CE0101960E943678BC0180E49DE00E9437
+:1003D000BEAD6AE380E49DE00E94BFAD1983CE010B
+:1003E00001960E943678BC0180E49DE00E94BEAD7B
+:1003F00003C084E89EE016DC60E973E080E49DE0E1
+:100400000E94BEAD43E060E080E49DE00E947E2853
+:100410006EE773E082E792E00E942EB6892B09F026
+:1004200074C06EE67AE085E59DE00E942EB6892BC9
+:10043000D1F0E5E5FDE0DF010D900020E9F7AD0129
+:100440004150510945555D4060E070E0CF010E9488
+:10045000FEB56EE67AE085E59DE00E9437B6109223
+:100460008B0D10928A0DEEE6FAE001900020E9F77C
+:10047000EF56FA40759708F445C000918A0D109127
+:100480008B0DC12CD12C80918A0D90918B0D9801F0
+:10049000281B390B2431310534F0019690938B0DD4
+:1004A00080938A0D38C0C114D104B9F7F801E35A1A
+:1004B000F54F7F019189602F681B43E0911115C0B2
+:1004C00080E49DE00E947E28D70150966C9180E4E4
+:1004D0009DE00E94BFAD10928B0D10928A0D00E03E
+:1004E00010E0CC24C394D12CCECF80E49DE00E94B8
+:1004F0007E28F701608980E49DE00E94BFAD0F5F18
+:100500001F4FC1CF65E57DE002C062E772E080E485
+:100510009DE00E94BEAD02E712E0D8018D918D01F1
+:1005200080322CF460E280E49DE00E94BFADB2E036
+:1005300006381B0791F78AE080932F0D80913F0DBD
+:1005400082FB882780F990912E0D992399F0909144
+:100550002D0D992339F0811119C010922D0D109293
+:100560002E0D14C0882391F00E941D6581E08093B8
+:100570002D0D0CC0882351F021E040E050E0BA017D
+:100580008CE692E70E9451650E94BC6A80915D02F0
+:1005900090915E022091350D3091360D8436910593
+:1005A00034F4820F931F853691054CF416C08436BF
+:1005B000910599F0820F931F8436910574F410927F
+:1005C000350D1092360D1092370D1092380D84E6CD
+:1005D00090E090935E0280935D0220915D023091E5
+:1005E0005E028091350D9091360D2436310569F407
+:1005F0008B3091051CF0865A9F4F09C0863FEFEF64
+:100600009E078CF482599F4F02C0820F931F9093D4
+:100610005E0280935D021092350D1092360D10929D
+:10062000370D1092380D80915D0290915E028A30F4
+:1006300091051CF48AE090E005C0883E934034F0B8
+:1006400087EE93E090935E0280935D0228960FB64A
+:10065000F894DEBF0FBECDBFDF91CF911F910F91F8
+:10066000FF90EF90DF90CF90BF90AF909F908F90D2
+:100670000895CF93DF93CFE2DEE0FE0184918823DB
+:1006800041F09091C00095FFFCCF8093C600319659
+:10069000F5CFE4E0F4E18491882341F09091C0002B
+:1006A00095FFFCCF8093C6003196F5CF8091C000B6
+:1006B00085FFFCCF8AE08093C600FE018491EFE2C3
+:1006C000FEE0882349F09091C00095FFFCCF809315
+:1006D000C60031968491F5CF4091A1135091A21399
+:1006E0006091A3137091A4138CEF93E10E949C3D41
+:1006F0004091A5135091A6136091A7137091A81370
+:1007000089EF93E10E949C3D4091A9135091AA1357
+:100710006091AB137091AC1386EF93E10E949C3D06
+:100720004091AD135091AE136091AF137091B0131F
+:1007300083EF93E10E949C3D8091C00085FFFCCF38
+:100740008AE08093C600FE018491EFE2FEE08823F8
+:1007500049F09091C00095FFFCCF8093C600319680
+:100760008491F5CFE9EDF3E18491882341F09091F4
+:10077000C00095FFFCCF8093C6003196F5CF8091E5
+:10078000C00085FFFCCF8AE08093C600FE01849103
+:10079000EFE2FEE0882349F09091C00095FFFCCF86
+:1007A0008093C60031968491F5CF4091B11350915A
+:1007B000B2136091B3137091B41380ED93E10E9472
+:1007C0009C3D4091B5135091B6136091B713709151
+:1007D000B8138DEC93E10E949C3D4091B913509168
+:1007E000BA136091BB137091BC138AEC93E10E9421
+:1007F0009C3D4091BD135091BE136091BF13709109
+:10080000C01387EC93E10E949C3D8091C00085FF5E
+:10081000FCCF8AE08093C600FE018491EFE2FEE007
+:10082000882349F09091C00095FFFCCF8093C600CB
+:1008300031968491F5CFE9EAF3E18491882341F080
+:100840009091C00095FFFCCF8093C6003196F5CF04
+:100850008091C00085FFFCCF8AE08093C600FE0136
+:100860008491EFE2FEE0882349F09091C00095FF6B
+:10087000FCCF8093C60031968491F5CF40919113BF
+:1008800050919213609193137091941380EA93E1C5
+:100890000E94AE3D4091951350919613609197132D
+:1008A000709198138DE993E10E94AE3D40919913A8
+:1008B00050919A1360919B1370919C138AE993E174
+:1008C0000E94AE3D40919D1350919E1360919F13E5
+:1008D0007091A01387E993E10E94AE3D8091C00022
+:1008E00085FFFCCF8AE08093C600FE018491EFE291
+:1008F000FEE0882349F09091C00095FFFCCF8093E3
+:10090000C60031968491F5CFE2E6F3E18491882325
+:1009100041F09091C00095FFFCCF8093C6003196C6
+:10092000F5CF8091C00085FFFCCF8AE08093C600A0
+:10093000FE018491EFE2FEE0882349F09091C0002F
+:1009400095FFFCCF8093C60031968491F5CF4091FE
+:10095000891350918A1360918B1370918C1389E5E0
+:1009600093E10E949C3D40918513509186136091C4
+:1009700087137091881386E593E10E949C3D8091D6
+:10098000C00085FFFCCF8AE08093C600FE01849101
+:10099000EFE2FEE0882349F09091C00095FFFCCF84
+:1009A0008093C60031968491F5CFE3EAF2E1849119
+:1009B000882341F09091C00095FFFCCF8093C60042
+:1009C0003196F5CF8091C00085FFFCCF8AE08093FF
+:1009D000C600FE018491EFE2FEE0882349F0909189
+:1009E000C00095FFFCCF8093C60031968491F5CF6F
+:1009F00040918D1350918E1360918F1370919013CD
+:100A00008AE992E10E949C3D4091751350917613C2
+:100A1000609177137091781387E992E10E949C3D71
+:100A20004091C1135091C2136091C3137091C413CC
+:100A300084E992E10E94AE3D40918113509182136E
+:100A4000609183137091841381E992E10E949C3D2F
+:100A500040917D1350917E1360917F1370918013AC
+:100A60008EE892E10E949C3D4091791350917A1357
+:100A700060917B1370917C138BE892E10E949C3D06
+:100A80008091C00085FFFCCF8AE08093C600FE0104
+:100A90008491EFE2FEE0882349F09091C00095FF39
+:100AA000FCCF8093C60031968491F5CFE9E7F2E15F
+:100AB0008491882341F09091C00095FFFCCF8093F2
+:100AC000C6003196F5CF8091C00085FFFCCF8AE04B
+:100AD0008093C600FE018491EFE2FEE0882349F096
+:100AE0009091C00095FFFCCF8093C6003196849111
+:100AF000F5CF4091380A5091390A60913A0A7091C5
+:100B00003B0A80E792E10E949C3D40913C0A509153
+:100B10003D0A60913E0A70913F0A8DE692E10E9483
+:100B20009C3D4091400A5091410A6091420A709167
+:100B3000430A8AE692E10E949C3D8091C00085FFB5
+:100B4000FCCF8AE08093C600FE018491EFE2FEE0D4
+:100B5000882349F09091C00095FFFCCF8093C60098
+:100B600031968491F5CFECE5F2E18491882341F050
+:100B70009091C00095FFFCCF8093C6003196F5CFD1
+:100B80008091C00085FFFCCF8AE08093C600FE0103
+:100B90008491EFE2FEE0882349F09091C00095FF38
+:100BA000FCCF8093C60031968491F5CF4091180216
+:100BB0005091190260911A0270911B0282E592E134
+:100BC0000E949C3D60911402709115028091160262
+:100BD000909117020E94BD27AB01BC018FE492E106
+:100BE0000E949C3D6091100270911102809112024E
+:100BF000909113020E94C927AB01BC018CE492E1E1
+:100C00000E949C3D8091C00085FFFCCF8AE08093CC
+:100C1000C600FE018491EFE2FEE0882349F0909146
+:100C2000C00095FFFCCF8093C60031968491F5CF2C
+:100C3000E8E1F2E18491882341F09091C00095FFB2
+:100C4000FCCF8093C6003196F5CF8091C00085FF20
+:100C5000FCCF8AE08093C600FE018491EFE2FEE0C3
+:100C6000882349F09091C00095FFFCCF8093C60087
+:100C700031968491F5CF40913302509134026091C6
+:100C80003502709136028EE092E10E949C3D20E098
+:100C900030E040E752E460912B0270912C02809189
+:100CA0002D0290912E020E9475B1AB01BC018BE028
+:100CB00092E10E949C3D4091280A5091290A60913E
+:100CC0002A0A70912B0A88E092E10E949C3D809153
+:100CD000C00085FFFCCF8AE08093C600FE018491AE
+:100CE000EFE2FEE0882349F09091C00095FFFCCF31
+:100CF0008093C60031968491F5CFECEDF1E18491BB
+:100D0000882341F09091C00095FFFCCF8093C600EE
+:100D10003196F5CF8091C00085FFFCCF8AE08093AB
+:100D2000C600FE018491EFE2FEE0882349F0909135
+:100D3000C00095FFFCCF8093C60031968491F5CF1B
+:100D40004091240A5091250A6091260A7091270A41
+:100D500082ED91E10E949C3D20E030E040E752E4CA
+:100D600060912702709128028091290290912A02B5
+:100D70000E9475B1AB01BC018FEC91E10E949C3DDA
+:100D80008091C00085FFFCCF8AE08093C600FE0101
+:100D90008491EFE2FEE0882349F09091C00095FF36
+:100DA000FCCF8093C60031968491F5CFE5E7F1E161
+:100DB0008491882341F09091C00095FFFCCF8093EF
+:100DC000C6003196F5CF8091C00085FFFCCF8AE048
+:100DD0008093C600FE018491EFE2FEE0882349F093
+:100DE0009091C00095FFFCCF8093C600319684910E
+:100DF000F5CF40912D0A50E060E070E08BE691E184
+:100E00000E94AE3D8091C00085FFFCCF8AE08093B8
+:100E1000C600FE018491EFE2FEE0882349F0909144
+:100E2000C00095FFFCCF8093C60031968491F5CF2A
+:100E30008091540A8823A1F1E8E5F1E184918823A7
+:100E400041F09091C00095FFFCCF8093C600319691
+:100E5000F5CF8091C00085FFFCCF8AE08093C6006B
+:100E6000FE01C491EFE2FEE0CC2349F08091C00086
+:100E700085FFFCCFC093C6003196C491F5CF409159
+:100E800053025091540260915502709156028EE4C3
+:100E900091E10E949C3D8091C00085FFFCCF11C074
+:100EA000E2E3F1E18491882341F09091C00095FF45
+:100EB000FCCF8093C6003196F5CF8091C00085FFAE
+:100EC000FCCF8AE08093C600DF91CF910895AF9266
+:100ED000BF92CF92DF92EF92FF920F931F93CF9327
+:100EE000DF93CDB7DEB7E0970FB6F894DEBF0FBE45
+:100EF000CDBF80E1EFEEF2E0DE01919601900D9220
+:100F00008A95E1F780E1EFEFF2E0DE015196019082
+:100F10000D928A95E1F780E1EFE0F3E0DE011196B2
+:100F200001900D928A95E1F76E0181E2C80ED11C05
+:100F300081EAE82E83E1F82E8E010F5E1F4F61EBF0
+:100F400073E1AE014F5F5F4F91E9A92E93E1B92E96
+:100F500020E030E0F60181919191A191B1916F0172
+:100F6000F70181939193A193B1937F01F80181914E
+:100F70009191A191B1918F01FB0181939193A193E3
+:100F8000B193BF01FA0181919191A191B191AF010A
+:100F9000F50181939193A193B1935F012F5F3F4F2F
+:100FA00024303105B9F60E9410A580E090E8ABE34B
+:100FB000B5E48093891390938A13A0938B13B09315
+:100FC0008C138093851390938613A0938713B0930B
+:100FD000881310928D1310928E1310928F1310920B
+:100FE000901380E29EE4A0E0B0E08093C113909360
+:100FF000C213A093C313B093C4131092751310922D
+:101000007613109277131092781380E090E0A0EAA4
+:10101000B1E48093811390938213A0938313B093D0
+:1010200084138DEC9CECACECBEE380937D13909329
+:101030007E13A0937F13B093801380E090E0A0EA2A
+:10104000B0E48093791390937A13A0937B13B093B9
+:101050007C131092400A1092410A1092420A109298
+:10106000430A10923C0A10923D0A10923E0A1092D6
+:101070003F0A1092380A1092390A10923A0A1092D6
+:101080003B0A8CED90E09093980D8093970D82E34E
+:1010900090E09093960D8093950D8FEF90E0909354
+:1010A000940D8093930D2DE131E03093920D2093B8
+:1010B000910D24E630E03093900D20938F0D9093A6
+:1010C0008E0D80938D0D83E393E3ABE4B1E48093C5
+:1010D000180290931902A0931A02B0931B026FE1B9
+:1010E00075E88BE89FE30E94B72760931402709322
+:1010F000150280931602909317026AE979E985E157
+:1011000092E40E94C32760931002709311028093AF
+:101110001202909313020E94251E80E090E0A0E846
+:10112000BFE380930C0290930D02A0930E02B09344
+:101130000F0210922D0A80E090E0A0E4B0E48093CA
+:10114000330290933402A0933502B093360240E00C
+:1011500050E064E372E440932B0250932C026093BE
+:101160002D0270932E021092280A1092290A1092D2
+:101170002A0A10922B0A1092240A1092250A109221
+:10118000260A1092270A40E050E060E071E44093A4
+:101190002702509328026093290270932A0210922A
+:1011A000540A8093530290935402A0935502B09333
+:1011B00056020E94A74AEFE2FEE08491882341F0A4
+:1011C0009091C00095FFFCCF8093C6003196F5CF7B
+:1011D000E0E1F1E18491882341F09091C00095FF16
+:1011E000FCCF8093C6003196F5CF8091C00085FF7B
+:1011F000FCCF8AE08093C600E0960FB6F894DEBF7D
+:101200000FBECDBFDF91CF911F910F91FF90EF9057
+:10121000DF90CF90BF90AF9008951F920F920FB6BE
+:101220000F9211240BB60F922F933F934F935F931E
+:101230006F938F939F93EF93FF936091C6002091DC
+:101240001D0E30911E0EC90101968F77992740918E
+:101250001F0E5091200E8417950741F0F901E356B7
+:10126000F24F608390931E0E80931D0EFF91EF91BD
+:101270009F918F916F915F914F913F912F910F901F
+:101280000BBE0F900FBE0F901F9018959A01AB01E7
+:10129000211581EE38074105510549F182E080931F
+:1012A000C00060E079E08DE390E00E94A0B22150A0
+:1012B000310941095109CA01B90122E030E040E099
+:1012C00050E00E94A0B23093C5002093C4008091EA
+:1012D000C10080618093C1008091C10088608093CB
+:1012E000C1008091C10080688093C1000895109270
+:1012F000C00020E130E0E7CF20911F0E3091200E9A
+:1013000080911D0E90911E0E8217930771F0F901C6
+:10131000E356F24F80812F5F3F4F2F773327309373
+:10132000200E20931F0E90E008958FEF9FEF0895F9
+:1013300080911F0E9091200E90931E0E80931D0E93
+:1013400008954F925F926F927F928F929F92AF9289
+:10135000BF92CF92DF92EF92FF920F931F93CF93A2
+:10136000DF93CDB7DEB7A0970FB6F894DEBF0FBE00
+:10137000CDBF5C014115510561057105E9F420E01F
+:1013800030E040E350E060E070E0A0960FB6F894E3
+:10139000DEBF0FBECDBFDF91CF911F910F91FF90A8
+:1013A000EF90DF90CF90BF90AF909F908F907F9005
+:1013B0006F905F904F905BC08E010F5F1F4FC12CED
+:1013C000D12C76014801422E512C612C712C8FEFCB
+:1013D000C81AD80AE80AF80ACB01BA01A301920197
+:1013E0000E947EB2CA01F80161938F01A901BC017C
+:1013F000411551056105710551F7F1E0CF1AD1088A
+:10140000E108F108F401EC0DFD1D80818A3010F433
+:1014100040E301C047E3480F552747FD5095652F2E
+:10142000752F20E030E0C50122D081E0C81AD10834
+:10143000E108F108EFEFCE16DE06EE06FE0611F724
+:10144000A0960FB6F894DEBF0FBECDBFDF91CF914F
+:101450001F910F91FF90EF90DF90CF90BF90AF90D2
+:101460009F908F907F906F905F904F90089521157F
+:10147000310539F48091C00085FFFCCF4093C60050
+:1014800008952A30310509F41CC05BCFCF93DF9358
+:10149000EC0120E030E04DE050E060E070E0E7DF9C
+:1014A00020E030E04AE050E060E070E0CE01DF9103
+:1014B000CF91DDCF9A01AB01662757FD6095762F5E
+:1014C000D6CFCF92DF92EF92FF92CF93DF93EC01D2
+:1014D0006A017B0177FF0FC020E030E04DE250E071
+:1014E00060E070E0C4DFF094E094D094C094C11C3C
+:1014F000D11CE11CF11C2AE0B701A601CE01DF914D
+:10150000CF91FF90EF90DF90CF901BCF2115310549
+:1015100039F48091C00085FFFCCF4093C600089548
+:1015200010CF9A01462F50E060E070E0EFCFCF93EC
+:10153000DF93EC019A01AB0160E070E0E7DFCE01E0
+:10154000DF91CF91A3CF8F929F92AF92BF92CF9214
+:10155000DF92EF92FF921F93CF93DF93EC016A012A
+:101560007B01122F20E030E0A901C701B6010E94E3
+:10157000A0AE87FF0CC020E030E04DE250E060E01C
+:1015800070E0CE0174DFF7FAF094F7F8F094B12C24
+:1015900060E070E080E09FE3B11641F020E030E0D1
+:1015A00040E251E40E94A7AEB394F6CF9B01AC0198
+:1015B000C701B6010E94C7AD6B017C010E9414AF48
+:1015C0004B015C010E9440AF9B01AC01C701B60119
+:1015D0000E94C6AD6B017C012AE0B501A401CE01D9
+:1015E000B0DE112361F0EFE5F3E08191882339F05B
+:1015F0009091C00095FFFCCF8093C600F6CF1123D9
+:1016000019F120E030E040E251E4C701B6010E9448
+:1016100075B16B017C010E940FAF4B01AA2497FCAE
+:10162000A094BA2CB501A401CE014BDFC501B401D1
+:101630000E9442AF9B01AC01C701B6010E94C6AD3A
+:101640006B017C011150DBCFDF91CF911F91FF9097
+:10165000EF90DF90CF90BF90AF909F908F900895C4
+:1016600072CFCF93DF931F92CDB7DEB7698341E08E
+:1016700050E0BE016F5F7F4F04960E9481160F906D
+:10168000DF91CF910895FB0101900020E9F7AF01B0
+:1016900041505109461B570B04960C9481168091BA
+:1016A000390E811109C08091380E811105C08091D9
+:1016B000370E811101C00895EFE2FEE08491882386
+:1016C00041F09091C00095FFFCCF8093C600319609
+:1016D000F5CFEFE6F4E18491882341F09091C000CA
+:1016E00095FFFCCF8093C6003196F5CF8091390EDF
+:1016F0008823F1F060913A0E70913B0E80913C0E80
+:1017000090913D0E0E9442AF2091A1133091A213FF
+:101710004091A3135091A4130E94A7AEAB01BC014A
+:101720008BE694E10E949C3D8BE594E10E9400765B
+:101730008091380E8823F1F060913E0E70913F0E3B
+:101740008091400E9091410E0E9442AF2091A513CE
+:101750003091A6134091A7135091A8130E94A7AEF1
+:10176000AB01BC0187E594E10E949C3D87E494E1D4
+:101770000E9400768091370E8823F1F06091420E2E
+:101780007091430E8091440E9091450E0E9442AF9D
+:101790002091A9133091AA134091AB135091AC132F
+:1017A0000E94A7AEAB01BC0183E494E10E949C3D82
+:1017B00083E394E10E9400768091C00085FFFCCF16
+:1017C0008AE08093C6001092390E1092380E109263
+:1017D000370E08951092390E1092380E1092370E6F
+:1017E000089580939B020895EFE6F0E08081826087
+:1017F000808308951F920F920FB60F9211240BB69B
+:101800000F920F931F932F933F934F935F936F9379
+:101810007F938F939F93AF93BF93EF93FF938091A9
+:101820006A0E90916B0E892B09F084C190916D0E18
+:1018300080916C0E981771F0E0916C0E8DE4E89F2A
+:10184000F0011124E259F14FDF01A45BBF4F81E0A9
+:101850008C9302C0E0E0F0E0F0936B0EE0936A0E30
+:10186000309709F461C1DF01A45BBF4F81E08C9325
+:1018700010924D0E10924E0E10924F0E1092500E6E
+:1018800060AD71AD61349CE9790728F461329EE462
+:10189000790748F002C060E47CE976956795769513
+:1018A000679584E007C0613197E2790730F076955B
+:1018B000679582E080934A0E07C080934A0E60329B
+:1018C000710510F460E270E060527109611588E002
+:1018D0007807D0F0872F9927880F991F880F991FB5
+:1018E0008258974EFC01329645915491AA27659FE4
+:1018F0009001649F210D3A1F06942A1F3A1F11245C
+:10190000FC01859194911DC0CB01969587958C7FA4
+:1019100082589B4EFC01459154910296FC018591A1
+:101920009491FB01E770FF278E9F90018F9F300DF0
+:101930009E9F300D1124E3E036952795EA95E1F757
+:10194000CA01821B930B8436910598F4EEEBF5E007
+:101950008191882339F09091C00095FFFCCF80934E
+:10196000C600F6CF4AE050E08CE99DE0E0DD84E679
+:1019700090E09093490E8093480E80914A0E9927EB
+:1019800087FD90959093470E8093460EE0916A0EE6
+:10199000F0916B0E64AD75AD70934C0E60934B0E71
+:1019A00061349CE9790728F461328EE4780748F0C5
+:1019B00002C060E47CE9769567957695679584E04A
+:1019C00007C0613197E2790730F07695679582E03C
+:1019D00080934A0E08C081E080934A0E6032710500
+:1019E00010F460E270E060527109611588E07807D8
+:1019F000E0F0872F9927880F991F880F991F825829
+:101A0000974EFC01329625913491AA27639FA0013D
+:101A1000629F410D5A1F06944A1F5A1F1124FC0150
+:101A200025913491241B350B1EC0CB0196958795CB
+:101A30008C7F82589B4EFC01259134910296FC01CB
+:101A400045915491FB01E770FF274E9FC0014F9FC6
+:101A5000900D5E9F900D1124F3E096958795FA9571
+:101A6000E1F7281B390B2436310598F4EEEBF5E04D
+:101A70008191882339F09091C00095FFFCCF80932D
+:101A8000C600F6CF4AE050E08CE99DE050DD24E648
+:101A900030E0C901A0E0B0E08093510E9093520E67
+:101AA000A093530EB093540E309389002093880076
+:101AB000E0916A0EF0916B0E80899189A289B389B9
+:101AC000B695A79597958795B095A0959095819592
+:101AD0009F4FAF4FBF4F8093650E9093660EA093BC
+:101AE000670EB093680E8093610E9093620EA09380
+:101AF000630EB093640E80935D0E90935E0EA09380
+:101B00005F0EB093600E8093590E90935A0EA0937F
+:101B10005B0EB0935C0E1092550E1092560E109202
+:101B2000570E1092580E06C080ED97E090938900F2
+:101B300080938800E0916A0EF0916B0E309709F463
+:101B400087C580A18093690E9FB780FF09C0F89474
+:101B500080910B018D7F80930B019FBF8FEF08C099
+:101B6000F89480910B01826080930B019FBF81E00C
+:101B7000809397028091690E9FB781FF09C0F89406
+:101B800080910B018E7F80930B019FBF8FEF08C068
+:101B9000F89480910B01816080930B019FBF81E0DD
+:101BA000809398022091690E30919B0220FF3BC0E8
+:101BB000332309F472C01E9902C080E031C08091C5
+:101BC000360E882361F1E0916A0EF0916B0E8081F0
+:101BD0009181A281B381181619061A061B06FCF41E
+:101BE0008091210E9091220EA091230EB091240E8F
+:101BF00080933A0E90933B0EA0933C0EB0933D0E13
+:101C000081E08093390E80899189A289B38980937C
+:101C1000550E9093560EA093570EB093580E81E038
+:101C20008093360E3AC03323C1F140B151E042FBFC
+:101C3000442740F9452779F18091350E882359F1E1
+:101C4000E0916A0EF0916B0E80819181A281B38147
+:101C5000181619061A061B06F4F48091210E9091AD
+:101C6000220EA091230EB091240E80933A0E9093F1
+:101C70003B0EA0933C0EB0933D0E5093390E8089DD
+:101C80009189A289B3898093550E9093560EA093A3
+:101C9000570EB093580E4093350E21FF3BC03323AF
+:101CA00009F471C01D9902C080E031C08091340EEA
+:101CB000882361F1E0916A0EF0916B0E8481958129
+:101CC000A681B781181619061A061B06FCF4809126
+:101CD000250E9091260EA091270EB091280E80938C
+:101CE0003E0E90933F0EA093400EB093410E81E0C4
+:101CF0008093380E80899189A289B3898093550E8B
+:101D00009093560EA093570EB093580E81E0809397
+:101D1000340E39C03323B9F130B141E0369531701A
+:101D2000342779F18091330E882359F1E0916A0EBE
+:101D3000F0916B0E84819581A681B78118161906E2
+:101D40001A061B06F4F48091250E9091260EA091A0
+:101D5000270EB091280E80933E0E90933F0EA093D5
+:101D6000400EB093410E4093380E80899189A2892C
+:101D7000B3898093550E9093560EA093570EB0934F
+:101D8000580E3093330E9FB722FF47C0F8948091CE
+:101D90000B018B7F80930B019FBF8FEF8093990284
+:101DA00080919B02882309F47DC01C9902C080E0C9
+:101DB00031C08091320E882361F1E0916A0EF0917A
+:101DC0006B0E80859185A285B385181619061A06B3
+:101DD0001B06FCF48091290E90912A0EA0912B0EE7
+:101DE000B0912C0E8093420E9093430EA093440E1C
+:101DF000B093450E81E08093370E80899189A28946
+:101E0000B3898093550E9093560EA093570EB093BE
+:101E1000580E81E08093320E45C0F89480910B01FA
+:101E2000846080930B019FBF31E0309399028091D1
+:101E30009B028823B9F126B12095221F2227221F59
+:101E400079F18091310E882359F1E0916A0EF09179
+:101E50006B0E80859185A285B385181619061A0622
+:101E60001B06F4F48091290E90912A0EA0912B0E5E
+:101E7000B0912C0E8093420E9093430EA093440E8B
+:101E8000B093450E3093370E80899189A289B3892A
+:101E90008093550E9093560EA093570EB093580E04
+:101EA0002093310E8091690E9FB783FF09C0F8948B
+:101EB00080910B01806480930B019FBF8FEF08C05E
+:101EC000F89480910B018F7B80930B019FBF81E081
+:101ED00080939A0220E080914A0E28170CF0ADC141
+:101EE0008091C00087FF19C03091C60040911D0E3F
+:101EF00050911E0ECA0101968F77992760911F0E8F
+:101F00007091200E8617970741F0FA01E356F24FC1
+:101F1000308390931E0E80931D0EE0916A0EF09117
+:101F20006B0E8091650E9091660EA091670EB09138
+:101F3000680E4081518162817381840F951FA61FB5
+:101F4000B71F8093650E9093660EA093670EB093B3
+:101F5000680E181619061A061B06CCF5409AE09171
+:101F60006A0EF0916B0E8091650E9091660EA091B5
+:101F7000670EB091680E4089518962897389841B0C
+:101F8000950BA60BB70B8093650E9093660EA093EE
+:101F9000670EB093680E409197028091210E909148
+:101FA000220EA091230EB091240E552747FD509587
+:101FB000652F752F840F951FA61FB71F8093210EC5
+:101FC0009093220EA093230EB093240E4098E0919C
+:101FD0006A0EF0916B0E8091610E9091620EA0914D
+:101FE000630EB091640E4481558166817781840FC0
+:101FF000951FA61FB71F8093610E9093620EA0934A
+:10200000630EB093640E181619061A061B06CCF55B
+:10201000419AE0916A0EF0916B0E8091610E909161
+:10202000620EA091630EB091640E4089518962895D
+:102030007389841B950BA60BB70B8093610E90934D
+:10204000620EA093630EB093640E4091980280914B
+:10205000250E9091260EA091270EB091280E55279F
+:1020600047FD5095652F752F840F951FA61FB71F2D
+:102070008093250E9093260EA093270EB093280EE2
+:102080004198E0916A0EF0916B0E80915D0E9091F7
+:102090005E0EA0915F0EB091600E40855185628505
+:1020A0007385840F951FA61FB71F80935D0E9093B5
+:1020B0005E0EA0935F0EB093600E181619061A06F6
+:1020C0001B06CCF5429AE0916A0EF0916B0E80915E
+:1020D0005D0E90915E0EA0915F0EB091600E4089F2
+:1020E000518962897389841B950BA60BB70B80936A
+:1020F0005D0E90935E0EA0935F0EB093600E4091C4
+:1021000099028091290E90912A0EA0912B0EB091E8
+:102110002C0E552747FD5095652F752F840F951F61
+:10212000A61FB71F8093290E90932A0EA0932B0E03
+:10213000B0932C0E4298E0916A0EF0916B0E809154
+:10214000590E90915A0EA0915B0EB0915C0E448591
+:10215000558566857785840F951FA61FB71F8093C9
+:10216000590E90935A0EA0935B0EB0935C0E181606
+:1021700019061A061B06CCF5439AE0916A0EF091F7
+:102180006B0E8091590E90915A0EA0915B0EB091FA
+:102190005C0E4089518962897389841B950BA60B5B
+:1021A000B70B8093590E90935A0EA0935B0EB09389
+:1021B0005C0E40919A0280912D0E90912E0EA0916E
+:1021C0002F0EB091300E552747FD5095652F752F76
+:1021D000840F951FA61FB71F80932D0E90932E0E70
+:1021E000A0932F0EB093300E43988091550E90918E
+:1021F000560EA091570EB091580E0196A11DB11D1B
+:102200008093550E9093560EA093570EB093580E90
+:102210004091550E5091560E6091570E7091580E88
+:10222000E0916A0EF0916B0E80899189A289B38941
+:10223000481759076A077B07B0F04091550E509137
+:10224000560E6091570E7091580EE0916A0EF09103
+:102250006B0E84899589A689B78984179507A60787
+:10226000B70718F4D9C02F5F36CE4091510E509168
+:10227000520E6091530E7091540E048D158D268D63
+:10228000378DAA27419FB12D529FC001629F900DAB
+:10229000619F800D911D429FB00D811D9A1F519F1E
+:1022A000B00D811D9A1F609FB00D811D9A1F509F18
+:1022B000B10D8A1F9A1FB6958A1F9A1F112444AD2B
+:1022C00055AD480F591F50934C0E40934B0E80ADA7
+:1022D00091ADA2ADB3AD60E070E084179507A6079D
+:1022E000B70720F490934C0E80934B0E60914B0EE9
+:1022F00070914C0E61349CE9790728F461328EE4C8
+:10230000780748F002C060E47CE976956795769599
+:10231000679584E007C0613197E2790730F07695E0
+:10232000679582E080934A0E08C081E080934A0E50
+:102330006032710510F460E270E06052710961155D
+:1023400088E07807E0F0872F9927880F991F880F7A
+:10235000991F8258974EFC01329625913491AA27F5
+:10236000639FA001629F410D5A1F06944A1F5A1F86
+:102370001124FC0125913491241B350B1EC0CB0187
+:10238000969587958C7F82589B4EFC0125913491C0
+:102390000296FC0145915491FB01E770FF274E9F87
+:1023A000C0014F9F900D5E9F900D112413E09695F4
+:1023B00087951A95E1F7281B390B2436310598F4D7
+:1023C000EEEBF5E08191882339F09091C00095FF04
+:1023D000FCCF8093C600F6CF4AE050E08CE99DE048
+:1023E000A6D824E630E030938900209388008091BD
+:1023F000510E9091520EA091530EB091540E820F37
+:10240000931FA11DB11D8093510E9093520EA09366
+:10241000530EB093540EF7C04091550E5091560E86
+:102420006091570E7091580E808D918DA28DB38D55
+:1024300084179507A607B70708F0D9C040914D0E3D
+:1024400050914E0E60914F0E7091500E048D158D6F
+:10245000268D378DAA27419FB12D529FC001629FC3
+:10246000900D619F800D911D429FB00D811D9A1F9F
+:10247000519FB00D811D9A1F609FB00D811D9A1F45
+:10248000509FB10D8A1F9A1FB6958A1F9A1F11245B
+:1024900020914B0E30914C0EE05CFF4F281739070E
+:1024A00018F42081318102C0281B390B8081918171
+:1024B000A281B381A90160E070E0481759076A075B
+:1024C0007B0708F49C0121349CE9390728F4213268
+:1024D0008EE4380748F002C020E43CE936952795A1
+:1024E0003695279584E007C0213197E2390730F00F
+:1024F0003695279582E080934A0E08C081E080934C
+:102500004A0E2032310510F420E230E0B901605269
+:102510007109611588E07807E0F0872F9927880F07
+:10252000991F880F991F8258974EFC01329625916A
+:102530003491AA27639FA001629F410D5A1F069400
+:102540004A1F5A1F1124FC0125913491241B350B7D
+:102550001EC0CB01969587958C7F82589B4EFC01BF
+:10256000259134910296FC0145915491FB01E7704D
+:10257000FF274E9FC0014F9F900D5E9F900D11242D
+:1025800043E0969587954A95E1F7281B390B243649
+:102590003105A0F4EEEBF5E08191882339F09091BC
+:1025A000C00095FFFCCF8093C600F6CF4AE050E014
+:1025B0008CE99DE00E94978A24E630E03093890000
+:1025C0002093880080914D0E90914E0EA0914F0E59
+:1025D000B091500E820F931FA11DB11D80934D0E1F
+:1025E00090934E0EA0934F0EB093500E0CC080915E
+:1025F000480E9091490E90938900809388008091B5
+:10260000460E80934A0E4091550E5091560E6091A1
+:10261000570E7091580EE0916A0EF0916B0E808902
+:102620009189A289B389481759076A077B0780F007
+:1026300010926B0E10926A0E90916D0E80916C0E3E
+:10264000981731F080916C0E8F5F8F7080936C0EB5
+:10265000FF91EF91BF91AF919F918F917F916F917A
+:102660005F914F913F912F911F910F910F900BBE52
+:102670000F900FBE0F901F90189590916D0E809146
+:102680006C0E981741F00E94721E80E00E9438493B
+:102690000E949C76F2CF0895CF93DF93EFB7F89422
+:1026A000EC0188819981AA81BB818093210E90934E
+:1026B000220EA093230EB093240EEB018881998102
+:1026C000AA81BB818093250E9093260EA093270E9E
+:1026D000B093280EEA0188819981AA81BB818093F9
+:1026E000290E90932A0EA0932B0EB0932C0EE90185
+:1026F00088819981AA81BB8180932D0E90932E0EA3
+:10270000A0932F0EB093300EEFBFDF91CF910895BD
+:102710002FB7F894FC0180819181A281B3818093CD
+:102720002D0E90932E0EA0932F0EB093300E2FBF30
+:1027300008952FB7F89494E0899FF0011124EF5D7C
+:10274000F14F60817181828193812FBF089595DF60
+:10275000179A1092350A169A1092360A159A109204
+:10276000370A149A089580916F008D7F80936F00CF
+:1027700090916D0E80916C0E981769F090916D0E8E
+:1027800080916C0E9817A1F380916C0E8F5F8F7003
+:1027900080936C0EEDCF10926B0E10926A0E8091AA
+:1027A0006F00826080936F000895813039F120F0CE
+:1027B000823009F445C0089517988091090182700C
+:1027C0002FB7662329F0F89490910B01926004C012
+:1027D000F89490910B019D7F90930B012FBF409A2D
+:1027E00040989FB7882329F0F89480910B0182606C
+:1027F00048C0F89480910B018D7F43C0169880915A
+:10280000090181702FB7662329F0F89490910B018C
+:10281000916004C0F89490910B019E7F90930B01FE
+:102820002FBF419A41989FB7882329F0F89480914F
+:102830000B01816026C0F89480910B018E7F21C02E
+:1028400015988091090184702FB7662329F0F894B8
+:1028500090910B01946004C0F89490910B019B7FC0
+:1028600090930B012FBF429A42989FB7882329F07B
+:10287000F89480910B01846004C0F89480910B015E
+:102880008B7F80930B019FBF0895DB0181110DC0E9
+:102890002FEF30E00E94C2B220ED37E040E050E080
+:1028A0000E94A0B2B9018CE21DC0813069F42FEF03
+:1028B00030E00E94C2B220ED37E040E050E00E94DC
+:1028C000A0B2B9018DE20EC0823071F42FEF30E07A
+:1028D0000E94C2B220ED37E040E050E00E94A0B27A
+:1028E000B9018EE20C9447A7089561E08CE20E9442
+:1028F00051A861E08DE20E9451A861E08EE20E9441
+:1029000051A860919C0270919D0280E0BEDF6091B1
+:102910009E0270919F0281E0B8DFA091A002B09169
+:10292000A1022FEF30E00E94C2B220ED37E040E07C
+:1029300050E00E94A0B2B9018EE20E9447A7E1E2F6
+:10294000F1E08081887F816080830895CF93C42FD8
+:1029500067FD20C0813061F028F0823079F083304B
+:1029600099F018C088E20E948AA8C7FF1DC02AC03B
+:1029700085E40E948AA8C7FF1AC024C084E40E948C
+:102980008AA8C7FF17C01EC081E40E948AA8C7FF9B
+:1029900014C018C0C7FD16C0813049F028F082303D
+:1029A00049F0833051F00EC06C2F89E208C06C2FC3
+:1029B00087E205C06C2F83E402C06C2F82E4CF91C4
+:1029C0000C948AA8CF910895643079F028F461308E
+:1029D00041F0623041F00895683051F0603141F0CB
+:1029E000089540E003C040E004C041E060E002C060
+:1029F00041E061E0ABCFFF920F931F93CF93DF9342
+:102A000000D01F921F92CDB7DEB785E0EFE1F3E073
+:102A1000DE01119601900D928A95E1F761E088E25E
+:102A20000E9451A861E089E20E9451A861E085E41A
+:102A30000E9451A861E087E20E9451A861E084E40D
+:102A40000E9451A861E083E40E9451A861E081E402
+:102A50000E9451A861E082E40E9451A88E010F5F9C
+:102A60001F4FF12CF80161918F018F2DADDFF39491
+:102A7000F5E0FF12F7CF0F900F900F900F900F908F
+:102A8000DF91CF911F910F91FF9008952EDFB3DF5B
+:102A9000EAE0F1E0808182608083808181608083D0
+:102AA0008081846080838081806480830F9A179AFC
+:102AB0000E9A169A0D9A159A0C9A149A26982E9A8E
+:102AC00025982D9A24982C9A0A98129A0998119A66
+:102AD0003F98479A389A4098179A1092350A399A2F
+:102AE0004198169A1092360A3A9A4298159A10927C
+:102AF000370A3B9A4398149AA1E8B0E08C918F7EF4
+:102B00008C938C9188608C93E0E8F0E080818D7FDD
+:102B1000808380818E7F808380818F73808380819A
+:102B20008F7C80838C91887F82608C9380E090E49E
+:102B30009093890080938800109285001092840001
+:102B4000EFE6F0E080818260808381E080939B02E9
+:102B500078940895E5E2F4E18491882341F090911E
+:102B6000C00095FFFCCF8093C6003196F5CFE1E21F
+:102B7000F4E18491882341F09091C00095FFFCCF4F
+:102B80008093C6003196F5CF88E20E94BFA84AE044
+:102B900050E0BC018CE99DE00E945A8A89E20E94C3
+:102BA000BFA84AE050E0BC018CE99DE00E945A8A2F
+:102BB0008091C00085FFFCCF8AE08093C600EDE1E4
+:102BC000F4E18491882341F09091C00095FFFCCFFF
+:102BD0008093C6003196F5CF85E40E94BFA84AE0F5
+:102BE00050E0BC018CE99DE00E945A8A87E20E9475
+:102BF000BFA84AE050E0BC018CE99DE00E945A8ADF
+:102C00008091C00085FFFCCF8AE08093C600E9E197
+:102C1000F4E18491882341F09091C00095FFFCCFAE
+:102C20008093C6003196F5CF84E40E94BFA84AE0A5
+:102C300050E0BC018CE99DE00E945A8A83E40E9426
+:102C4000BFA84AE050E0BC018CE99DE00E945A8A8E
+:102C50008091C00085FFFCCF8AE08093C600E4E14C
+:102C6000F4E18491882341F09091C00095FFFCCF5E
+:102C70008093C6003196F5CF81E40E94BFA84AE058
+:102C800050E0BC018CE99DE00E945A8A82E40E94D7
+:102C9000BFA84AE050E0BC018CE99DE00E945A8A3E
+:102CA0008091C00085FFFCCF8AE08093C600089524
+:102CB000CF93DF931F92CDB7DEB72091B714309139
+:102CC000B814CE0101962115310519F0821B930B22
+:102CD00002C08D5B94410F90DF91CF9108952F92A8
+:102CE0003F924F925F926F927F928F929F92AF929C
+:102CF000BF92CF92DF92EF92FF920F931F93CF93E9
+:102D0000DF93CDB7DEB768970FB6F894DEBF0FBE7E
+:102D1000CDBF1C012A013B0148015901DC01D896B5
+:102D20006D917D918D919C91DB970E9440AF6B01DD
+:102D30007C01A30192010E9475B10E948DAE0E9498
+:102D400014AF69877A878B879C87A5019401C70197
+:102D5000B6010E9475B10E948DAE0E9414AF6D87BE
+:102D60007E878F87988B29853A854B855C852837A8
+:102D700031054105510540F488E790E0A0E0B0E05E
+:102D800089879A87AB87BC872D853E854F85588973
+:102D9000283731054105510540F488E790E0A0E06F
+:102DA000B0E08D879E87AF87B88B91012C5B3F4F3A
+:102DB000D9018D919D910D90BC91A02D8D839E8305
+:102DC000AF83B887BC01CD010E9442AF69837A838B
+:102DD0008B839C8369857A858B859C850E9440AF17
+:102DE000698B7A8B8B8B9C8B20E030E0A901698109
+:102DF0007A818B819C810E94A0AE882339F1A70142
+:102E00009601C701B6010E9475B14B015C01298989
+:102E10003A894B895C89CA01B9010E9475B19B014D
+:102E2000AC01C501B4010E94C6AD4B015C01298112
+:102E30003A814B815C81CA01B9010E94C7AD9B01F7
+:102E4000AC01C501B4010E94A7AE03C060E070E010
+:102E5000CB010E948DAE0E940FAF2B013C016D8112
+:102E60007E818F81988590958095709561957F4F33
+:102E70008F4F9F4F0E9442AF4B015C016D857E8555
+:102E80008F8598890E9440AF6D837E838F8398875A
+:102E900020E030E0A901C501B4010E94A0AE882362
+:102EA00049F12D813E814F815885CA01B9010E94A7
+:102EB00075B16D8B7E8B8F8B988FA7019601C701A3
+:102EC000B6010E9475B19B01AC016D897E898F8925
+:102ED000988D0E94C6AD6B017C01A5019401C501CE
+:102EE000B4010E94C7AD9B01AC01C701B6010E94AD
+:102EF000A7AE03C060E070E0CB010E947DAFF1019E
+:102F000080889188A288B38875016401C418D508A7
+:102F1000E608F7080E940FAFC61AD70AE80AF90AAE
+:102F2000F7FE6BC020E030E0A90169817A818B81D6
+:102F30009C810E94A0AE882309F447C029813A8170
+:102F40004B815C81CA01B9010E94C7AD6B017C0154
+:102F5000C501B4010E9440AF9B01AC01C701B6019D
+:102F60000E9475B16B017C0129893A894B895C8982
+:102F7000CA01B9010E9475B19B01AC01C701B6013C
+:102F80000E94C6AD6B017C012D813E814F81588529
+:102F9000CA01B9010E9475B19B01AC01C701B6011C
+:102FA0000E94C7AD6B017C0120E030E040E850E4B6
+:102FB00069817A818B819C810E9475B19B01AC01F2
+:102FC000C701B6010E94A7AE03C060E070E0CB016C
+:102FD0000E948DAE0E940FAF2B013C0197FF03C0F2
+:102FE000412C512C3201481459046A047B0410F01E
+:102FF00024013501C12CD12C76018FB7F894F10151
+:10300000E45BFF4F9081911125C0D10154964D9200
+:103010005D926D927C925797C40CD51CE61CF71CF0
+:10302000F101C08ED18EE28EF38E29853A854B85D3
+:103030005C85DC962D933D934D935C93DF97A05C6C
+:10304000BF4F2D853E854F8558892D933D934D93D8
+:103050005C9313978FBF68960FB6F894DEBF0FBED0
+:10306000CDBFDF91CF911F910F91FF90EF90DF9037
+:10307000CF90BF90AF909F908F907F906F905F9018
+:103080004F903F902F9008954F925F926F927F9252
+:10309000AF92BF92CF92DF92EF92FF920F931F9366
+:1030A000CF93DF93EB017A01209709F458C04115C3
+:1030B000510509F454C0AAA4BBA40CA51DA59501F3
+:1030C000A8016EA17FA188A599A50E94A0AE882322
+:1030D00009F445C08FA981113AC0F70146A057A055
+:1030E00060A471A4A3019201B501C8010E94A3B01C
+:1030F00018166CF5A3019201C301B2010E9475B1CB
+:103100006B017C018AA99BA9ACA9BDA9BC01CD0119
+:1031100090589B01AC010E94C7AD2EA53FA548A9C0
+:1031200059A90E9475B19B01AC01C701B6010E946B
+:10313000C6AD0E94E2B16B017C019B01AC01B501FF
+:10314000C8010E94A0AE87FD02C056018701A501FB
+:10315000B8014EA35FA368A779A781E08EABDF918A
+:10316000CF911F910F91FF90EF90DF90CF90BF9084
+:10317000AF907F906F905F904F900895DF92EF92A5
+:10318000FF920F931F93CF93DF9380916D0E8FB7B4
+:10319000F894E0906C0E8FBF80916D0E90E08E19C8
+:1031A00091098F7099270497F4F010916D0E1350C8
+:1031B0001F7040E050E000E0F12C8DE4D82E1E1589
+:1031C00091F0111101C010E11150D19EE0011124C4
+:1031D000C259D14F602F7F2DCE0156DF402F5F2D7A
+:1031E0000C2FFD2EECCFDF91CF911F910F91FF900F
+:1031F000EF90DF9008954F925F926F927F92AF921F
+:10320000BF92CF92DF92EF92FF920F931F93CF93D3
+:10321000DF938C01EB01009709F453C0FC0187A9EF
+:1032200081114FC046A057A060A471A4AEA0BFA05A
+:10323000C8A4D9A49501A601C301B2010E94A0AE01
+:1032400087FF3FC0A3019201C301B2010E9475B183
+:103250002B013C01F80182A993A9A4A9B5A9BC013D
+:10326000CD0190589B01AC010E94C7ADF80126A585
+:1032700037A540A951A90E9475B19B01AC01C301BA
+:10328000B2010E94C6AD0E94E2B17B018C019B019C
+:10329000AC01B501C6010E94A0AE87FF02C0750156
+:1032A00086019701A801B501C6010E94A0AE88233E
+:1032B00041F0A701B8014EA35FA368A779A781E0F9
+:1032C0008EABDF91CF911F910F91FF90EF90DF9028
+:1032D000CF90BF90AF907F906F905F904F90089588
+:1032E000EF92FF920F931F93CF93DF93F0906C0EAA
+:1032F00000E010E080E090E02DE4E22E20916D0EE1
+:10330000F21689F0EF9CE0011124C259D14FAE01B1
+:10331000B80171DF81E08F0D803109F480E0F82E73
+:10332000C8018E01EBCF40E050E0B801DF91CF91B2
+:103330001F910F91FF90EF905ECF4F925F926F922F
+:103340007F928F929F92AF92BF92CF92DF92EF9235
+:10335000FF920F931F93CF93DF9390906C0EC0E07A
+:10336000D0E03DE4832E892D992787FD909520910B
+:103370006D0E30E082179307B9F1889E5001899E47
+:10338000B00C1124C5018259914F5C01209729F19D
+:103390008EA9811104C0F50186A98823F1F0CAA085
+:1033A000DBA0ECA0FDA0A7019601F50166A177A125
+:1033B00080A591A50E94A7AE2B013C01A701960113
+:1033C0006EA17FA188A599A50E94A7AEAB01BC0103
+:1033D00093018201CE0183DC1EAA9394F0E19F1237
+:1033E00001C0912CE501BFCF2097E9F0CAA0DBA076
+:1033F000ECA0FDA0A70196016DEC7CEC8CE49DE3B4
+:103400000E94A7AE4B015C01A70196016EA17FA1AE
+:1034100088A599A50E94A7AEAB01BC0195018401C6
+:10342000CE015DDC1EAADF91CF911F910F91FF901D
+:10343000EF90DF90CF90BF90AF909F908F907F9054
+:103440006F905F904F90089599DE4ADF76CF10928B
+:103450006D0E10926C0E80E1E5E5F3E1DF011D9247
+:103460008A95E9F71092451310924613109247136C
+:10347000109248131092491310924A1310924B1352
+:1034800010924C1310924D1310924E1310924F1332
+:103490001092501310925113109252131092531312
+:1034A000109254131092411310924213109243132E
+:1034B00010924413089560912E0A90916C0E8091A1
+:1034C0006D0E981781F080916C0E9DE4899FF0013C
+:1034D0001124EA54F14F608190916D0E891719F013
+:1034E0008F5F8F70F9CF70E088E00C9447A72F9220
+:1034F0003F924F925F926F927F928F929F92AF9284
+:10350000BF92CF92DF92EF92FF920F931F93CF93D0
+:10351000DF93CDB7DEB7CC56D1090FB6F894DEBF36
+:103520000FBECDBF3C015B014A012901E8A6F8AE00
+:1035300025960FAF25971CAF860120916D0E2F5F4A
+:1035400029962FAF2997203119F429961FAE299774
+:1035500029963FAD2997E32EFF24E7FCF094809154
+:103560006C0E90E08E159F0541F40E94721E80E063
+:103570000E9438490E949C76F2CF2091A11330918D
+:10358000A2134091A3135091A413D3016D917D9187
+:103590008D919C910E9475B10E9445B169966CAF66
+:1035A0007DAF8EAF9FAF69972091A5133091A61381
+:1035B0004091A7135091A813F50160817181828118
+:1035C00093810E9475B10E9445B16D966CAF7DAF3D
+:1035D0008EAF9FAF6D972091A9133091AA134091A0
+:1035E000AB135091AC13D4016D917D918D919C9151
+:1035F0000E9475B10E9445B1A1966CAF7DAF8EAFB0
+:103600009FAFA1972091AD133091AE134091AF13AE
+:103610005091B013F20160817181828193810E9487
+:1036200075B10E9445B124966CAF7DAF8EAF9FAF50
+:1036300024978091611390916213A0916313B091CC
+:10364000641324962CAD3DAD4EAD5FAD2497281785
+:1036500039074A075B0709F4ADC0E091300A34E04E
+:10366000E39FF0011124E05CF74F2091A20230911A
+:10367000A3024091A4025091A502608171818281D0
+:1036800093810E94A0AE87FF2FC024968CAD9DAD84
+:10369000AEADBFAD24978093611390936213A09356
+:1036A0006313B0936413EFE2FEE08491882341F04A
+:1036B0009091C00095FFFCCF8093C6003196F5CF66
+:1036C000ECE9FCE18491882341F09091C00095FFE2
+:1036D000FCCF8093C6003196F5CF8091C00085FF66
+:1036E000FCCF8AE08093C6008091611390916213B1
+:1036F000A0916313B091641324962CAD3DAD4EADF3
+:103700005FAD2497281B390B4A0B5B0BCA01B9012B
+:1037100057FF07C090958095709561957F4F8F4FAB
+:103720009F4F0E9442AF6B017C0120E030E04EECE5
+:1037300053E46091AD137091AE138091AF139091EB
+:10374000B0130E9475B19B01AC01C701B6010E9484
+:10375000A3B018167CF524968CAD9DADAEADBFAD73
+:1037600024978093611390936213A0936313B09393
+:103770006413EFE2FEE08491882341F09091C00051
+:1037800095FFFCCF8093C6003196F5CFEEE7FCE1C4
+:103790008491882341F09091C00095FFFCCF8093E5
+:1037A000C6003196F5CF8091C00085FFFCCF8AE03E
+:1037B0008093C60080916D0E9DE4899F10011124B5
+:1037C000D101A259B14F1D01FD01E45BFF4F1082F1
+:1037D000209155133091561340915713509158131F
+:1037E0002BA33CA34DA35EA369964CAC5DAC6EAC21
+:1037F0007FAC6997421A530A640A750A77FE08C0BB
+:103800007094609450944094411C511C611C711C34
+:10381000D1014D925D926D927C9213972091591334
+:1038200030915A1340915B1350915C132CAB3DAB1C
+:103830004EAB5FAB6D968CAC9DACAEACBFAC6D9738
+:10384000821A930AA40AB50AB7FE08C0B094A094DD
+:1038500090948094811C911CA11CB11CD1011496E0
+:103860008D929D92AD92BC92179720915D133091ED
+:103870005E1340915F13509160132CA73DA74EA794
+:103880005FA7A196CCACDDACEEACFFACA197C21AA1
+:10389000D30AE40AF50AF7FE08C0F094E094D09445
+:1038A000C094C11CD11CE11CF11CD1011896CD9211
+:1038B000DD92ED92FC921B9720916113309162137F
+:1038C000409163135091641328AB39AB4AAB5BABA7
+:1038D00024966CAD7DAD8EAD9FAD2497621B730BAE
+:1038E000840B950B97FF07C0909580957095619517
+:1038F0007F4F8F4F9F4F0E9442AFE091300A34E0DC
+:10390000E39FF0011124E15BFD4F20813181428171
+:1039100053810E9475B10E940FAF9B01AC01A09131
+:103920005B02B0915C020E94D2B224E630E040E03B
+:1039300050E00E94A0B2D1011C962D933D934D936F
+:103940005C931F97C814D904EA04FB0414F47501AE
+:103950006401C216D306E406F50614F469017A017F
+:10396000D301C2014C145D046E047F0414F4D7012A
+:10397000C601F101808B918BA28BB38B0697A105B9
+:10398000B10508F461C7E85BFF4F80912E0A909162
+:103990002F0AAA2797FDA095BA2F80839183A2832F
+:1039A000B38369962CAD3DAD4EAD5FAD69978BA1EC
+:1039B0009CA1ADA1BEA1281739074A075B0724F0D7
+:1039C000D10190961C9203C081E0F10180A36D9615
+:1039D0002CAD3DAD4EAD5FAD6D978CA99DA9AEA947
+:1039E000BFA9281739074A075B073CF4D101909615
+:1039F0008C919097826090968C93A1962CAD3DAD62
+:103A00004EAD5FADA1978CA59DA5AEA5BFA528170E
+:103A100039074A075B073CF4D10190968C91909747
+:103A2000846090968C9324962CAD3DAD4EAD5FADE9
+:103A3000249788A999A9AAA9BBA9281739074A07D1
+:103A40005B073CF4D10190968C919097886090969A
+:103A50008C93F8018081D10191968C93452846285A
+:103A6000472809F01798F10184819581A681B781D3
+:103A7000892B8A2B8B2B09F01698F1018085918573
+:103A8000A285B385892B8A2B8B2B09F01598F10120
+:103A900084859585A685B785892B8A2B8B2B69F123
+:103AA00080913E13882319F0815080933E138091BA
+:103AB0003F13882319F0815080933F138091401366
+:103AC000882319F0815080934013D8018C91813064
+:103AD00061F030F0823089F480E28093401308C0B6
+:103AE000149880E280933E1308C080E280933F13D5
+:103AF00080913E13811101C0149AD1011C962D9121
+:103B00003D914D915C911F972D962CAF3DAF4EAFDF
+:103B10005FAF2D97232B242B252B09F5B09175131F
+:103B2000BBA3E0917613EFA3109177130091781364
+:103B30002B2F3E2F412F502F68A578AD25968FADA6
+:103B400025979CAD0E94A0AE87FD16C0F8A5FBA3EB
+:103B500028AD2FA325961FAD25970CAD0DC0309134
+:103B60008D133BA340918E134FA310918F1300919F
+:103B70009013232F342FDECF80915513909156133D
+:103B8000A0915713B091581369962CAD3DAD4EAD31
+:103B90005FAD6997281B390B4A0B5B0BCA01B90152
+:103BA0000E9442AF2091A1133091A2134091A31320
+:103BB0005091A4130E94A7AE68A779A78AA79BA7D4
+:103BC000698B7A8B8B8B9C8B6D966CAD7DAD8EAD3E
+:103BD0009FAD6D972CA93DA94EA95FA9621B730BE0
+:103BE000840B950B0E9442AF2091A5133091A61330
+:103BF0004091A7135091A8130E94A7AE4B015C01FE
+:103C00006D8B7E8B8F8B988FA1966CAD7DAD8EADBD
+:103C10009FADA1972CA53DA54EA55FA5621B730B7B
+:103C2000840B950B0E9442AF2091A9133091AA13E7
+:103C30004091AB135091AC130E94A7AE6B017C0175
+:103C4000698F7A8F8B8F9C8F24966CAD7DAD8EADF6
+:103C50009FAD249728A939A94AA95BA9621B730BB8
+:103C6000840B950B0E9442AF2091AD133091AE139F
+:103C70004091AF135091B0130E94A7AEE091300A6B
+:103C800034E0E39FF0011124E15BFD4F208131819D
+:103C9000428153810E9475B12B013C0160915B020E
+:103CA00070915C02882777FD8095982F0E9442AF23
+:103CB0009B01AC01C301B2010E9475B120E030E06C
+:103CC00048EC52E40E94A7AE6D8F7E8F8F8F98A331
+:103CD000D1012D913D914D915C91139728AF39AF52
+:103CE0004AAF5BAF263031054105510504F5149606
+:103CF0004D905D906D907C901797B6E04B165104F7
+:103D000061047104A4F4F1014084518462847384D9
+:103D1000F6E04F165104610471044CF4DC01CB0150
+:103D2000BF77F10186A797A7A0ABB1AB27C068A565
+:103D300079A58AA59BA50E9420B22B013C01C50153
+:103D4000B4010E9420B29B01AC01C301B2010E94E8
+:103D5000C7AD4B015C01C701B6010E9420B29B01B7
+:103D6000AC01C501B4010E94C7AD0E94E2B1D1010E
+:103D70009E966D937D938D939C93D197D1019E9642
+:103D80002D913D914D915C91D19728962CAF3DAFEF
+:103D90004EAF5FAF289760E070E080E89FE30E943D
+:103DA000A7AE9B01AC016BA17FA1812F902F0E9438
+:103DB00075B12B013C0190916D0E80916C0EE92F35
+:103DC000F0E0E81BF109EF70FF27FDABECABA301BE
+:103DD000920160E074E284E799E40E94A7AE0E9439
+:103DE00045B16B017C012CA93DA9223031050CF4B1
+:103DF00042C04901AA2497FCA094BA2CC501B40181
+:103E00000E9442AF20E030E040E051E40E94A0AECA
+:103E100087FF31C08091C1139091C213A091C31349
+:103E2000B091C413C816D906EA06FB0620F5BC01FA
+:103E3000CD016C197D098E099F09660F771F881FB8
+:103E4000991FA50194010E947EB2CA01B9010E9486
+:103E500040AF0E9445B16C0D7D1D8E1D9F1D0E94BF
+:103E600040AF9B01AC0160E074E284E799E40E94FA
+:103E7000A7AE2B013C01A301920128966CAD7DAD4C
+:103E80008EAD9FAD28970E9475B16CAF7DAF8EAFA0
+:103E90009FAFD10192966D937D938D939C9395974F
+:103EA00050966D917D918D919C9153970E9440AF5A
+:103EB0006BA37CA38DA39EA3A30192010E9475B165
+:103EC0000E948DAE0E9414AF6B017C01F10160AFC6
+:103ED00071AF82AF93AF8E010F5E1F4F21EB33E1C5
+:103EE00065963FAF2EAF6597AE014F5D5F4F5AA30A
+:103EF00049A3CE01019663969FAF8EAF63971FA231
+:103F00001CA690E898ABAFE3A8A7F8016191719166
+:103F1000819191918F01A30192010E9475B16396E5
+:103F2000AEADBFAD63976D937D938D939D93639677
+:103F3000BFAFAEAF63979B01AC015F7761962CAFCB
+:103F40003DAF4EAF5FAF61976596AEADBFAD6597C4
+:103F50008D909D90AD90BD906596BFAFAEAF6597CB
+:103F6000A501940161966CAD7DAD8EAD9FAD61975D
+:103F70000E94A3B01816F4F461962CAD3DAD4EAD81
+:103F80005FAD6197C501B4010E94A7AEB62EA72E02
+:103F9000982E892E262F372F482F592F6FA17CA5B9
+:103FA00088A998A50E94A0AE87FD04C0BFA2ACA6B8
+:103FB00098AA88A6E9A1FAA10E171F0709F0A5CFB4
+:103FC00020E030E040E85FE36FA17CA588A998A5D8
+:103FD0000E94A0AE87FF3DC05E01F1E1AF0EB11CB3
+:103FE0008E010F5F1F4F2FA13CA548A958A5D801EE
+:103FF0006D917D918D919C910E9475B1F8016193B5
+:104000007193819391938F01EA15FB0561F72FA1BD
+:104010003CA548A958A56CAD7DAD8EAD9FAD0E9465
+:1040200075B1D10192966D937D938D939C939597E5
+:10403000C701B6010E9440AF2FA13CA548A958A5D1
+:104040000E9475B10E9414AFF10160AF71AF82AFF1
+:1040500093AF28962CAD3DAD4EAD5FAD28976BA1CB
+:104060007CA18DA19EA10E94A7AE6B017C0128AD11
+:1040700039AD4AAD5BAD232B242B252B59F5F1012E
+:1040800084819581A681B781892B8A2B8B2B11F591
+:1040900080859185A285B385892B8A2B8B2BD1F4C2
+:1040A0002091851330918613409187135091881386
+:1040B000C701B6010E9475B10E948DAE81010C5BF3
+:1040C0001F4F0E9414AFD8016D937D938D939C93E5
+:1040D0001397F6C02091891330918A1340918B1366
+:1040E00050918C13C701B6010E9475B10E948DAE2C
+:1040F0000E9414AF81010C5B1F4FF8016083718334
+:104100008283938340906513509066136090671389
+:10411000709068130E9440AF4B015C0168AD79ADAF
+:104120008AAD9BAD0E9442AF9B01AC01C501B401B9
+:104130000E9475B12BA13CA14DA15EA10E94A7AE2A
+:104140004B015C01C301B2010E9440AF9B01AC0175
+:10415000C501B4010E94A3B0181634F4D8014D92E1
+:104160005D926D927C9213974090691350906A1300
+:1041700060906B1370906C13F80160817181828183
+:1041800093810E9440AF4B015C01D10114966D9167
+:104190007D918D919C9117970E9442AF9B01AC013C
+:1041A000C501B4010E9475B12BA13CA14DA15EA136
+:1041B0000E94A7AE4B015C01C301B2010E9440AF57
+:1041C0009B01AC01C501B4010E94A3B018162CF4E8
+:1041D000F801408251826282738240907113509044
+:1041E0007213609073137090741381010C5B1F4FF6
+:1041F000D8016D917D918D919C910E9440AF4B01B2
+:104200005C012D966CAD7DAD8EAD9FAD2D970E945E
+:1042100042AF9B01AC01C501B4010E9475B12BA155
+:104220003CA14DA15EA10E94A7AE4B015C01C30160
+:10423000B2010E9440AF9B01AC01C501B4010E94D4
+:10424000A3B018162CF4F801408251826282738266
+:1042500040906D1350906E1360906F1370907013B8
+:10426000D8016D917D918D919C910E9440AF4B0141
+:104270005C01F10160857185828593850E9442AF62
+:104280009B01AC01C501B4010E9475B12BA13CA1F9
+:104290004DA15EA10E94A7AE4B015C01C301B2011A
+:1042A0000E9440AF9B01AC01C501B4010E94A3B0C4
+:1042B000181634F4D8014D925D926D927C9213974A
+:1042C000F101EC5BFF4F60817181828193810E94DB
+:1042D00040AF4B015C01A70196010E94A7AEA596D5
+:1042E0006CAF7DAF8EAF9FAFA597F10162AB73ABA3
+:1042F00084AB95AB2DEB37E346E051E4C501B40147
+:104300000E9475B10E940FAFD1015C966D937D93B1
+:104310008D939C935F97C0908113D0908213E0900F
+:104320008313F090841320E030E040E05FE3C701A6
+:10433000B6010E9475B16BA37FA38C0129853A85D4
+:104340004B855C85A9962CAF3DAF4EAF5FAFA9976B
+:1043500080917D1390917E13A0917F13B091801373
+:104360008CAF9DAFAEAFBFAF20E030E040E05FE389
+:10437000BC01CD010E9475B1B62EA72E982E892EB4
+:10438000A9966CAD7DAD8EAD9FADA9979F772B2D76
+:104390003A2D492D582D0E94A3B018167CF42B2DD0
+:1043A0003A2D492D582D6BA17FA1C8010E94A0AEC6
+:1043B00087FD04C0BBA2AFA2092D182D2D853E8517
+:1043C0004F855889AD962CAF3DAF4EAF5FAFAD97DF
+:1043D0008091791390917A13A0917B13B0917C1303
+:1043E0002D968CAF9DAFAEAFBFAF2D9720E030E0E4
+:1043F00040E05FE3BC01CD010E9475B1B62EA72E4F
+:10440000982E892EAD966CAD7DAD8EAD9FADAD97DE
+:104410009F772B2D3A2D492D582D0E94A3B01816A9
+:104420007CF42B2D3A2D492D582D6BA17FA1C8016D
+:104430000E94A0AE87FD04C0BBA2AFA2092D182D1B
+:10444000D1019296BC91BCA7F101F3A1F8ABD101C7
+:104450009496BC91B8A7F101F5A1F8AF2CA538A9A5
+:104460004B2F5F2F6BA17FA1C8010E94A0AE87FDDB
+:1044700006C02CA52BA338A93FA308A518AD4CA9AD
+:104480005DA9423051050CF405C1509141135CAB5C
+:10449000809142132E968FAF2E9790914313629680
+:1044A0009FAF6297A09144136496AFAF649727E1E2
+:1044B00037EB41ED58E36CA9782F892F9A2F0E9492
+:1044C000A3B018160CF0E6C02091451330914613A6
+:1044D000409147135091481369817A818B819C8167
+:1044E0000E94C6AD2B013C012091491330914A1323
+:1044F00040914B1350914C136D817E818F81988533
+:104500000E94C6AD4B015C01A3019201C301B2013F
+:104510000E9475B12B013C01A5019401C501B401B4
+:104520000E9475B19B01AC01C301B2010E94C7ADED
+:104530000E94E2B14B015C01A70196010E94A3B069
+:1045400018164CF4A5019401C701B6010E94A7AE4C
+:104550005B014C0106C0A12CB12C40E8842E5FE326
+:10456000952E20914D1330914E1340914F13509141
+:104570005013A9966CAD7DAD8EAD9FADA9970E94ED
+:10458000C6AD6B017C01E894F7F82CAD3DAD4EADA6
+:104590005FADC701B6010E94A3B01816D4F4A701FD
+:1045A00096016CAD7DAD8EAD9FAD0E94A7AEF62E8F
+:1045B000E72ED82EC92E262F372F482F592FB50179
+:1045C000C4010E94A0AE87FD04C0AF2CBE2C8D2C70
+:1045D0009C2C2091511330915213409153135091C0
+:1045E0005413AD966CAD7DAD8EAD9FADAD970E9471
+:1045F000C6AD6B017C01E894F7F82D962CAD3DAD6E
+:104600004EAD5FAD2D97C701B6010E94A3B018163D
+:10461000E4F4A70196012D966CAD7DAD8EAD9FADF6
+:104620002D970E94A7AEF62EE72ED82EC92E262F44
+:10463000372F482F592FB501C4010E94A0AE87FD26
+:1046400004C0AF2CBE2C8D2C9C2C9501A4016CA514
+:1046500078A988A598AD0E9475B14B015C019B01BA
+:10466000AC016CA92E967FAD2E9762968FAD6297A6
+:1046700064969FAD64970E94A0AE87FF0EC08CA881
+:104680002E969FAC2E976296AFAC62976496BFACA5
+:10469000649703C08BA09FA05801C401D501F1010C
+:1046A00082A793A7A4A7B5A7A5966CAD7DAD8EAD47
+:1046B0009FADA59790589B01AC010E94C7AD28966D
+:1046C0002CAD3DAD4EAD5FAD28970E9475B19B01FD
+:1046D000AC016BE077ED83E29BE30E94C6AD0E94E4
+:1046E000E2B17B01D82EC92E9B01482F592FB4016E
+:1046F000C5010E94A0AE87FD03C04701AD2CBC2CB4
+:10470000C401D501F10186A397A3A0A7B1A7970182
+:104710004D2D5C2D6CA578A988A598AD0E94A0AE02
+:1047200018162CF081E0D101D7968C9302C0F101CC
+:1047300017AA81E0D101D6968C9380E1FE013196D3
+:10474000A5E4B3E101900D928A95E1F78CA598A9B3
+:10475000A8A5B8AD8093411390934213A09343133F
+:10476000B09344139C01AD016BA17FA1C8010E94CD
+:10477000A7AE6B017C012CA538A948A558ADB401A2
+:10478000C5010E94A7AEAB01BC0197018601C10122
+:104790000E946F962996BFAD2997B0936D0E6996CA
+:1047A0002CAD3DAD4EAD5FAD699720935513309361
+:1047B000561340935713509358136D968CAD9DAD7F
+:1047C000AEADBFAD6D978093591390935A13A093DC
+:1047D0005B13B0935C13A1962CAD3DAD4EAD5FADB8
+:1047E000A19720935D1330935E1340935F13509312
+:1047F000601324968CAD9DADAEADBFAD2497809374
+:10480000611390936213A0936313B09364130E9497
+:10481000249AC459DF4F0FB6F894DEBF0FBECDBF48
+:10482000DF91CF911F910F91FF90EF90DF90CF908C
+:10483000BF90AF909F908F907F906F905F904F90C0
+:104840003F902F900C94F48BC459DF4F0FB6F8941F
+:10485000DEBF0FBECDBFDF91CF911F910F91FF90B3
+:10486000EF90DF90CF90BF90AF909F908F907F9010
+:104870006F905F904F903F902F900895EF92FF922E
+:104880000F931F93CF93DF937B018A01E90120915E
+:10489000A1133091A2134091A3135091A413FC01D2
+:1048A00060817181828193810E9475B10E9445B1BE
+:1048B0006093551370935613809357139093581326
+:1048C0002091A5133091A6134091A7135091A813DE
+:1048D000F70160817181828193810E9475B10E948C
+:1048E00045B16093591370935A1380935B1390935F
+:1048F0005C132091A9133091AA134091AB135091EE
+:10490000AC13F80160817181828193810E9475B13D
+:104910000E9445B160935D1370935E1380935F13A3
+:10492000909360132091AD133091AE134091AF136B
+:104930005091B013688179818A819B810E9475B101
+:104940000E9445B160936113709362138093631367
+:104950009093641321E633E14DE553E169E573E19A
+:1049600085E593E10E944C931092411310924213FB
+:104970001092431310924413109245131092461351
+:1049800010924713109248131092491310924A1331
+:1049900010924B1310924C1310924D1310924E1311
+:1049A00010924F13109250131092511310925213F1
+:1049B0001092531310925413DF91CF911F910F91C6
+:1049C000FF90EF9008952091AD133091AE13409178
+:1049D000AF135091B013FC0160817181828193818A
+:1049E0000E9475B10E9445B1609361137093621388
+:1049F000809363139093641381E693E10C948893FE
+:104A000080916D0E90916C0E891B8F70089560934C
+:104A1000A2027093A3028093A4029093A50208952A
+:104A2000CF92DF92EF92FF920F931F93CF93DF937A
+:104A300000D01F92CDB7DEB7F1E9CF2EF3E1DF2E24
+:104A4000A1EAEA2EA3E1FA2E05E613E1F60161914F
+:104A50007191819191916F01F70121913191419172
+:104A600051917F0129833A834B835C830E9440AF3D
+:104A700029813A814B815C810E9475B10E9414AFFB
+:104A8000F80161937193819391938F01F1EACF16AD
+:104A9000F3E1DF06D9F60F900F900F900F90DF91A2
+:104AA000CF911F910F91FF90EF90DF90CF900895DD
+:104AB0008091F41390E02091F513821B91090895E1
+:104AC0002091F5138091F413281750F4E22FF0E0B1
+:104AD000EA50FC4E808190E02F5F2093F5130895FB
+:104AE0008FEF9FEF0895E091F5138091F413E8178D
+:104AF00030F4F0E0EA50FC4E808190E008958FEFB2
+:104B00009FEF08950895CF92DF92EF92FF920F9357
+:104B10001F93CF93DF937C01CB018A012091D113A6
+:104B2000222389F0EB016B01C40ED51ECC15DD05E7
+:104B300061F06991D701ED91FC910190F081E02D38
+:104B4000C7011995F3CF642F4BD0C801DF91CF91E6
+:104B50001F910F91FF90EF90DF90CF900895CF932A
+:104B6000DF931F92CDB7DEB769832091D113222343
+:104B7000D1F02091D213203240F021E030E0FC014E
+:104B80003383228380E090E014C08091D313E82F18
+:104B9000F0E0EC52FC4E998190838F5F8093D313A9
+:104BA0008093D21304C061E0CE01019619D081E058
+:104BB00090E00F90DF91CF910895FC011382128253
+:104BC00048EE53E060E070E044835583668377836A
+:104BD00086ED95E091838083089585EC93E1EDCF98
+:104BE000613298F420918314243089F4609338144E
+:104BF000FC018AE394E1DC012A2F281B261718F414
+:104C000021912D93F9CF80E0089581E0089582E00D
+:104C1000089585ED8093BC008091BC0084FDFCCF9D
+:104C200010928314089585EC8093BC001092831435
+:104C300008951F920F920FB60F9211240BB60F9288
+:104C40002F933F934F935F936F937F938F939F9394
+:104C5000AF93BF93EF93FF938091B900887F803625
+:104C600009F49CC068F5883209F45BC090F4803187
+:104C700009F454C038F4882309F4F3C0883009F4E7
+:104C80004DC0F2C0883109F44CC0803209F45DC0D7
+:104C9000EBC0803409F468C048F4803309F455C08F
+:104CA000883309F0E1C080931614A7C0803509F459
+:104CB0004FC0883509F45DC0883409F0D5C0D3C031
+:104CC000883909F4C4C0A8F4883709F467C038F4F7
+:104CD000883609F463C0803709F460C0C5C08838DD
+:104CE00009F4B5C0803909F45FC0803809F0BCC050
+:104CF0005BC0803B09F483C038F4803A09F466C095
+:104D0000883A09F47CC0B0C0803C09F4A4C0883C57
+:104D100009F4A1C0883B09F487C0A6C08091821421
+:104D200010C090915B1480915A14981770F5E0911F
+:104D30005B1481E08E0F80935B14F0E0E45AFB4E2D
+:104D400080818093BB0085EC83C0809316148BC058
+:104D5000E0915B1481E08E0F80935B148091BB0027
+:104D6000F0E0E45AFB4E808390915B1480915A14DA
+:104D70006BC0E0915B1481E08E0F80935B14809197
+:104D8000BB00F0E0E45AFB4E8083809181148111D6
+:104D90006AC081E08093801484EA5EC083E08093DF
+:104DA000831410921714CFCF80911714803208F01B
+:104DB0004EC0E091171481E08E0F809317148091FC
+:104DC000BB00F0E0E85EFB4E8083BDCF80911714FE
+:104DD000803230F4E0911714F0E0E85EFB4E108270
+:104DE00018DF6091171470E0E0917C14F0917D144D
+:104DF00088E194E119951092171415DF35C084E00D
+:104E0000809383141092391410923814E0917E1418
+:104E1000F0917F14199580913814811105C081E0BB
+:104E20008093381410923A14E091391481E08E0F77
+:104E300080933914F0E0E65CFB4E80818093BB00E8
+:104E40009091391480913814981708F47CCF85E834
+:104E50008093BC0009C085EC8093BC001092831441
+:104E600003C010921614D5DEFF91EF91BF91AF9160
+:104E70009F918F917F916F915F914F913F912F9172
+:104E80000F900BBE0F900FBE0F901F9018951F93A1
+:104E9000CF93DF93182FEB0161E003D1209711F43A
+:104EA00060E004C0CF3FD10531F461E0812FDF9194
+:104EB000CF911F912FC1E12FF0E0EA54F34E4491BE
+:104EC00050E0FA013197E131F10508F091C0E35863
+:104ED000FF4F0C94BCB284B5806884BDC7BD8DC043
+:104EE00084B5806284BDC8BD88C080918000806820
+:104EF00080938000D0938900C09388007EC0809109
+:104F00008000806280938000D0938B00C0938A00E1
+:104F100074C08091B00080688093B000C093B300EB
+:104F20006CC08091B00080628093B000C093B400E8
+:104F300064C080919000806880939000D093990025
+:104F4000C09398005AC08091900080628093900036
+:104F5000D0939B00C0939A0050C0809190008860CD
+:104F600080939000D0939D00C0939C0046C0809198
+:104F7000A00080688093A0008091A0008F7B809328
+:104F8000A000D093A900C093A80037C08091A000D2
+:104F900080628093A000D093AB00C093AA002DC084
+:104FA0008091A00088608093A000D093AD00C09352
+:104FB000AC0023C080912001806880932001D093B1
+:104FC0002901C093280119C080912001806280933B
+:104FD0002001D0932B01C0932A010FC080912001A2
+:104FE000886080932001D0932D01C0932C0105C0CF
+:104FF000C038D1050CF059CF53CFDF91CF911F911D
+:10500000089590E0FC013197E131F10508F048C0C6
+:10501000E257FF4F0C94BCB2809180008F7703C0A1
+:10502000809180008F7D80938000089584B58F7774
+:1050300002C084B58F7D84BD08958091B0008F77C4
+:1050400003C08091B0008F7D8093B000089580915F
+:1050500090008F7707C0809190008F7D03C0809172
+:105060009000877F8093900008958091A0008F77B3
+:1050700007C08091A0008F7D03C08091A000877F32
+:105080008093A0000895809120018F7707C08091C0
+:1050900020018F7D03C080912001877F80932001B4
+:1050A0000895CF93DF9390E0FC01E45FF24E2491EA
+:1050B000FC01EE59F24E8491882349F190E0880F6B
+:1050C000991FFC01E451F24EA591B4918E52924E7B
+:1050D000FC01C591D4919FB7611108C0F8948C91DF
+:1050E000209582238C93888182230AC0623051F4F8
+:1050F000F8948C91322F309583238C938881822B66
+:10510000888304C0F8948C91822B8C939FBFDF918D
+:10511000CF9108950F931F93CF93DF931F92CDB735
+:10512000DEB7282F30E0F901EA54F34E8491F901FB
+:10513000E45FF24E1491F901EE59F24E049100230E
+:10514000C1F0882319F069835CDF6981E02FF0E00A
+:10515000EE0FFF1FEE52F24EA591B4919FB7F89457
+:105160008C91611103C01095812301C0812B8C9318
+:105170009FBF0F90DF91CF911F910F910895CF9313
+:10518000DF93282F30E0F901EA54F34E8491F901BE
+:10519000E45FF24ED491F901EE59F24EC491CC2362
+:1051A00089F081112EDFEC2FF0E0EE0FFF1FE854A5
+:1051B000F24EA591B4912C912D2381E090E021F441
+:1051C00080E002C080E090E0DF91CF9108951F92CF
+:1051D0000F920FB60F9211242F933F938F939F93AB
+:1051E000AF93BF938091851490918614A0918714FA
+:1051F000B09188143091841423E0230F2D3720F4CC
+:105200000196A11DB11D05C026E8230F0296A11D20
+:10521000B11D209384148093851490938614A093D9
+:105220008714B09388148091891490918A14A09166
+:105230008B14B0918C140196A11DB11D809389141B
+:1052400090938A14A0938B14B0938C14BF91AF9158
+:105250009F918F913F912F910F900FBE0F901F90B4
+:1052600018952FB7F89460918514709186148091E9
+:105270008714909188142FBF08953FB7F8948091B8
+:10528000891490918A14A0918B14B0918C1426B536
+:10529000A89B05C02F3F19F00196A11DB11D3FBF6E
+:1052A0006627782F892F9A2F620F711D811D911DFE
+:1052B00042E0660F771F881F991F4A95D1F708951E
+:1052C000CF92DF92EF92FF92CF93DF936B017C013D
+:1052D000D4DFEB01C114D104E104F10471F0CDDF9E
+:1052E0006C1B7D0B683E7340A8F381E0C81AD1089F
+:1052F000E108F108C851DC4FEDCFDF91CF91FF906D
+:10530000EF90DF90CF9008950197009739F0880FC4
+:10531000991F880F991F02970197F1F708957894C4
+:1053200084B5826084BD84B5816084BD85B58260AA
+:1053300085BD85B5816085BDEEE6F0E08081816048
+:105340008083E1E8F0E01082808182608083808148
+:1053500081608083E0E8F0E0808181608083E1EB20
+:10536000F0E0808184608083E0EBF0E08081816008
+:105370008083E1E9F0E080818260808380818160C8
+:105380008083E0E9F0E0808181608083E1EAF0E001
+:10539000808182608083808181608083E0EAF0E0A8
+:1053A000808181608083E1E2F1E08081826080839E
+:1053B000808181608083E0E2F1E080818160808390
+:1053C000EAE7F0E08081846080838081826080836E
+:1053D0008081816080838081806880831092C10099
+:1053E00008959DDF0E94A93EC0E0D0E00E94C862FF
+:1053F0002097E1F30E940000F9CF3F924F925F9215
+:105400006F927F928F929F92AF92BF92CF92DF92D4
+:10541000EF92FF920F931F93CF93DF9300D01F92D1
+:10542000CDB7DEB78B0129013A019091A6029817FA
+:1054300021F09F3F09F0ABC204C0E6E0FEE13490EA
+:1054400004C18093A602E6E0FEE1E491EF3F09F497
+:105450009EC2E23009F480C074F5EE2309F45BC00B
+:10546000E13009F0F1C0109280001092810090911B
+:105470008100986090938100909181009160909359
+:105480008100282F30E0F901EE59F24EE491F0E06E
+:10549000EE0FFF1FEE52F24E459154915093AB1414
+:1054A0004093AA14F901E45FF24E24912093A914C9
+:1054B00033243394CCC0E43009F49EC00CF474C09F
+:1054C000E53009F0C1C010922001109221019091A5
+:1054D0002101986090932101909121019160909316
+:1054E0002101282F30E0F901EE59F24EE491F0E06D
+:1054F000EE0FFF1FEE52F24E4591549150938F14D0
+:1055000040938E14F901E45FF24E249120938D14A0
+:1055100055E0352E9CC014BC15BC94B5926094BD6A
+:1055200095B5916095BD282F30E0F901EE59F24E06
+:10553000E491F0E0EE0FFF1FEE52F24E45915491D0
+:105540005093B2144093B114F901E45FF24E2491E8
+:105550002093B014312C7BC01092B0001092B10097
+:105560009091B00092609093B0009091B1009160E2
+:105570009093B100282F30E0F901EE59F24EE491FA
+:10558000F0E0EE0FFF1FEE52F24E45915491509312
+:10559000A4144093A314F901E45FF24E24912093E4
+:1055A000A21422E0322E53C010929000109291006B
+:1055B00090919100986090939100909191009160EA
+:1055C00090939100282F30E0F901EE59F24EE491CA
+:1055D000F0E0EE0FFF1FEE52F24E459154915093C2
+:1055E0009D1440939C14F901E45FF24E24912093A2
+:1055F0009B14B3E03B2E2BC01092A0001092A10090
+:105600009091A10098609093A1009091A100916069
+:105610009093A100282F30E0F901EE59F24EE49169
+:10562000F0E0EE0FFF1FEE52F24E45915491509371
+:10563000961440939514F901E45FF24E249120935F
+:10564000941474E0372E03C03E2E37FCA0C161E0F5
+:1056500028DD4801A12CB12C832D8D7F09F0BAC023
+:1056600060E072E18AE790E0A501940169D729839F
+:105670003A834B835C8369017A0181E0C81AD108BF
+:10568000E108F1089FEFC916D104E104F10409F023
+:1056900008F495C060E472E48FE090E0A501940105
+:1056A0004FD769017A01E1E0CE1AD108E108F1088B
+:1056B000F2E03F1218C08FEFC816D104E104F104E4
+:1056C00009F008F483C060E970ED83E090E0A50183
+:1056D000940136D769017A0191E0C91AD108E1082D
+:1056E000F10883E001C082E0EFEFCE16D104E104BF
+:1056F000F10409F008F464C068E478EE81E090E019
+:10570000A50194011DD769017A01F1E0CF1AD108F2
+:10571000E108F1083320D9F082E038121AC09FEF77
+:10572000C916D104E104F10409F008F42EC164E2C1
+:1057300074EF80E090E0A501940102D769017A013D
+:10574000E1E0CE1AD108E108F10885E003C083E06A
+:1057500001C084E0FFEFCF16D104E104F10481F130
+:1057600078F162E17AE780E090E0A5019401E8D663
+:1057700069017A0181E0C81AD108E108F108311005
+:1057800002C084E001C086E09FEFC916D104E104A5
+:10579000F104B1F0A8F0C980DA80EB80FC809AE0D7
+:1057A000F594E794D794C7949A95D1F7E1E0CE1A8F
+:1057B000D108E108F108332031F087E008C081E02A
+:1057C000332011F004C085E085BD50C082E0809395
+:1057D000B1004CC060E072E18AE790E0A50194015D
+:1057E000AFD669017A01F1E0CF1AD108E108F108DA
+:1057F000C114D10481E0E806F10480F068E478EE99
+:1058000081E090E0A50194019BD669017A0191E0C5
+:10581000C91AD108E108F10893E001C091E0E1E084
+:105820003E1207C080918100887F892B8093810080
+:105830001DC0F3E03F1207C080919100887F892B43
+:105840008093910013C084E0381207C08091A100BA
+:10585000887F892B8093A10009C0E5E03E1206C035
+:1058600080912101887F892B80932101411451046B
+:105870006104710461F0D801AA0FBB1FA30192015A
+:1058800087D628EE33E040E050E038D603C02FEF53
+:105890003FEFA901F2E03F1609F443C0F315BCF055
+:1058A000332081F181E0381272C0D0928900C09219
+:1058B00088002093AC143093AD144093AE145093F1
+:1058C000AF1480916F00826080936F0060C094E09D
+:1058D000391609F448C03916A4F1E5E03E1257C064
+:1058E000D0922901C09228012093901430939114F2
+:1058F000409392145093931480917300826080932C
+:10590000730045C0C7BC2093B3143093B4144093C4
+:10591000B5145093B61480916E00826080936E002F
+:1059200036C0C092B3002093A5143093A6144093C0
+:10593000A7145093A8148091700082608093700027
+:1059400026C0D0929900C092980020939E14309364
+:105950009F144093A0145093A11480917100826011
+:105960008093710014C0D092A900C092A800209327
+:105970009714309398144093991450939A148091EB
+:10598000720082608093720002C084E020CF0F908A
+:105990000F900F900F90DF91CF911F910F91FF907B
+:1059A000EF90DF90CF90BF90AF909F908F907F90BF
+:1059B0006F905F904F903F9008958230A9F028F447
+:1059C000882349F0813051F00895843009F1E8F0DE
+:1059D000853009F1089510926E00089580916F004E
+:1059E0008D7F80936F000895809170008D7F8093EC
+:1059F000700081E08093B0008091B100887F846066
+:105A00008093B1001092B300089510927100089530
+:105A1000109272000895109273000895CF93C82FCA
+:105A20008091A6028C1307C0E6E0FEE184919FEF0F
+:105A30009093A60201C08FEFC0DF60E08C2FCF9162
+:105A400069CB1F920F920FB60F9211240BB60F92D3
+:105A50002F933F934F935F936F937F938F939F9376
+:105A6000AF93BF93EF93FF938091A5149091A614E9
+:105A7000A091A714B091A814892B8A2B8B2B51F1DC
+:105A80009091A214E091A314F091A414808189272D
+:105A900080838091A5149091A614A091A714B09131
+:105AA000A814181619061A061B06BCF48091A51432
+:105AB0009091A614A091A714B091A8140197A109E0
+:105AC000B1098093A5149093A614A093A714B09342
+:105AD000A81403C08091A602A1DFFF91EF91BF91AE
+:105AE000AF919F918F917F916F915F914F913F9176
+:105AF0002F910F900BBE0F900FBE0F901F90189517
+:105B0000CF92DF92EF92FF920F931F93CF93DF9389
+:105B10006C017A01EB01E60EF71E00E010E0CE15F5
+:105B2000DF0561F06991D601ED91FC910190F08162
+:105B3000E02DC6011995080F191FF1CFC801DF919B
+:105B4000CF911F910F91FF90EF90DF90CF9008952C
+:105B50006115710581F0DB010D900020E9F7AD01C1
+:105B600041505109461B570BDC01ED91FC9102801D
+:105B7000F381E02D199480E090E00895E9CFDC01F5
+:105B8000ED91FC910190F081E02D19945058BB27C4
+:105B9000AA270ED076C23FD230F044D220F031F4A2
+:105BA0009F3F11F41EF40FC20EF4E095E7FBDCC139
+:105BB000E92F89D280F3BA17620773078407950724
+:105BC00018F071F49EF5B8C20EF4E0950B2EBA2FC2
+:105BD000A02D0B01B90190010C01CA01A0011124F3
+:105BE000FF27591B99F0593F50F4503E68F11A169F
+:105BF000F040A22F232F342F4427585FF3CF469530
+:105C000037952795A795F0405395C9F77EF41F1651
+:105C1000BA0B620B730B840BBAF09150A1F0FF0F1B
+:105C2000BB1F661F771F881FC2F70EC0BA0F621F07
+:105C3000731F841F48F4879577956795B795F795F7
+:105C40009E3F08F0B3CF9395880F08F09927EE0F89
+:105C5000979587950895DFD158F080E891E009F491
+:105C60009EEFE0D128F040E851E059F45EEF09C022
+:105C7000AAC162C2E92FE07826D268F3092E052A6C
+:105C8000C1F3261737074807590738F00E2E07F8D3
+:105C9000E02569F0E025E0640AC0EF6307F80094AE
+:105CA00007FADB01B9019D01DC01CA01AD01EF93E7
+:105CB0005DD0E7D10AD05F91552331F02BED3FE065
+:105CC00049E450FD49EC63CF0895DF93DD27B92FF8
+:105CD000BF7740E85FE31616170648075B0710F426
+:105CE000D92F96D29F938F937F936F93A9D3EEE38F
+:105CF000F1E06CD1C6D12F913F914F915F9101D3CB
+:105D0000DD2349F09058A2EA2AED3FE049EC5FE339
+:105D1000D0785D274DDFDF91B4C1F7D180F09F3798
+:105D200040F491110EF409C260E070E080E89FE356
+:105D3000089526F01B16611D711D811D1BC135C103
+:105D4000EFD008F481E0089575D1E395ABC10CD094
+:105D500098C168D140F05FD130F021F45F3F19F075
+:105D600003C15111EAC12FC1AED198F39923C9F3F0
+:105D70005523B1F3951B550BBB27AA276217730751
+:105D8000840738F09F5F5F4F220F331F441FAA1F05
+:105D9000A9F333D00E2E3AF0E0E830D091505040C5
+:105DA000E695001CCAF729D0FE2F27D0660F771F73
+:105DB000881FBB1F261737074807AB07B0E809F055
+:105DC000BB0B802DBF01FF2793585F4F2AF09E3FEA
+:105DD000510568F0C9C0B1C15F3FECF3983EDCF3F8
+:105DE000869577956795B795F7959F5FC9F7880F63
+:105DF000911D9695879597F90895E1E0660F771FB5
+:105E0000881FBB1F621773078407BA0720F0621B45
+:105E1000730B840BBA0BEE1F88F7E095089504D03E
+:105E20006894B1118AC1089556D188F09F5790F0B7
+:105E3000B92F9927B751A0F0D1F0660F771F881FAF
+:105E4000991F1AF0BA95C9F712C0B13081F074D118
+:105E5000B1E0089571C1672F782F8827B85F39F0B6
+:105E6000B93FCCF3869577956795B395D9F73EF40E
+:105E700090958095709561957F4F8F4F9F4F0895B6
+:105E8000E89409C097FB3EF49095809570956195D4
+:105E90007F4F8F4F9F4F9923A9F0F92F96E9BB278A
+:105EA0009395F695879577956795B795F111F8CF06
+:105EB000FAF4BB0F11F460FF1BC06F5F7F4F8F4F71
+:105EC0009F4F16C0882311F096E911C0772321F067
+:105ED0009EE8872F762F05C0662371F096E8862FFF
+:105EE00070E060E02AF09A95660F771F881FDAF756
+:105EF000880F9695879597F9089507D180F09F3779
+:105F000040F491110EF019C160E070E080E89FEB61
+:105F1000089526F41B16611D711D811D2BC045C0FF
+:105F2000990F0008550FAA0BE0E8FEEF16161706AA
+:105F3000E807F907C0F012161306E407F50798F012
+:105F4000621B730B840B950B39F40A2661F0232B2B
+:105F5000242B252B21F408950A2609F4A140A695A7
+:105F60008FEF811D811D089597F99F6780E870E08C
+:105F700060E00895882371F4772321F09850872BEF
+:105F8000762F07C0662311F499270DC09051862BF8
+:105F900070E060E02AF09A95660F771F881FDAF7A5
+:105FA000880F9695879597F908959F3F31F0915006
+:105FB00020F4879577956795B795880F911D9695ED
+:105FC000879597F908959FEF80EC0895DF93CF931D
+:105FD0001F930F93FF92EF92DF927B018C016894E5
+:105FE00005C0DA2EEF018DD1FE01E894A59125912F
+:105FF000359145915591AEF3EF01DADDFE01970140
+:10600000A801DA9479F7DF90EF90FF900F911F913C
+:10601000CF91DF91089500240A94161617061806EA
+:106020000906089500240A9412161306140605069C
+:106030000895C9CF50D0E8F3E894E0E0BB279F571C
+:10604000F0F02AED3FE049EC06C0EE0FBB0F661FF3
+:10605000771F881F28F0B23A62077307840728F079
+:10606000B25A620B730B840BE3959A9572F78038E2
+:1060700030F49A95BB0F661F771F881FD2F79048A0
+:1060800096CF092E0394000C11F4882352F0BB0F15
+:1060900040F4BF2B11F460FF04C06F5F7F4F8F4F40
+:1060A0009F4F0895EF93E0FF06C0A2EA2AED3FE07C
+:1060B00049EC5FEB7DDDE5DF0F90039401FC905828
+:1060C000EBE6F1E0C7C157FD9058440F551F59F05A
+:1060D0005F3F71F04795880F97FB991F61F09F3FD5
+:1060E00079F087950895121613061406551FF2CFFE
+:1060F0004695F1DF08C0161617061806991FF1CF4E
+:1061000086957105610508940895E5DFA0F0BEE766
+:10611000B91788F4BB279F3860F41616B11D672F96
+:10612000782F8827985FF7CF869577956795B11D6B
+:1061300093959639C8F30895E894BB276627772787
+:10614000CB0197F90895ECDE08F48FEF089563DF33
+:1061500019F068DF09F037CF07CFB901CA0125CFA1
+:106160009F775F77B0DF98F39923B9F35523B9F39D
+:10617000FF27951758F4E52FE91BED3070F75E3BCC
+:1061800010F0F1E41CC09034E0F40AC0E92FE51BE4
+:10619000ED3028F79E3B10F0F1E411C0503488F444
+:1061A000F9EA88232AF09A95660F771F881FDAF795
+:1061B00044232AF05A95220F331F441FDAF79F1BFE
+:1061C0005F1BFF931F930F93FF92EF9279018A0158
+:1061D000BB27AB2F9B01AC0196D09701A801BF93C1
+:1061E0007B018C01AA27BA2FB901CA018CD0AF91CB
+:1061F0009701A801EF90FF900F911F91D9DC41DF2B
+:10620000E1D04F9140FF0895552747FD509509C0B3
+:106210009B01AC0160E070E080E89FE398CDA4CEE4
+:10622000C4CE59DFE8F39923D9F3940F511DBBF382
+:106230009150504094F059F0882332F0660F771F48
+:10624000881F91505040C1F79E3F510544F7880F79
+:10625000911D9695879597F908955F3FACF0983E0C
+:106260009CF0BB27869577956795B79508F4B16044
+:106270009395C1F7BB0F58F711F460FFE8CF6F5F3C
+:106280007F4F8F4F9F4FE3CF58CF25DF58F19E5759
+:1062900058F19851A0F0E9F0983020F5092E99278F
+:1062A000660F771F881F991F0A94D1F712C0062E18
+:1062B000672F782F8827985F11F4000C07C0993F4B
+:1062C000B4F38695779567959395D9F7611D711D00
+:1062D000811D3EF490958095709561957F4F8F4F0D
+:1062E0009F4F0895689429CF27CF0BD0CACE93DE55
+:1062F00028F098DE18F0952309F036CE64CE1124EC
+:106300001CCFE1DEA0F3959FD1F3950F50E0551F10
+:10631000629FF001729FBB27F00DB11D639FAA27FA
+:10632000F00DB11DAA1F649F6627B00DA11D661F49
+:10633000829F2227B00DA11D621F739FB00DA11D6A
+:10634000621F839FA00D611D221F749F3327A00D24
+:10635000611D231F849F600D211D822F762F6A2FC0
+:1063600011249F5750408AF0E1F088234AF0EE0F45
+:10637000FF1FBB1F661F771F881F91505040A9F752
+:106380009E3F510570F0F0CDD8CE5F3FECF3983EC4
+:10639000DCF3869577956795B795F795E7959F5FB9
+:1063A000C1F7FE2B880F911D9695879597F9089553
+:1063B0009F9340DE0F9007FCEE5F74CE11F40EF455
+:1063C00002CEF3CD88DED0F39923D9F3CEF39F57D5
+:1063D000550B87FF38D00024A0E640EA9001805892
+:1063E0005695979528F4805C660F771F881F20F0DC
+:1063F00026173707480730F4621B730B840B2029DC
+:1064000031294A2BA69517940794202531254A2730
+:1064100058F7660F771F881F20F0261737074807A1
+:1064200030F4620B730B840B200D311D411DA095C0
+:1064300081F7B901842F9158880F96958795089513
+:106440009B01AC0152CF91505040660F771F881FBF
+:10645000D2F708959F938F937F936F93FF93EF935A
+:106460009B01AC0142DFEF91FF91B0DD2F913F9195
+:106470004F915F913ACFDB018F939F9389D0BF916A
+:10648000AF91A29F800D911DA39F900DB29F900D83
+:106490001124089587FB082E062687FD819567FD48
+:1064A00061958AD00EF4919507FC81950895AA1BF9
+:1064B000BB1B51E107C0AA1FBB1FA617B70710F0EF
+:1064C000A61BB70B881F991F5A95A9F78095909521
+:1064D000BC01CD01089597FB072E16F4009406D059
+:1064E00077FD08D0E4DF07FC05D03EF49095819558
+:1064F0009F4F0895709561957F4F0895A1E21A2EE0
+:10650000AA1BBB1BFD010DC0AA1FBB1FEE1FFF1F57
+:10651000A217B307E407F50720F0A21BB30BE40BA7
+:10652000F50B661F771F881F991F1A9469F76095EE
+:106530007095809590959B01AC01BD01CF010895A8
+:10654000052E97FB16F400940FD057FD05D0D6DF2B
+:1065500007FC02D046F408C050954095309521952F
+:106560003F4F4F4F5F4F089590958095709561957F
+:106570007F4F8F4F9F4F0895EE0FFF1F0590F491AF
+:10658000E02D199425D0B7FF0895821B930B089531
+:106590001FD0A59F900DB49F900DA49F800D911DBD
+:1065A00011240895B7FFF4CFF3DF821B930B0895F6
+:1065B0000790F691E02D1994991B79E004C0991F7A
+:1065C000961708F0961B881F7A95C9F7809508954D
+:1065D000A29FB001B39FC001A39F700D811D112424
+:1065E000911DB29F700D811D1124911D08958F92F0
+:1065F0009F92AF92BF92CF92DF92EF92FF920F9352
+:106600001F93CF93DF938B016115710521F0DB019F
+:106610008C9311969C93EC015E01BFEFAB1ABB0A01
+:106620007501C8808C2D90E07BD2892B11F0E5019B
+:10663000F3CFEDE2CE1208C07E01F2E0EF0EF11CC6
+:10664000C980DD24D39409C02BE2C21205C07E01AB
+:1066500042E0E40EF11CC980D12CE701219743E010
+:1066600050E06FE07EE1CE0172D2892BB9F423961F
+:1066700045E050E06AE07EE1CE0169D2892B09F461
+:1066800025960115110519F0D801CD93DC93D11091
+:1066900000C160E070E080E89FE704C143E050E0A3
+:1066A00067E07EE1CE0153D2892B59F40115110523
+:1066B00009F4F4C0B2E0EB0EF11CF801F182E082C3
+:1066C000EDC0F70160E070E0CB01C0E0D0E07F01F9
+:1066D000A0EDAA2EAC0C29E02A1528F14D2D426020
+:1066E000B42E2D2D2870D2FE04C0211124C0219675
+:1066F00022C021112197A5E0B0E09B01AC0148DF49
+:10670000660F771F881F991F6A0D711D811D911DCE
+:106710006839A9E97A078A07A9E19A0760F0BD2DCF
+:10672000B660BB2E08C02EEFA2120AC0D3FC50C028
+:106730004D2D4860B42E3196D701CC90DB2CC7CFBD
+:106740002C2D2F7D253409F043C0A081AD3241F4BA
+:10675000BD2DB061DB2E7F0122E0E20EF11C0CC0EA
+:106760007F01AB3231F04FEFE41AF40A21E030E060
+:1067700006C0A2E0EA0EF11CA18122E030E0A053A5
+:10678000AA3018F0E21AF30A23C0F70120E030E043
+:106790002038BCE03B075CF4A901440F551F440FAF
+:1067A000551F240F351F220F331F2A0F311DAF0134
+:1067B0004F5F5F4F7A01A081A053AA3010F4FA0115
+:1067C000E7CFD4FE03C0319521953109C20FD31F05
+:1067D000D1FE09C00115110531F0E1E0EE1AF10812
+:1067E000D801ED92FC924CDB2D2D2370233019F053
+:1067F0004B015C0106C04B015C01B7FAB094B7F8DD
+:10680000B09420E030E0A901C501B40199DA8823F1
+:1068100009F43CC0D7FF06C0D195C195D10906E265
+:106820001EE102C00EE31EE16801B8E1CB1AD108F7
+:1068300090E2E92EF12CCE15DF056CF0F8012591E0
+:10684000359145915491C501B4014FDD4B015C0177
+:10685000CE19DF09F0CF04501109F594E7940C1517
+:106860001D0549F78A2D880F8B2D881F8F3F41F01A
+:1068700020E030E0A901C501B40162DA811106C04F
+:1068800082E290E09093BC148093BB14C501B401E4
+:1068900009C060E070E080E89FEF04C060E070E055
+:1068A00080EC9FE7DF91CF911F910F91FF90EF90C8
+:1068B000DF90CF90BF90AF909F908F9008952F92D0
+:1068C0003F925F926F927F928F929F92AF92BF9210
+:1068D000CF92DF92EF92FF920F931F93CF93DF93AC
+:1068E0008B01EA016115710521F0DB018C93119692
+:1068F0009C93209739F09E012250310923323105B3
+:1069000008F0F8C07C016701BFEFCB1ADB0A560123
+:10691000F7016080862D90E003D1892B11F076017C
+:10692000F2CFFDE26F120AC0570182E0A80EB11C3F
+:10693000D70111966C90772473940BC0BBE26B1255
+:1069400007C05701E2E0AE0EB11CD70111966C9062
+:10695000712CCE018F7E892B89F4B0E36B1222C09B
+:10696000F50180818F7D883541F56180F2E0AF0EC1
+:10697000B11C872D8260782EC0E1D0E0C830D105EF
+:10698000F1F04CF4C230D10511F5C12CD12CE12C21
+:10699000B0E4FB2E2EC0CA30D10531F0C031D10594
+:1069A00019F115C0209751F7CAE0D0E0ACECCA2E1F
+:1069B000DC2CEC2CACE0FA2E1CC02097F9F6C8E0D9
+:1069C000D0E0C12CD12CE12CF0E1FF2E12C060E010
+:1069D00070E080E090E89E01442737FD4095542FF9
+:1069E0008DDD69017A0105C0C12CD12CE12CE8E0D4
+:1069F000FE2EF50160E020E030E0A9014E01AA245E
+:106A000097FCA094BA2C1F0170ED572E560CA9E0EC
+:106A1000A51570F48FEB860D8A3118F499EC592E78
+:106A200006C08FE9860D8A3128F589EA582E560C62
+:106A3000852D90E08C179D07ECF467FD17C0C216FA
+:106A4000D306E406F50678F0C501B40114DD9B0118
+:106A5000AC01250D311D411D511D21303105410570
+:106A6000B0E85B0710F06FEF01C061E03196D10133
+:106A70006C90C9CF872D81700115110571F06623C7
+:106A800029F03197D801ED93FC9307C071FE19C02E
+:106A90003297D801ED93FC9314C067FF12C088238E
+:106AA00029F020E030E040E050E804C02FEF3FEF55
+:106AB0004FEF5FE782E290E09093BC148093BB14A9
+:106AC00016C0882341F050954095309521953F4F51
+:106AD0004F4F5F4F0CC057FF0AC082E290E0909387
+:106AE000BC148093BB142FEF3FEF4FEF5FE7B9016A
+:106AF000CA0104C060E070E080E090E0DF91CF91D7
+:106B00001F910F91FF90EF90DF90CF90BF90AF90CB
+:106B10009F908F907F906F905F903F902F900895FF
+:106B20009111E5C2803219F089508550D0F708954F
+:106B30009111089581548A5108F4805E855A089510
+:106B4000FB01DC0105900D920020E1F70895FB01A7
+:106B5000DC014150504088F08D9181341CF08B3520
+:106B60000CF4805E659161341CF06B350CF4605E52
+:106B7000861B611171F3990B0895881BFCCFFB01F3
+:106B8000DC014150504048F005900D920020C9F7BB
+:106B900001C01D9241505040E0F70895FB0155910E
+:106BA0005523A9F0BF01DC014D9145174111E1F7D3
+:106BB00059F4CD010590002049F04D914015411147
+:106BC000C9F3FB014111EFCF81E090E001970895F7
+:106BD000FB01DC0104C08D910190801921F441502A
+:106BE0005040C8F7881B990B0895FB01DC0102C0D7
+:106BF00001900D9241505040D8F70895DC0101C03A
+:106C00006D9341505040E0F70895FB01DC018D91F8
+:106C100081341CF08B350CF4805E619161341CF082
+:106C20006B350CF4605E861B611189F3990B089536
+:106C3000FB01DC010D900020E9F7119701900D9206
+:106C40000020E1F70895FC018191861721F0882347
+:106C5000D9F7992708953197CF010895FB01DC01F9
+:106C60008D91019080190110D9F3990B0895FB01C2
+:106C7000DC0101900D920020E1F70895FB01DC0199
+:106C80004150504030F08D910190801919F400204E
+:106C9000B9F7881B990B0895FB01DC014150504066
+:106CA00048F001900D920020C9F701C01D9241509B
+:106CB0005040E0F708950F931F93CF93DF93CDB724
+:106CC000DEB72E970FB6F894DEBF0FBECDBF0E898C
+:106CD0001F898EE08C831A8309838FEF9FE79E8341
+:106CE0008D83AE01465E5F4F688D798DCE01019632
+:106CF00010D0EF81F885E00FF11F10822E960FB6AD
+:106D0000F894DEBF0FBECDBFDF91CF911F910F91E1
+:106D100008952F923F924F925F926F927F928F923F
+:106D20009F92AF92BF92CF92DF92EF92FF920F931A
+:106D30001F93CF93DF93CDB7DEB72C970FB6F894A0
+:106D4000DEBF0FBECDBF7C016B018A01FC01178243
+:106D50001682838181FFB0C1CE0101964C01F701FB
+:106D60009381F60193FD859193FF81916F018823B3
+:106D700009F49EC1853239F493FD859193FF819189
+:106D80006F01853221F4B70190E0CAD1E8CF512CD0
+:106D9000312C20E02032A0F48B3269F030F48032C4
+:106DA00059F0833269F420612CC08D3239F0803380
+:106DB00039F4216026C02260246023C0286021C0ED
+:106DC00027FD27C030ED380F3A3078F426FF06C093
+:106DD000FAE05F9E300D1124532E13C08AE0389ED6
+:106DE000300D1124332E20620CC08E3221F426FD8A
+:106DF0005FC1206406C08C3611F4206802C088365A
+:106E000041F4F60193FD859193FF81916F0181110A
+:106E1000C1CF982F9F7D9554933028F40C5F1F4F5E
+:106E2000FFE3F9830DC0833631F0833771F083358A
+:106E300009F057C021C0F801808189830E5F1F4F80
+:106E400044244394512C540114C03801F2E06F0ED5
+:106E5000711CF801A080B18026FF03C0652D70E091
+:106E600002C06FEF7FEFC5012C874FD12C0183014A
+:106E70002C852F77222E16C03801F2E06F0E711C80
+:106E8000F801A080B18026FF03C0652D70E002C02C
+:106E90006FEF7FEFC5012C872DD12C012C85206849
+:106EA000222E830123FC19C0832D90E04816590639
+:106EB000A0F4B70180E290E033D13A94F5CFF50128
+:106EC00027FC859127FE81915F01B70190E028D1D1
+:106ED00031103A94F1E04F1A51084114510479F7F6
+:106EE000DEC0843611F0893631F5F80127FF07C07E
+:106EF00060817181828193810C5F1F4F08C0608126
+:106F00007181882777FD8095982F0E5F1F4F2F7610
+:106F1000B22E97FF09C090958095709561957F4F2F
+:106F20008F4F9F4F2068B22E2AE030E0A4012AD173
+:106F3000A82EA81843C0853729F42F7EB22E2AE048
+:106F400030E025C0F22FF97FBF2E8F36C1F018F444
+:106F5000883579F0ADC0803719F0883721F0A8C0A6
+:106F60002F2F2061B22EB4FE0DC08B2D8460B82E61
+:106F700009C024FF0AC09F2F9660B92E06C028E0E2
+:106F800030E005C020E130E002C020E132E0F8014D
+:106F9000B7FE07C060817181828193810C5F1F4FB2
+:106FA00006C06081718180E090E00E5F1F4FA401F8
+:106FB000E9D0A82EA818FB2DFF77BF2EB6FE0BC078
+:106FC0002B2D2E7FA51450F4B4FE0AC0B2FC08C0CD
+:106FD0002B2D2E7E05C07A2C2B2D03C07A2C01C0C0
+:106FE000752C24FF0DC0FE01EA0DF11D8081803358
+:106FF00011F4297E09C022FF06C07394739404C063
+:10700000822F867809F0739423FD12C020FF06C0FA
+:107010005A2C731418F4530C5718732C731460F40F
+:10702000B70180E290E02C877BD073942C85F6CF5B
+:10703000731410F4371801C0312C24FF11C0B701AC
+:1070400080E390E02C876CD02C8522FF16C021FFB6
+:1070500003C088E590E002C088E790E0B7010CC06B
+:10706000822F867851F021FD02C080E201C08BE2C0
+:1070700027FD8DE2B70190E053D0A51430F4B7019D
+:1070800080E390E04DD05A94F8CFAA94F401EA0D31
+:10709000F11D8081B70190E043D0A110F6CF3320DD
+:1070A00009F45DCEB70180E290E03AD03A94F7CF90
+:1070B000F7018681978102C08FEF9FEF2C960FB664
+:1070C000F894DEBF0FBECDBFDF91CF911F910F911E
+:1070D000FF90EF90DF90CF90BF90AF909F908F90F8
+:1070E0007F906F905F904F903F902F9008959927D9
+:1070F00088270895FC010590615070400110D8F771
+:10710000809590958E0F9F1F0895FC0161507040EF
+:1071100001900110D8F7809590958E0F9F1F0895CC
+:107120000F931F93CF93DF93182F092FEB018B81C0
+:1071300081FD03C08FEF9FEF20C082FF10C04E8102
+:107140005F812C813D81421753077CF4E881F981EE
+:107150009F012F5F3F4F39832883108306C0E88546
+:10716000F985812F1995892B29F72E813F812F5F72
+:107170003F4F3F832E83812F902FDF91CF911F911F
+:107180000F910895FA01AA27283051F1203181F199
+:10719000E8946F936E7F6E5F7F4F8F4F9F4FAF4F1F
+:1071A000B1E03ED0B4E03CD0670F781F891F9A1F32
+:1071B000A11D680F791F8A1F911DA11D6A0F711DE6
+:1071C000811D911DA11D20D009F468943F912AE0F2
+:1071D000269F11243019305D3193DEF6CF010895DA
+:1071E000462F4770405D4193B3E00FD0C9F7F6CF0B
+:1071F000462F4F70405D4A3318F0495D31FD4052D3
+:10720000419302D0A9F7EACFB4E0A6959795879568
+:1072100077956795BA95C9F7009761057105089547
+:107220009B01AC010A2E06945795479537952795F3
+:10723000BA95C9F7620F731F841F951FA01D08958B
+:107240001EE1C8E4DEE100E005C022970109FE016D
+:107250000BBFAED9CA34D10780E00807B1F7F89464
+:02726000FFCF5E
+:107262000000BD1420000A01FF3FFF3F0000803FE5
+:107272008145644325DF363E33334B410160EA00EA
+:10728200000080BB440101000000410000344200C4
+:1072920000504100004040000056430000464300B9
+:1072A20000494300000000000000001F856B3E0003
+:1072B20000803F00004040640064006400640000FD
+:1072C200803B4500803B4500007043000000000207
+:1072D200248050727573612069332072656164790C
+:1072E2002E0000000000003200FA006400DC005AA8
+:1072F20000F0006400FE0001010101015203C2011D
+:107302000E0100003E43FF00004000140054000044
+:107312001F1511151F00000C12120C0000000004B2
+:107322000A0A0A0A11110E040E1F041C00000000B2
+:1073320006191803130C00001C1F11111F00001C5A
+:1073420010181705060500000E1315110E00000097
+:1073520000C8420000C84200007A450040034400D1
+:1073620000FA430000FA43000040400000C84128F0
+:10737200230000282300001E000000102700001038
+:1073820010101010504944204175746F74756E6569
+:1073920020737461727400504944204175746F7493
+:1073A200756E65206661696C65642E204261642099
+:1073B2006578747275646572206E756D6265722E81
+:1073C2000000000000362A80AD2F0043616E6E6F10
+:1073D20074206F70656E2073756264697200534425
+:1073E2002D5052494E54494E472020202020202023
+:1073F2002020004D313132004D32323120496E763B
+:10740200616C696420657874727564657220004DE0
+:1074120032313820496E76616C6964206578747205
+:107422007564657220004D31303920496E76616C89
+:10743200696420657874727564657220004D31301C
+:107442003520496E76616C69642065787472756462
+:10745200657220004D31303420496E76616C69646A
+:1074620020657874727564657220005452494747EA
+:1074720045524544006F70656E00322E322E310047
+:107482003330302D3161005265706F7274696E67EE
+:1074920020656E6473746F70207374617475730009
+:1074A2004D32303020496E76616C696420657874A3
+:1074B200727564657220006F6B0020703A0020695B
+:1074C2003A0020643A0020633A005400496E766123
+:1074D2006C696420657874727564657200416374C6
+:1074E2006976652045787472756465723A20000089
+:1074F200000100250030001D000C0018002400319E
+:10750200001C000B00170023002F001B000A001EA6
+:107512000047000400080022002B001A0003003676
+:107522000037003500380058595A454552524F52DB
+:107532003A005072656865617420746865206E6FE8
+:107542007A7A6C6521004368616E67696E672066AE
+:10755200696C616D656E742100496E736572742089
+:1075620066696C616D656E7400416E64207072654F
+:10757200737320746865206B6E6F62004368616E7E
+:107582006765207375636365737321004C6F616473
+:10759200696E6720636F6C6F7200506C6561736512
+:1075A2002077616974004C6F6164696E6720666957
+:1075B2006C616D656E74005072696E742061626FE9
+:1075C20072746564004368616E67656420636F72FC
+:1075D200726563746C793F005965730046696C612A
+:1075E2006D656E74206E6F74206C6F6164656400EB
+:1075F200436F6C6F72206E6F7420636C65617200F2
+:107602003E0020205A0000803B4500803B450000A0
+:1076120070430000704200000000318B80AD537453
+:1076220065707261746520746F6F20686967683A6B
+:10763200200000000000AFA583A558A560A573A592
+:0276420082A51F
+:00000001FF

+ 5992 - 0
hex_files/175-RAMBo1-0a-en.hex

@@ -0,0 +1,5992 @@
+:100000000C94250F0C94560F0C94560F0C94560F0D
+:100010000C94560F0C94560F0C94560F0C94560FCC
+:100020000C94560F0C94560F0C94560F0C94560FBC
+:100030000C94560F0C9421AD0C94560F0C94560F43
+:100040000C94560F0C94FA8B0C94560F0C94560F7C
+:100050000C94560F0C94560F0C9439260C94E7A868
+:100060000C94560F0C940D890C94560F0C94560F4B
+:100070000C94560F0C94560F0C94560F0C94560F6C
+:100080000C94560F0C94560F0C94560F0C94560F5C
+:100090000C94560F0C94560F0C94560F0C9419A6F2
+:1000A0000C94560F0C94560F0C94560F0C94560F3C
+:1000B0000C94560F0C94560F0C94560F0C94560F2C
+:1000C0000C94560F0C94560F0C94560F0C94560F1C
+:1000D0000C94560F0C94560F0C94560F0C94560F0C
+:1000E0000C94560F86269426B026BE26D826E626E1
+:1000F0000027042706270A2712276BA770A775A7D2
+:100100007FA7F8A789A791A799A7A3A7ADA7B7A786
+:10011000C6A7D0A7F8A7DAA7E4A7EEA716A819A83C
+:100120000CA810A850A81DA821A827A82BA82FA864
+:1001300035A839A83DA850A843A847A84BA8084A05
+:10014000D73B3BCE016E84BCBFFDC12F3D6C7431EB
+:100150009ABD56833DDA3D00C77F11BED9E4BB4C42
+:100160003E916BAAAABE000000803F05A84CCDB20C
+:10017000D44EB93836A9020C50B9918688083CA6ED
+:10018000AAAA2ABE000000803F007C3C3E5E2B3DB8
+:100190003F2F5B5D3B2C2A225C004572723A204D5A
+:1001A000415854454D50204245440054656D70659A
+:1001B000726174757265206865617465642062653A
+:1001C00064207377697463686564206F66662E20A7
+:1001D0004D415854454D502074726967676572658A
+:1001E00064202121004572723A204D494E54454DFC
+:1001F00050003A204578747275646572207377698F
+:100200007463686564206F66662E204D494E5445C0
+:100210004D502074726967676572656420210045DE
+:1002200072723A204D415854454D50003A2045785D
+:10023000747275646572207377697463686564208D
+:100240006F66662E204D415854454D50207472699A
+:10025000676765726564202100202D20496E7661F4
+:100260006C6964206578747275646572206E756D52
+:10027000626572202100504944204175746F747585
+:100280006E652066696E69736865642120507574B7
+:1002900020746865206C617374204B702C204B694E
+:1002A00020616E64204B6420636F6E7374616E74A2
+:1002B000732066726F6D2061626F766520696E745F
+:1002C0006F20436F6E66696775726174696F6E2E19
+:1002D0006800504944204175746F74756E652066DE
+:1002E00061696C6564212074696D656F75740020A7
+:1002F000403A006F6B20543A006F6B20423A005036
+:100300004944204175746F74756E65206661696C2F
+:100310006564212054656D70657261747572652025
+:10032000746F6F206869676800204B643A20002072
+:100330004B693A2000204B703A200020436C6173D7
+:100340007369632050494420002054753A200020EE
+:100350004B753A2000206D61783A2000206D696E5F
+:100360003A200020643A200020626961733A20003C
+:1003700070012C0190012701B0012201C0011D0173
+:10038000F00118011002130130020E016002090190
+:1003900090020401C002FF000003FA004003F500D0
+:1003A0008003F000D003EB002004E6007004E100BD
+:1003B000E004DC004005D700C005D2004006CD00B7
+:1003C000D006C8008007C3003008BE00F008B9009E
+:1003D000C009B400B00AAF00B00BAA00D00CA50051
+:1003E000000EA000500F9B00C0109600501291000C
+:1003F00000148C00C0158700B0178200B0197D0072
+:10040000D01B7800001E730040206E00902269000F
+:10041000F024640040275F0090295A00E02B55002B
+:10042000102E500020304B0010324600E0334100C7
+:1004300090353C001037370070383200A0392D005D
+:10044000B03A2800A03B2300603C1E00103D19007C
+:10045000903D1400103E0F00703E0A00C03E0500A3
+:10046000003F00004D383420582059205A204500C4
+:1004700043616E6E6F7420656E7465722073756271
+:100480006469723A20004D3234004D3233202573B6
+:10049000006175746F25692E67006572726F722036
+:1004A00077726974696E6720746F2066696C650085
+:1004B0004E6F74205344207072696E74696E6700C9
+:1004C0002F005344207072696E74696E67206279E0
+:1004D000746520002E0044656C6574696F6E20663B
+:1004E00061696C65642C2046696C653A2000466938
+:1004F0006C652064656C657465643A002E006F70ED
+:10050000656E206661696C65642C2046696C653A8D
+:10051000200057726974696E6720746F2066696C79
+:10052000653A20002E006F70656E206661696C650B
+:10053000642C2046696C653A20002E006F70656E51
+:10054000206661696C65642C2046696C653A200000
+:1005500046696C652073656C65637465640020533F
+:10056000697A653A200046696C65206F70656E6532
+:10057000643A20002E006F70656E206661696C65BC
+:10058000642C2046696C653A20004E6F77206672B5
+:100590006573682066696C653A20004E6F77206449
+:1005A0006F696E672066696C653A20002220706F63
+:1005B00073002220706172656E743A2200535542B6
+:1005C000524F5554494E452043414C4C2074617262
+:1005D0006765743A2200747279696E6720746F20BF
+:1005E00063616C6C207375622D67636F6465206650
+:1005F000696C6573207769746820746F6F206D6112
+:100600006E79206C6576656C732E204D4158206C98
+:100610006576656C2069733A0053442063617264A7
+:10062000206F6B006F70656E526F6F74206661692A
+:100630006C656400766F6C756D652E696E697420EB
+:100640006661696C656400534420696E6974206654
+:1006500061696C0000002110422063308440A55085
+:10066000C660E770088129914AA16BB18CC1ADD1F8
+:10067000CEE1EFF13112100273325222B5529442A0
+:10068000F772D662399318837BB35AA3BDD39CC348
+:10069000FFF3DEE36224433420040114E664C774EC
+:1006A000A44485546AA54BB528850995EEE5CFF598
+:1006B000ACC58DD55336722611163006D776F66640
+:1006C0009556B4465BB77AA719973887DFF7FEE7E8
+:1006D0009DD7BCC7C448E5588668A778400861180C
+:1006E00002282338CCC9EDD98EE9AFF94889699938
+:1006F0000AA92BB9F55AD44AB77A966A711A500AE0
+:10070000333A122AFDDBDCCBBFFB9EEB799B588B87
+:100710003BBB1AABA66C877CE44CC55C222C033C2B
+:10072000600C411CAEED8FFDECCDCDDD2AAD0BBDD7
+:10073000688D499D977EB66ED55EF44E133E322E7F
+:10074000511E700E9FFFBEEFDDDFFCCF1BBF3AAF27
+:10075000599F788F8891A981CAB1EBA10CD12DC185
+:100760004EF16FE18010A100C230E320045025401B
+:1007700046706760B9839893FBA3DAB33DC31CD37B
+:100780007FE35EF3B1029012F322D232354214526B
+:1007900077625672EAB5CBA5A89589856EF54FE5C7
+:1007A0002CD50DC5E234C324A014810466744764BB
+:1007B00024540544DBA7FAB79987B8975FE77EF71B
+:1007C0001DC73CD7D326F2369106B016576676760B
+:1007D000154634564CD96DC90EF92FE9C899E989E7
+:1007E0008AB9ABA94458654806782768C018E1085B
+:1007F0008238A3287DCB5CDB3FEB1EFBF98BD89BBB
+:10080000BBAB9ABB754A545A376A167AF10AD01AAA
+:10081000B32A923A2EFD0FED6CDD4DCDAABD8BAD06
+:10082000E89DC98D267C076C645C454CA23C832CFA
+:10083000E01CC10C1FEF3EFF5DCF7CDF9BAFBABF5A
+:10084000D98FF89F176E367E554E745E932EB23E4A
+:10085000D10EF01E53544F505045442E200050727C
+:10086000696E7465722073746F707065642064754E
+:100870006520746F206572726F72732E20466978DE
+:1008800020746865206572726F7220616E642075D5
+:100890007365204D39393920746F20726573746126
+:1008A00072742E202854656D70657261747572655E
+:1008B0002069732072657365742E205365742069F6
+:1008C00074206166746572207265737461727469F4
+:1008D0006E6729004B494C4C45442E2000507269EC
+:1008E0006E7465722068616C7465642E206B696C2F
+:1008F0006C28292063616C6C656421006F6B005269
+:100900006573656E643A20002200556E6B6E6F77DA
+:100910006E20636F6D6D616E643A2022004D32323D
+:100920003020532569005A204F6666736574203A5B
+:1009300020007A5F6D61783A20007A5F6D696E3AC7
+:1009400020005A204F6666736574005A204F666611
+:10095000736574206F6B002200556E6B6E6F776E3F
+:1009600020636F6D6D616E643A2022007A5F6D6165
+:10097000783A20007A5F6D696E3A2000795F6D6188
+:10098000783A2000795F6D696E3A2000785F6D617A
+:10099000783A2000785F6D696E3A2000205A3A005C
+:1009A00020593A0020436F756E7420583A20002079
+:1009B000453A00205A3A0020593A00583A00464930
+:1009C000524D574152455F4E414D453A4D61726C13
+:1009D000696E2056312E302E323B20537072696E74
+:1009E0007465722F6772626C206D61736875702018
+:1009F000666F722067656E36204649524D574152E8
+:100A0000455F55524C3A68747470733A2F2F67697A
+:100A1000746875622E636F6D2F4D61726C696E46DE
+:100A200069726D776172652F4D61726C696E2050CD
+:100A3000524F544F434F4C5F56455253494F4E3AD5
+:100A4000312E30204D414348494E455F5459504561
+:100A50003A50727573612069332045585452554499
+:100A600045525F434F554E543A3120555549443A0B
+:100A700030303030303030302D303030302D30307C
+:100A800030302D303030302D30303030303030306C
+:100A9000303030300A005072757361206933204F56
+:100AA00066662E005072757361206933207265612D
+:100AB00064792E0042656420646F6E652E002042CA
+:100AC0003A0020453A00543A004265642048656186
+:100AD00074696E672E0048656174696E6720646F83
+:100AE0006E652E0020573A0020453A00543A0048DF
+:100AF000656174696E672E2E2E002042403A0020F8
+:100B0000403A00202F003A00205400202F002042BD
+:100B10003A00202F006F6B20543A002569206D6940
+:100B20006E2C2025692073656300456E642066691C
+:100B30006C65206C69737400426567696E20666934
+:100B40006C65206C697374004E6F206D6F76652E36
+:100B50000050727573612069332072656164792E6B
+:100B600000526573756D696E67207072696E7400EE
+:100B70005761697420666F7220757365722E2E2E10
+:100B800000536C6565702E2E2E00256920686F75E8
+:100B90007273202569206D696E7574657300446FEA
+:100BA0006E65207072696E74696E672066696C6527
+:100BB0000053544F505045442E20005072696E74BB
+:100BC00065722073746F707065642064756520743D
+:100BD0006F206572726F72732E2046697820746878
+:100BE00065206572726F7220616E64207573652076
+:100BF0004D39393920746F20726573746172742EA7
+:100C0000202854656D706572617475726520697312
+:100C10002072657365742E20536574206974206199
+:100C2000667465722072657374617274696E672987
+:100C3000004E6F204C696E65204E756D62657220A6
+:100C40007769746820636865636B73756D2C204CDD
+:100C5000617374204C696E653A20004E6F204368C2
+:100C600065636B73756D2077697468206C696E6558
+:100C7000206E756D6265722C204C617374204C6916
+:100C80006E653A2000636865636B73756D206D69EE
+:100C9000736D617463682C204C617374204C696EB1
+:100CA000653A20004C696E65204E756D6265722054
+:100CB0006973206E6F74204C617374204C696E658B
+:100CC000204E756D6265722B312C204C617374203F
+:100CD0004C696E653A20004D31313000446F6E65CD
+:100CE00020736176696E672066696C652E006F6B94
+:100CF000004D3239002020506C616E6E6572427575
+:100D00006666657242797465733A200020467265A2
+:100D100065204D656D6F72793A200044656320321D
+:100D200033203230313500436F6D70696C65643A41
+:100D30002000286E6F6E652C2064656661756C748A
+:100D400020636F6E6669672900207C204175746896
+:100D50006F723A20004465632032332032303135DF
+:100D60002031353A34373A323200204C61737420E6
+:100D7000557064617465643A2000312E302E320063
+:100D80004D61726C696E0020536F66747761726595
+:100D900020526573657400205761746368646F67DF
+:100DA000205265736574002042726F776E206F75F4
+:100DB00074205265736574002045787465726E61A5
+:100DC0006C20526573657400506F776572557000C2
+:100DD0007374617274002200656E717565696E6767
+:100DE0002022002200656E717565696E6720220001
+:100DF000FFFFFF0000A0400000A0400000004000F6
+:100E0000005643000046431FC54843000000000051
+:100E10000000001F856B3E00005643000046430063
+:100E200000494300000000000000001F856B3E6584
+:100E300063686F3A004572726F723A004361726480
+:100E40002072656D6F766564004361726420696E1F
+:100E50007365727465640047312045343020463133
+:100E60003030004731204536352046343030004D93
+:100E7000383300473120452D38302046343030009B
+:100E80004D3833002D2D3A2D2D002D2D2D0053449E
+:100E9000000120000120004D363030004368616EB3
+:100EA00067652066696C616D656E7400466C6F776E
+:100EB00000466C6F770046616E2073706565640054
+:100EC00046616E207370656564004265640042652A
+:100ED00064004E6F7A7A6C65004E6F7A7A6C6500AA
+:100EE0005370656564005370656564004D61696E9B
+:100EF00000436F6F6C646F776E00464C4558202D31
+:100F000020203235302F35300050502020202D2029
+:100F1000203235342F3130300048495053202D20B5
+:100F2000203232302F3130300050455420202D20D7
+:100F3000203234302F393000504C4120202D2020D9
+:100F40003232302F35300041425320202D202032C4
+:100F500038352F313030004D61696E004D38340026
+:100F60004D383420582059205A2045004D32340045
+:100F70004D323320257300052E2E004D61696E0021
+:100F800046616E2073706565640046616E20737003
+:100F90006565640042656400426564004E6F7A7A5C
+:100FA0006C65004E6F7A7A6C650053657474696E77
+:100FB000677300580059005A00457874727564656B
+:100FC00072004578747275646572004D6F766520A5
+:100FD0005A004D6F76652059004D6F766520580098
+:100FE00053657474696E67730047323800417574D5
+:100FF0006F20686F6D65004D38340044697361621D
+:101000006C652073746570706572730047323820A8
+:101010005A0043616C696272617465205A004D6FB9
+:10102000766520617869730054656D7065726174CE
+:10103000757265004D61696E005265763A203330F5
+:10104000302D316100686F77746F2E707275736127
+:1010500033642E636F6D00666F72756D2E707275DE
+:10106000736133642E636F6D0070727573613364E6
+:101070002E636F6D004669726D77617265202D2059
+:10108000322E322E31004D61696E00537570706FD3
+:1010900072740053657474696E677300556E6C6F7B
+:1010A00061642066696C616D656E74004C6F61648B
+:1010B0002066696C616D656E74004E6F205344202C
+:1010C00063617264005072696E742066726F6D2085
+:1010D00053440053746F70207072696E74005265CF
+:1010E00073756D65207072696E74005061757365FB
+:1010F000207072696E740050726568656174005486
+:10110000756E6500496E666F2073637265656E006B
+:1011100048617264636F6465642044656661756CE0
+:10112000742053657474696E6773204C6F616465D5
+:10113000640046696C616D656E74207365747469D2
+:101140006E67733A2044697361626C6564002020A5
+:10115000204D32303020440046696C616D656E74FC
+:101160002073657474696E67733A002020204D32D5
+:1011700030392053004175746F2D5265747261636C
+:10118000743A20533D3020746F2064697361626C3F
+:10119000652C203120746F20696E746572707265E1
+:1011A0007420657874727564652D6F6E6C79206D2E
+:1011B0006F766573206173207265747261637473F6
+:1011C000206F72207265636F7665726965730020A7
+:1011D00046002020204D3230382053005265636F86
+:1011E0007665723A20533D4578747261206C656E65
+:1011F00067746820286D6D2920463A5370656564D0
+:1012000020286D6D2F6D2900205A002046002020D7
+:10121000204D323037205300526574726163743A46
+:1012200020533D4C656E67746820286D6D292046FB
+:101230003A537065656420286D6D2F6D29205A3AE8
+:10124000205A4C69667420286D6D290020440020C6
+:1012500049002020204D3330312050005049442097
+:1012600073657474696E67733A00205A00205900E0
+:1012700020204D323036205800486F6D65206F6653
+:101280006673657420286D6D293A00204500205A48
+:101290000020580020420020540020204D323035DC
+:1012A000205300416476616E6365642076617269E3
+:1012B00061626C65733A20533D4D696E20666565C9
+:1012C000647261746520286D6D2F73292C20543D44
+:1012D0004D696E2074726176656C20666565647216
+:1012E00061746520286D6D2F73292C20423D6D6936
+:1012F0006E696D756D207365676D656E74207469B8
+:101300006D6520286D73292C20583D6D6178696DBD
+:10131000756D205859206A65726B20286D6D2F738A
+:10132000292C20205A3D6D6178696D756D205A20F9
+:101330006A65726B20286D6D2F73292C2020453D26
+:101340006D6178696D756D2045206A65726B202826
+:101350006D6D2F73290020540020204D3230342031
+:101360005300416363656C65726174696F6E3A2006
+:10137000533D616363656C65726174696F6E2C20A7
+:10138000543D7265747261637420616363656C655A
+:10139000726174696F6E00204500205A0020590068
+:1013A00020204D3230312058004D6178696D756DC7
+:1013B00020416363656C65726174696F6E20286D8E
+:1013C0006D2F7332293A00204500205A0020590021
+:1013D00020204D3230332058004D6178696D756D95
+:1013E0002066656564726174657320286D6D2F7366
+:1013F000293A00204500205A0020590020204D396C
+:101400003220580053746570732070657220756EB9
+:1014100069743A0045303A20005A3A2000593A207F
+:1014200000583A20004D53312C4D53322050696EF4
+:10143000730A00656E6473746F7073206869743A20
+:10144000205A00205A3A00656E6473746F707320DE
+:101450006869743A20590020593A00656E647374C3
+:101460006F7073206869743A20580020583A0065FC
+:101470006E6473746F7073206869743A200024F48A
+:10148000D43050C38E20C2A24017828B7011127AC2
+:10149000910D816CD90AA861E108C75866076151AE
+:1014A00043061E4B5D05C145A7041A411104093DC1
+:1014B0009803713931034036DB0265339102D43031
+:1014C0005402802E1D02632CEE01752AC501B0283E
+:1014D000A001102781018F2564012B244B01E022FC
+:1014E0003401AC211F018D200D01801FFC00841EE2
+:1014F000ED00971DDF00B81CD200E61BC600201BC4
+:10150000BC00641AB200B219A8000A19A0006A1837
+:101510009900D117910040178B00B5168400311641
+:101520007E00B31579003A157300C7146F00581484
+:101530006A00EE1366008813630025135E00C7126D
+:101540005B006C12570015125400C111510070114C
+:101550004F0021114B00D61049008D104700461056
+:10156000440002104200C00F4000800F3E00420FB6
+:101570003C00060F3B00CB0E3800930E37005C0E8C
+:101580003500270E3400F30D3200C10D3100900DEF
+:101590003000600D2E00320D2D00050D2C00D90CF1
+:1015A0002B00AE0C2900850C29005C0C2700350CA3
+:1015B00027000E0C2600E80B2400C40B2400A00B0F
+:1015C00023007D0B23005A0B2100390B2100180B3F
+:1015D0002000F80A1F00D90A1E00BB0A1E009D0A3F
+:1015E0001D00800A1D00630A1C00470A1B002C0A0C
+:1015F0001B00110A1A00F7091A00DD091900C409B5
+:101600001900AB091900920917007B09180063093A
+:1016100017004C09160036091600200916000A09A1
+:101620001500F5081500E0081400CC081400B808EF
+:101630001400A4081400900813007D0812006B0821
+:10164000130058081200460812003408110023083D
+:1016500011001208110001081100F0071000E00746
+:101660001000D0071000C0071000B0070F00A1073E
+:10167000100091070E0083070F0074070F00650725
+:101680000E0057070E0049070E003B070D002E07FE
+:101690000E0020070D0013070D0006070D00F906C8
+:1016A0000C00ED060D00E0060C00D4060C00C80688
+:1016B0000C00BC060C00B0060C00A4060B0099063A
+:1016C0000C008D060B0082060B0077060B006C06E3
+:1016D0000B0061060A0057060B004C060A00420682
+:1016E0000A0038060A002E060A0024060A001A0616
+:1016F0000A001006090007060A00FD050900F405A6
+:101700000900EB050900E2050900D9050900D0052B
+:101710000900C7050900BE050900B5050800AD05AB
+:101720000800A50509009C050800940508008C0523
+:101730000800840508007C050800740508006C0595
+:101740000700650508005D050700560508004E0501
+:101750000700470507004005080038050700310568
+:1017600007002A050700230507001C0506001605CB
+:1017700007000F0507000805060002050700FB0427
+:101780000600F5040700EE040600E8040600E20483
+:101790000700DB040600D5040600CF040600C904D8
+:1017A0000600C3040600BD040600B7040600B10429
+:1017B0000500AC040600A6040600A00405009B0476
+:1017C000060095040500900406008A0405008504BF
+:1017D0000500800406007A04050075040500700405
+:1017E00005006B04050066040500610405005C0447
+:1017F000050057040500520405004D040500480487
+:101800000500430405003E0404003A0405003504C5
+:101810000500300404002C04050027040400230400
+:1018200005001E0404001A04040016040500110437
+:1018300004000D040400090405000404040000046D
+:101840000400FC030400F8030400F4030400F003A4
+:101850000400EC030400E8030400E4030400E003D4
+:101860000400DC030400D8030400D4030400D00304
+:101870000400CC030400C8030300C503030024F4E0
+:1018800004D9201BC40C5C0E9804C4095F026507D0
+:101890007101F405F900FB04B30048048700C1039B
+:1018A00069005803550003034500BE023A00840254
+:1018B000310053022A002902250004022000E4011D
+:1018C0001C00C8011900AF01170098011400840121
+:1018D0001300710110006101100051010E0043015D
+:1018E0000D0036010B002B010B0020010B00150130
+:1018F00009000C01090003010800FB000800F300C7
+:101900000800EB000700E4000600DE000600D80037
+:101910000600D2000600CC000500C7000500C2008A
+:101920000500BD000400B9000400B5000400B100CA
+:101930000400AD000400A9000400A5000300A200FB
+:1019400003009F0004009B00030098000300950023
+:10195000020093000300900003008D0002008B0042
+:10196000030088000200860002008400030081005A
+:1019700002007F0002007D0002007B00020079006F
+:10198000020077000100760002007400020072007D
+:101990000100710002006F0002006D0001006C0088
+:1019A00002006A0001006900020067000100660091
+:1019B0000100650001006400020062000100610096
+:1019C0000100600001005F0002005D0001005C009A
+:1019D00001005B0001005A0001005900010058009D
+:1019E000010057000100560001005500010054009D
+:1019F000010053000000530001005200010051009B
+:101A00000100500001004F0001004E0000004E0098
+:101A100001004D0001004C0001004B0000004B0094
+:101A200001004A0001004900010048000000480090
+:101A3000010047000100460000004600010045008B
+:101A40000000450001004400010043000000430085
+:101A5000010042000000420001004100000041007E
+:101A60000100400001003F0000003F0001003E0077
+:101A700000003E0001003D0000003D0001003C0070
+:101A800000003C0000003C0001003B0000003B0067
+:101A900001003A0000003A0001003900000039005E
+:101AA0000100380000003800000038000100370055
+:101AB000000037000100360000003600000036004C
+:101AC0000100350000003500000035000100340041
+:101AD0000000340000003400010033000000330037
+:101AE000000033000100320000003200000032002C
+:101AF0000100310000003100000031000100300021
+:101B0000000030000000300001002F0000002F0016
+:101B100000002F0000002F0001002E0000002E000A
+:101B200000002E0001002D0000002D0000002D00FF
+:101B300000002D0001002C0000002C0000002C00F3
+:101B400000002C0001002B0000002B0000002B00E7
+:101B500000002B0001002A0000002A0000002A00DB
+:101B600000002A00010029000000290000002900CF
+:101B700000002900000029000100280000002800C2
+:101B800000002800000028000000280001002700B5
+:101B900000002700000027000000270000002700A9
+:101BA000010026000000260000002600000026009C
+:101BB000000026000100250000002500000025008F
+:101BC0000000250000002500000025000100240081
+:101BD0000000240000002400000024000000240075
+:101BE0000100230000002300000023000000230068
+:101BF0000000230000002300000023000100220059
+:101C0000000022000000220000002200000022004C
+:101C1000000022000100210000002100000021003E
+:101C20000000210000002100000021000000210030
+:101C30000100200000002000000020000000200023
+:101C40000000200000002000000020000000200014
+:101C500001001F0000001F0000001F0000001F0007
+:101C600000001F0000001F0000001F0001001E00F8
+:101C700000001E0000001E0000001E000000207476
+:101C80006F6F206C6F6E6720657874727573696F03
+:101C90006E2070726576656E7465640020636F6C8B
+:101CA0006420657874727573696F6E2070726576E2
+:101CB000656E746564000000090A02080B0C0D07CC
+:101CC0000603040100000000000000000000000006
+:101CD0000000000000000000000000000000000004
+:101CE000000011100F0000000000000000000000C4
+:101CF00000000000000000000000000000000000E4
+:101D000000000000000000000000000001021020A0
+:101D10002008081020401020408002010201080421
+:101D200002010102040810204080804020100804B5
+:101D3000020180040201804020100804020108040E
+:101D40000201010204081020408001020408102052
+:101D5000408010080408801020400440801020407B
+:101D600004800505050507050808080802020202A7
+:101D70000A0A080804040404010101010101010127
+:101D80000303030303030303040707070C0C0C0CF2
+:101D90000C0C0C0C020202020606060606060606DB
+:101DA0000B0B0B0B0B0B0B0B07070A0A0A0A0A0A91
+:101DB000050505040404080800002000230026008F
+:101DC00029002C002F003200000100000301060151
+:101DD000090100002200250028002B002E00310000
+:101DE000340002010000050108010B010000210080
+:101DF000240027002A002D003000330001010000DC
+:101E0000040107010A01024E414E494E4954594905
+:101E10004E46CDCCCC3D0AD7233C17B7D13877CC32
+:101E20002B329595E6241FB14F0A00002041000097
+:101E3000C84200401C4620BCBE4CCA1B0E5AAEC550
+:101E40009D749D63FF7DEDA5A16311241FBECFEF9F
+:101E5000D1E2DEBFCDBF00E00CBF15E0A0E0B2E0F4
+:101E6000E2E6F2E701E00BBF02C007900D92A23E4E
+:101E7000B107D9F724E1A2EEB5E001C01D92AD3B58
+:101E8000B207E1F71EE1C8E4DEE100E006C02297F8
+:101E90000109FE010BBF0E94D8B2C234D10780E015
+:101EA0000807A9F70E94F1A90C9420B90C9400002E
+:101EB000CF93DF93EC019C012C5F3F4F41E050E05A
+:101EC00060E070E0898D9A8D0E94FA19882399F05C
+:101ED0004D895E896F89788D452B462B472B59F4A8
+:101EE0004C815D816E817F814D8B5E8B6F8B788F96
+:101EF000998190689983DF91CF910895CF92DF9275
+:101F0000EF92FF920F931F93CF93DF93EC01898998
+:101F10009A89AB89BC89803E9F4FAF41B10510F0D3
+:101F200080E06BC0CE01C4DF8823D1F30E940E187D
+:101F3000182F8823A9F3E98DFA8DCC80DD80EE80FF
+:101F4000FF8032E0C31AD108E108F108058404C01B
+:101F5000CC0CDD1CEE1CFF1C0A94D2F786859785FD
+:101F6000A089B189C80ED91EEA1EFB1E81E08093AC
+:101F7000E805C092EB07D092EC07E092ED07F092F3
+:101F8000EE0780E092E0EBEEF5E0DF019C011D92B0
+:101F900021503040E1F701E0E98DFA8D8481081786
+:101FA00090F42BEE35E0B701A601400F511D611DE5
+:101FB000711D8091E9059091EA050E94E73B882315
+:101FC000E1F00F5FE9CFC12C82E0D82EE12CF12C9B
+:101FD000058404C0CC0CDD1CEE1CFF1C0A94D2F757
+:101FE00049895A896B897C894C0D5D1D6E1D7F1D49
+:101FF000498B5A8B6B8B7C8B812FDF91CF911F91FB
+:102000000F91FF90EF90DF90CF900895CF93DF93E3
+:10201000EC0141E0611101C040E06C857D858E8559
+:102020009F850E944E18882341F0888920E2829F74
+:10203000C001112485519A4F02C080E090E0DF91E9
+:10204000CF91089530E020E04EE2DC015C91503207
+:1020500071F0383029F4FB01E20FF11D40832F5F4E
+:10206000FB01E20FF11DDC015C9150832F5F3F5FAC
+:1020700001963B3051F7FB01E20FF11D10820895EC
+:10208000CF93DF93EB01FC012381211102C080E09B
+:102090000EC02250223020F48FE28883198206C0BD
+:1020A00060E0B4DF009799F3BE01CCDF81E0DF91FF
+:1020B000CF910895FB012BE030E231932150E9F7F5
+:1020C000DC0190E027E03A2FEB2F8D9181110AC0BF
+:1020D000DA013C931196EC9381E0FB019081903200
+:1020E00039F525C08F32A1F38E3219F0EAE8F1E01C
+:1020F00008C02A30E1F098E02AE0E5CF31963817A1
+:10210000B1F034913111FACF291788F03FED380F33
+:102110003E3568F431E0390FFB01E90FF11D9FE90D
+:10212000980F9A3108F480528083932FCCCF80E0AF
+:1021300008950F931F93CF93DF93EC018B018B8155
+:10214000882311F080E042C0FB018789803139F19A
+:102150008032C1F783E08B83F801428D538D648D0B
+:10216000758D4D8B5E8B6F8B788F9E012F5E3F4FF1
+:10217000C8010E940519882329F31A8F098F81E06D
+:1021800089831C821D821E821F82188619861A86E8
+:102190001B861C861D861E861F86188A17C082E035
+:1021A0008B831D8A1E8A1F8A188EFB01408D518DDC
+:1021B00060E070E095E0440F551F661F771F9A9509
+:1021C000D1F7498B5A8B6B8B7C8BD7CFDF91CF911B
+:1021D0001F910F9108952F923F924F925F926F92AD
+:1021E0007F928F929F92AF92BF92CF92DF92EF92A7
+:1021F000FF920F931F93CF93DF93EC015B016A0172
+:102200008B81811103C08FEF9FEFC7C0898180FF51
+:10221000FACF49895A896B897C8988859985AA85ED
+:10222000BB852601612C712C8A019B01081B190BAF
+:102230002A0B3B0B401651066206730618F06A0122
+:10224000C81AD90A76013E0124E0620E711CE1141D
+:10225000F10409F476C0488559856A857B854A0171
+:1022600081E098222B811A012B01E9E056944794D2
+:1022700037942794EA95D1F7898D9A8DFC01223005
+:1022800049F4628D738D848D958D620D731D841D4F
+:10229000951D3CC014811150122181149104C1F488
+:1022A000111116C0452B462B472B49F48D899E8969
+:1022B000AF89B88D8C839D83AE83BF8309C04C8169
+:1022C0005D816E817F81930121D7882309F49BCFA3
+:1022D000E98DFA8D6C817D818E819F8162507109BB
+:1022E00081099109058404C0660F771F881F991F13
+:1022F0000A94D2F72685378540895189620F731F6A
+:10230000841F951F610F711D811D911D20E032E01A
+:102310002819390987012E153F0508F4890101158F
+:10232000F2E01F0769F52091EB073091EC0740912F
+:10233000ED075091EE07621773078407950719F4AC
+:102340001FC0C6012AC09501AB01BC018091E905FF
+:102350009091EA050E94723B882309F454CFA00EA5
+:10236000B11E88859985AA85BB85800F911FA11D07
+:10237000B11D88879987AA87BB87E01AF10A67CFC2
+:1023800040E08CD6882309F43ECFB40165517A4FE2
+:10239000A801C5010E94F5B5E2CFDF91CF911F9151
+:1023A0000F91FF90EF90DF90CF90BF90AF909F90F4
+:1023B0008F907F906F905F904F903F902F900895F7
+:1023C000CF93DF931F92CDB7DEB741E050E0BE015F
+:1023D0006F5F7F4F00DF019719F4898190E002C0A1
+:1023E0008FEF9FEF0F90DF91CF910895CF92DF9203
+:1023F000EF92FF920F931F93CF93DF936C01EB014A
+:102400007A01FC018381823060F00085118522858C
+:1024100033850F71112722273327012B022B032B22
+:1024200011F08FEF5CC04115510511F0F7011082DA
+:102430001DE040E250E0BE01C601CDDE80329105D4
+:1024400039F021E0892B09F420E0822F819547C0E3
+:1024500028812223C1F0253E61F32E3251F33B85C2
+:102460003F733F3061F4E114F10449F04A8D5B8D14
+:10247000452B29F42F713FEF320F343030F02B858C
+:1024800023FDD7CF2CC080E02AC030E02150310995
+:10249000129FC001139F900D1124F701E80FF91F3F
+:1024A000298120832B8121832D8122832F812383E6
+:1024B000298524832E852583288926832A892783B5
+:1024C0002C8920872E892187288D22872C8D238790
+:1024D0002E8D2487288126FFD2CF1586D0CFDF917D
+:1024E000CF911F910F91FF90EF90DF90CF900895C3
+:1024F0001F93CF93DF93EC018B81823018F480E03F
+:1025000090E023C0488559856A857B85A5E076954E
+:10251000679557954795AA95D1F7142F1F70CE014F
+:102520004FDF97FDECCF488559856A857B85415EF5
+:102530005F4F6F4F7F4F488759876A877B8720E2BD
+:10254000129FC001112485519A4FDF91CF911F91A5
+:1025500008954F925F926F927F92AF92BF92CF9207
+:10256000DF92EF92FF920F931F93CF93DF93EC01D3
+:102570006A017B012B81222349F089899A89AB89E1
+:10258000BC8984179507A607B70710F480E06BC0D5
+:10259000223009F463C0C114D104E104F10449F408
+:1025A0001C821D821E821F82188619861A861B862F
+:1025B00059C088859985AA85BB85E98DFA8DE58501
+:1025C000F0E03996AC01BD01415051096109710932
+:1025D0000E2E04C076956795579547950A94D2F7C5
+:1025E00097018601015011092109310904C036956E
+:1025F000279517950795EA95D2F70417150726072B
+:10260000370720F0892B8A2B8B2B49F48D899E89E3
+:10261000AF89B88D8C839D83AE83BF8304C0041BB8
+:10262000150B260B370B280139015E0184E0A80E3B
+:10263000B11C411451046104710481F04C815D812D
+:102640006E817F819501898D9A8D60D591E0491ABF
+:102650005108610871088111ECCF05C0C886D98680
+:10266000EA86FB8681E0DF91CF911F910F91FF9069
+:10267000EF90DF90CF90BF90AF907F906F905F9082
+:102680004F9008950F931F93CF93DF93EC018B81AD
+:102690008823D1F1898187FF32C061E0CE01B6DCA9
+:1026A0008C01009789F1FC018081853E69F18B8165
+:1026B000823040F449895A896B897C89448F558FCF
+:1026C000668F778F4D895E896F89788DF801538F7A
+:1026D000428F758B648BE091E205F091E3053097B2
+:1026E00059F0B8016A5E7F4FC80148961995F80104
+:1026F000808D918D938B828B89818F778983DF91F8
+:10270000CF911F910F918AC481E0888380E0DF918F
+:10271000CF911F910F910895CF93DF93EC01B2DF1A
+:102720001B82DF91CF910895FC0123812111F4CF09
+:1027300008954F925F926F927F92AF92BF92CF9225
+:10274000DF92EF92FF920F931F93CF93DF9300D00E
+:102750001F92CDB7DEB75C016A017B01FC0183816A
+:102760008130E9F4818181FF1AC0F5018189928964
+:10277000A389B48984179507A607B70780F0892B2A
+:102780008A2B8B2B09F472C0F5014084518462843A
+:102790007384B701A601C501DCDE811102C080E0AF
+:1027A00066C0F501818D928DC114D104E104F1045C
+:1027B00069F4458956896789708D25D7882379F30F
+:1027C000F501158A168A178A108E37C0F5014481E3
+:1027D0005581668177819E012F5F3F4F97D4882373
+:1027E000F1F249815A816B817C81F501818D928D55
+:1027F000FC012789203139F4483FFFEF5F0761056D
+:102800007105D8F407C0483F2FEF520762072FE049
+:10281000720798F4F8D6882309F4C1CFF5014481F2
+:102820005581668177810FEF1FEF2FEF3FE0818D9C
+:10283000928D51D5882309F4B2CFF501C18AD28A8D
+:10284000E38AF48A818180688183C5011BDF882344
+:1028500009F4A5CFB701A6014C145D046E047F04F2
+:1028600010F4B301A201C50174DE01C081E00F9034
+:102870000F900F900F90DF91CF911F910F91FF90CC
+:10288000EF90DF90CF90BF90AF907F906F905F9070
+:102890004F900895FF920F931F93CF93DF93EC0116
+:1028A000F42E80E2689FF0011124E551FA4F8385F0
+:1028B000817121F0842F827109F04EC08091EB0765
+:1028C0009091EC07A091ED07B091EE078C879D8762
+:1028D000AE87BF87688B4489558960E070E0BA0194
+:1028E00055274427028D138D20E030E0402B512BDB
+:1028F000622B732B4D8B5E8B6F8B788F83858871EA
+:1029000051F4048D158D268D378D098B1A8B2B8BE9
+:102910003C8B81E00BC08031F9F49E012F5E3F4F6C
+:10292000898D9A8D72D48823B9F084E08B838F2DA2
+:102930008F7089831C821D821E821F8218861986D1
+:102940001A861B86F4FE0BC040E050E0BA01CE01AF
+:10295000F0DE811104C011C01B8280E00EC0F5FEC4
+:102960000BC049895A896B897C89CE01DF91CF914F
+:102970001F910F91FF90EDCD81E0DF91CF911F91DD
+:102980000F91FF900895AF92BF92CF92DF92EF9296
+:10299000FF920F931F93CF93DF937C01EB016A01AA
+:1029A000B22E898D9A8DF701928F818F40E050E091
+:1029B000BA01CE01CEDDA12C088519852A853B857B
+:1029C00089899A89AB89BC89081719072A073B07A7
+:1029D000A0F585E036952795179507958A95D1F747
+:1029E0000F70CE0185DD009709F481C0FC012081C4
+:1029F000222311F0253EB9F4A1100EC04091EB073F
+:102A00005091EC076091ED077091EE07F701448754
+:102A1000558766877787008BFC018081AA24A39461
+:102A20008111CACF0AC04BE050E0BC01C6010E9430
+:102A3000E8B5892B09F0C0CF58C08B2D8274823441
+:102A400009F055C0AA2049F0F701008961E0C701EB
+:102A5000DDDAEC01009769F44AC08B81823009F419
+:102A600046C0CE014BDA882309F441C0CBEED5E055
+:102A700000E080E2FE0111928A95E9F78BE0F60111
+:102A8000DE0101900D928A95E1F7E091E205F09167
+:102A9000E305309739F0BE01625F7F4FCE0140966B
+:102AA000199508C081E298E2998B888B80E098E0C4
+:102AB0009F878E87888999899B8B8A8B998F888F2E
+:102AC0008E859F859F8B8E8BA9D2882381F04B2D7D
+:102AD000602FC701DF91CF911F910F91FF90EF9071
+:102AE000DF90CF90BF90AF90D5CEB7FEF0CF80E013
+:102AF000DF91CF911F910F91FF90EF90DF90CF90DA
+:102B0000BF90AF9008953F924F925F926F927F92E5
+:102B10008F929F92AF92BF92CF92DF92EF92FF92ED
+:102B20000F931F93CF93DF93CDB7DEB7C354D10973
+:102B30000FB6F894DEBF0FBECDBF5C016B012496CB
+:102B40005FAF4EAF2497522E1C8E1F8E19821C82AF
+:102B50006115710511F410E073C0FC0183818111CE
+:102B6000FACF2496EEADFFAD249780818F3211F01D
+:102B700076011DC02496EEADFFAD249780818F3283
+:102B800031F431962496FFAFEEAF2497F3CFF601E0
+:102B900083818250823060F3F601618D728DCE01A7
+:102BA0000196C7DA8823B9F2CE0101967C018E0125
+:102BB000045E1F4F3801FE0131964F01402E312E29
+:102BC00019C08823A9F121E0AE01495C5F4FB7012C
+:102BD000C801D9DE882309F4BECFEC14FD0411F03E
+:102BE000C7019ADD0615170501F1942D832D780193
+:102BF000092F182FAE014E5B5F4FBE01695C7F4FFE
+:102C000024968EAD9FAD249755DA882309F4A3CF7F
+:102C10002496EEADFFAD249780818F3291F63196E8
+:102C20002496FFAFEEAF2497F3CF982D892DDFCFF9
+:102C3000252DAE01495C5F4FB701C501A4DE182FF9
+:102C4000CE01019671DDCE014C966EDD812FCD5BFC
+:102C5000DF4F0FB6F894DEBF0FBECDBFDF91CF912F
+:102C60001F910F91FF90EF90DF90CF90BF90AF90AA
+:102C70009F908F907F906F905F904F903F900895BE
+:102C8000CF93DF93EC0140E050E0BA0152DD88239E
+:102C900061F061E0CE01BAD9009739F025EEFC0170
+:102CA00020831B82DF91CF91B9C180E0DF91CF916A
+:102CB00008951F93CF93DF93CDB7DEB76B970FB611
+:102CC000F894DEBF0FBECDBFAB0119821C8222E09B
+:102CD000BC01CE01019617DF182F882321F0CE0109
+:102CE0000196CEDF182FCE0101961EDD812F6B9647
+:102CF0000FB6F894DEBF0FBECDBFDF91CF911F910D
+:102D000008952F923F924F925F926F927F928F928F
+:102D10009F92AF92BF92CF92DF92EF92FF920F936A
+:102D20001F93CF93DF9300D01F921F92CDB7DEB7D2
+:102D30008C015B013A01DC0113968C911397813071
+:102D4000C1F411968C9181FF14C082FF18C0F80164
+:102D5000418952896389748980859185A285B3856B
+:102D600084179507A607B70751F0C801F2DB811158
+:102D700006C081E0F80180838FEF9FEF37C16301C8
+:102D800083C0D80159968D919C915A97FC01F4818A
+:102D9000F1501A012B0169E0569447943794279417
+:102DA0006A95D1F7F221FD834A0121E09222FF23A7
+:102DB00009F476C080E092E08819990976018C15B3
+:102DC0009D0508F47C01D8015996ED91FC915A9724
+:102DD00014962D903D904D905C901797B2E02B1A71
+:102DE000310841085108058404C0220C331C441CDE
+:102DF000551C0A94D2F786859785A089B189280E3B
+:102E0000391E4A1E5B1EED812E0E311C411C511CC9
+:102E1000E114F2E0FF0609F089C08091EB07909180
+:102E2000EC07A091ED07B091EE0782159305A4057C
+:102E3000B50569F41092E8058FEF9FEFDC018093F0
+:102E4000EB079093EC07A093ED07B093EE07950185
+:102E5000B201A1018091E9059091EA050E94E73B4A
+:102E6000882309F486CFF80180859185A285B385F2
+:102E70008E0D9F1DA11DB11D80879187A287B387ED
+:102E8000AE0CBF1CCE18DF08D80118964D915D918D
+:102E90006D917C911B97C114D10409F072CF7AC057
+:102EA0008114910409F086CF14964D915D916D9136
+:102EB0007C911797411551056105710559F4559697
+:102EC0008D919D910D90BC91A02D0097A105B1050C
+:102ED00039F520C09E012F5F3F4F18D1882309F498
+:102EE00048CF89819A81AB81BC81F801218D328DD7
+:102EF000F9012789203139F4883FFFEF9F07A105A9
+:102F0000B10540F40DC0883F2FEF9207A2072FE0D4
+:102F1000B20730F0C8010E94580F81114BCF29CF62
+:102F2000F80184839583A683B78344CF81149104E9
+:102F300011F5D80118964D915D916D917C911B977B
+:102F400051968D919D910D90BC91A02D48175907D8
+:102F50006A077B0780F062D0882309F40ACF81E0FA
+:102F60008093E8052092EB073092EC074092ED0742
+:102F70005092EE0707C041E0C201B1018FD0882313
+:102F800009F4F7CEA701B501C40185519A4F0E94FB
+:102F9000F5B569CF51968D919D910D90BC91A02D65
+:102FA000F801218184179507A607B70738F4418BEC
+:102FB000528B638B748B206821830CC08091E20557
+:102FC0009091E305892B31F06114710419F02068A8
+:102FD000F8012183D80111968C9183FD02C0C301B1
+:102FE00005C0C8014FDB8111FACFC3CE0F900F90FF
+:102FF0000F900F900F90DF91CF911F910F91FF9045
+:10300000EF90DF90CF90BF90AF909F908F907F9088
+:103010006F905F904F903F902F900895CF93809145
+:10302000E8058823B9F14091EB075091EC076091D6
+:10303000ED077091EE072BEE35E08091E905909158
+:10304000EA050E94E73BC82F811102C0C0E023C0FF
+:103050004091E4055091E5056091E6057091E70522
+:10306000411551056105710591F02BEE35E0809118
+:10307000E9059091EA050E94E73B882339F3109215
+:10308000E4051092E5051092E6051092E70510920E
+:10309000E80501C0C1E08C2FCF910895CF92DF9257
+:1030A000EF92FF92CF936B017C01C42F8091EB07CD
+:1030B0009091EC07A091ED07B091EE078C159D055E
+:1030C000AE05BF05C9F0AADF811102C080E018C0BB
+:1030D0002BEE35E0B701A6018091E9059091EA0554
+:1030E0000E94723B882391F3C092EB07D092EC07C9
+:1030F000E092ED07F092EE0781E0C1118093E805C0
+:10310000CF91FF90EF90DF90CF9008958F929F9294
+:10311000AF92BF92CF92DF92EF92FF920F931F93E5
+:10312000CF93DF93EC016A017B01890189859A8540
+:10313000AB85BC850196A11DB11D84179507A60717
+:10314000B70710F480E054C08F89803129F49927A3
+:10315000872F762F652F0BC08032A1F7CB01BA01E4
+:1031600027E096958795779567952A95D1F78B886F
+:103170009C88AD88BE88680D791D8A1D9B1D809036
+:10318000EB079090EC07A090ED07B090EE07681564
+:1031900079058A059B0581F48F89803191F4DD24BE
+:1031A000EE24FF24F601EE0FFF1FE551FA4F808158
+:1031B0009181A0E0B0E016C040E070DF8111ECCF5B
+:1031C000C1CFE894C7F8DD24EE24FF24F601EE0F0A
+:1031D000FF1FEE0FFF1FE551FA4F80819181A28101
+:1031E000B381BF70F80180839183A283B38381E0B0
+:1031F000DF91CF911F910F91FF90EF90DF90CF90D3
+:10320000BF90AF909F908F9008954F925F926F9272
+:103210007F92AF92BF92CF92DF92EF92FF920F9385
+:103220001F93CF93DF9300D01F92CDB7DEB78C01F1
+:1032300049835A836B837C835901C12CD12C76013D
+:10324000412C42E0542E612C712C49815A816B81B2
+:103250007C819E012F5F3F4FC80158DF882341F1D9
+:10326000D301C201F801058404C0880F991FAA1F69
+:10327000BB1F0A94D2F7C80ED91EEA1EFB1E498155
+:103280005A816B817C818789803139F481E0483FA4
+:103290005F4F6105710538F4D8CF81E0483F5F4F3B
+:1032A0006F4F7F4090F2F501C082D182E282F382BB
+:1032B0000F900F900F900F90DF91CF911F910F9172
+:1032C000FF90EF90DF90CF90BF90AF907F906F9086
+:1032D0005F904F9008954F925F926F927F928F927E
+:1032E0009F92AF92BF92CF92DF92EF92FF920F9395
+:1032F0001F93CF93DF93EC014A015B012801390151
+:10330000423051056105710508F462C049855A854E
+:103310006B857C854F5F5F4F6F4F7F4F4815590519
+:103320006A057B0508F454C08F89803129F4FF2495
+:10333000EB2CDA2CC92C0CC0803209F049C0750185
+:10334000640177E0F694E794D794C7947A95D1F71F
+:103350004B895C896D897E89C40ED51EE61EF71ED9
+:1033600041E0C701B6019ADE882391F19F8990312F
+:1033700059F49924AA24BB24F401EE0FFF1FE55150
+:10338000FA4F5182408210C0E89487F89924AA2409
+:10339000BB24F401EE0FFF1FEE0FFF1FE551FA4FA4
+:1033A00040825182628273829A89923090F04D817C
+:1033B0005E816F8178854C0D5D1D6E1D7F1D409374
+:1033C000E4055093E5056093E6057093E70501C0B9
+:1033D00080E0DF91CF911F910F91FF90EF90DF90F0
+:1033E000CF90BF90AF909F908F907F906F905F90A5
+:1033F0004F9008952F923F924F925F926F927F92DB
+:103400008F929F92AF92BF92CF92DF92EF92FF92F4
+:103410000F931F93CF93DF93CDB7DEB72F970FB6E0
+:10342000F894DEBF0FBECDBF1C014C875D876E8751
+:103430007F873B872A87DC0119960D911D912D917D
+:103440003C911C970F5F1F4F2F4F3F4F0D831E83E3
+:103450002F833887EA85FB8580809180A280B380A6
+:1034600081149104A104B10431F0FFEF8F1A9F0A77
+:10347000AF0ABF0A10C0DC018D909D90AD90BC904A
+:10348000B1E0B9870C851D852E853F85013011057A
+:103490002105310509F0198675016401412C512C73
+:1034A0003201F10181859285A385B48548165906BC
+:1034B0006A067B0608F04EC00D811E812F8138857B
+:1034C0000C151D052E053F0550F4F2E0CF2ED12C32
+:1034D000E12CF12CA2E08A2E912CA12CB12C9E0182
+:1034E0002F5F3F4FB701A601C10110DE882391F184
+:1034F00049815A816B817C81D701C6010196A11D4A
+:10350000B11D452B462B472B19F04C015D010FC017
+:10351000AC01BD01481959096A097B090C851D8553
+:103520002E853F85401751076207730741F01FEF53
+:10353000411A510A610A710A6C017D01B2CF0FEF85
+:103540001FEF2FEF3FE0B701A601C101C4DE8D835D
+:10355000811113C01D823DC02601370121E0421AAE
+:1035600051086108710897018601B301A201C101E8
+:10357000B2DE882379F3730162018C149D04AE04DA
+:10358000BF0450F3AA85BB854D915D916D917C91EF
+:103590004115510561057105A9F4EA85FB85808215
+:1035A0009182A282B382F985FF2399F00FEF801AEE
+:1035B000900AA00AB00AD1018D929D92AD92BC9260
+:1035C000139707C095018401C10185DE8111E5CF04
+:1035D000C1CF8D812F960FB6F894DEBF0FBECDBF41
+:1035E000DF91CF911F910F91FF90EF90DF90CF90DF
+:1035F000BF90AF909F908F907F906F905F904F9013
+:103600003F902F900895AF92BF92CF92DF92EF92AA
+:10361000FF920F931F93CF93DF9300D01F92CDB7EC
+:10362000DEB75C016A017B0182E090E0A0E0B0E0DF
+:10363000F50180839183A283B3839E012F5F3F4F67
+:10364000B701A601C50162DD811102C080E023C07F
+:1036500000E010E09801B701A601C5013CDE882317
+:10366000A9F3C980DA80EB80FC80F501878980317D
+:1036700049F481E0F8EFCF16FFEFDF06E104F10433
+:1036800050F4DBCF81E098EFC9169FEFD906E90629
+:103690009FE0F90690F20F900F900F900F90DF913E
+:1036A000CF911F910F91FF90EF90DF90CF90BF903F
+:1036B000AF9008957F928F929F92AF92BF92CF92D8
+:1036C000DF92EF92FF920F931F93CF93DF93EC0162
+:1036D000142F7093EA056093E9051F8A82E090E059
+:1036E000A0E0B0E088839983AA83BB831092E805A9
+:1036F0001092E4051092E5051092E6051092E70598
+:103700008FEF9FEFDC018093EB079093EC07A09382
+:10371000ED07B093EE07442349F1453008F0DEC0D1
+:1037200040E060E070E0CB01B9DC882309F4D6C04A
+:1037300020E1129FF0011124E756F84F80818F7726
+:1037400009F0CCC084859585A685B785843691051A
+:10375000A105B10508F4C2C0C084D184E284F38419
+:10376000C114D104E104F10421F4B8C0C12CD12C5E
+:10377000760140E0C701B60191DC782E882309F478
+:10378000ADC08091F6059091F7058115924009F042
+:10379000A5C03091FB05332309F4A0C08091F90541
+:1037A0009091FA05892B09F499C02091F8052223FC
+:1037B00009F494C03A8B2C831D8630E041E050E040
+:1037C0006D85062FCA01062E02C0880F991F0A9424
+:1037D000E2F72817390731F081E0860F8D876830CE
+:1037E00078F37CC020910106309102062115310545
+:1037F00019F040E050E008C020910F06309110060B
+:1038000040911106509112062D833E834F835887B5
+:103810008091F9059091FA0546015701880E991E8D
+:10382000A11CB11C8B8A9C8AAD8ABE8AE091FC05E2
+:10383000F091FD05F98FE88FA091FB05B0E00E94A3
+:10384000C8B2680D791D8A1D9B1D6A8F7B8F8C8F76
+:103850009D8FB5E0EE0FFF1FBA95E1F7E150FE4FE7
+:10386000EF2FFF27E695DC01CB018E0F9F1FA11DD7
+:10387000B11D8E879F87A88BB98B8090FE05909095
+:10388000FF058114910419F0A12CB12C08C080907F
+:103890000B0690900C06A0900D06B0900E06A701A6
+:1038A0009601281B390B4A0B5B0BDA01C901880D05
+:1038B000991DAA1DBB1D04C0B695A7959795879520
+:1038C0000A95D2F789879A87AB87BC87853F3FE007
+:1038D0009307A105B10520F48CE08F8B712C15C0E6
+:1038E000853F9F4FA105B10510F480E10DC0809187
+:1038F000170690911806A0911906B0911A068A8FA2
+:103900009B8FAC8FBD8F80E28F8B872DDF91CF9106
+:103910001F910F91FF90EF90DF90CF90BF90AF90ED
+:103920009F908F907F9008954F925F926F927F92B9
+:103930008F929F92AF92BF92CF92DF92EF92FF92BF
+:103940000F931F93CF93DF932C0124E733E081E0A3
+:1039500090E0F90145915491441655060CF062C06F
+:10396000AC0141505109DA01AA0FBB1FAA0FBB1FBE
+:10397000AE58BC4FFD0165917491440F551F440F23
+:10398000551F40595C4FFA0165907490FC01EE0F91
+:10399000FF1FEE0FFF1FEE58FC4FA590B490FD01E6
+:1039A00005911491F901C591D491FA0185909490F3
+:1039B000882777FD8095982F0E9442AF6B017C018C
+:1039C000B20166197709882777FD8095982F0E94A4
+:1039D00042AF2B013C01B501601B710B882777FDBD
+:1039E0008095982F0E9442AF9B01AC01C301B201A8
+:1039F0000E9475B12B013C01BE0168197909882725
+:103A000077FD8095982F0E9442AF9B01AC01C301C6
+:103A1000B2010E94A7AE9B01AC01C701B6010E9492
+:103A2000C7AD11C001962C5F3F4F8D33910509F052
+:103A300090CFE2E6F4E065917491882777FD809558
+:103A4000982F0E9442AFDF91CF911F910F91FF906D
+:103A5000EF90DF90CF90BF90AF909F908F907F902E
+:103A60006F905F904F9008954F925F926F927F9208
+:103A70008F929F92AF92BF92CF92DF92EF92FF927E
+:103A80000F931F93CF93DF932C01662371F1E5E32E
+:103A9000FEE08491882341F09091C00095FFFCCF17
+:103AA0008093C6003196F5CF70E04AE050E08CE993
+:103AB0009DE00E945A8AE9E5F2E08491882341F072
+:103AC0009091C00095FFFCCF8093C6003196F5CF52
+:103AD0008091C00085FFFCCF8AE08093C6000E94E1
+:103AE000224560E070E0CB017EC024E733E081E056
+:103AF00090E0F90145915491441655060CF062C0CE
+:103B0000AC0141505109DA01AA0FBB1FAA0FBB1F1C
+:103B1000AE58BC4FFD0165917491440F551F440F81
+:103B2000551F40595C4FFA0165907490FC01EE0FEF
+:103B3000FF1FEE0FFF1FEE58FC4FA590B490FD0144
+:103B400005911491F901C591D491FA018590949051
+:103B5000882777FD8095982F0E9442AF6B017C01EA
+:103B6000B20166197709882777FD8095982F0E9402
+:103B700042AF2B013C01B501601B710B882777FD1B
+:103B80008095982F0E9442AF9B01AC01C301B20106
+:103B90000E9475B12B013C01BE0168197909882783
+:103BA00077FD8095982F0E9442AF9B01AC01C30125
+:103BB000B2010E94A7AE9B01AC01C701B6010E94F1
+:103BC000C7AD11C001962C5F3F4F8D33910509F0B1
+:103BD00090CFE2E6F4E065917491882777FD8095B7
+:103BE000982F0E9442AFDF91CF911F910F91FF90CC
+:103BF000EF90DF90CF90BF90AF909F908F907F908D
+:103C00006F905F904F90089560E08091440890918C
+:103C100045082ADF6093400870934108809342086A
+:103C20009093430880913E0890913F087DDE609319
+:103C30003A0870933B0880933C0890933D088FB7F7
+:103C4000F894109232088FBF089520911402309199
+:103C50001502409116025091170260E070E08FE764
+:103C600093E40E94A7AE60931208709313088093A8
+:103C7000140890931508089597FF03C080913908A0
+:103C800004C0FC01E45FF74F808190E00895CF937A
+:103C9000DF93D82FC62FC19561E00E9451A86C2FE9
+:103CA0008D2F0E948AA86C2F70E08D2FDF91CF910D
+:103CB0000C9447A7CF93C1E020E030E048E452E401
+:103CC00060914008709141088091420890914308AA
+:103CD0000E94A3B018160CF0C0E06C2F86E090E0B4
+:103CE000CF91D5CF2F923F924F925F926F927F925A
+:103CF0008F929F92AF92BF92CF92DF92EF92FF92FC
+:103D00000F931F93CF93DF93CDB7DEB728970FB6EE
+:103D1000F894DEBF0FBECDBF80913208882309F42E
+:103D2000F8C172DF8090400890904108A09042084E
+:103D3000B09043080091480810914908B8018827BD
+:103D400077FD8095982F0E9442AFA50194010E94B3
+:103D5000C6AD6B017C0160931A0870931B088093B9
+:103D60001C0890931D0820E030E040E251E40E94DE
+:103D7000A3B0181624F481E080931108F7C020E066
+:103D800030E040E251ECC701B6010E94A0AE87FDD1
+:103D900002C0012B21F481E0809311080CC18091B5
+:103DA0001108882351F010922E0810922F081092BB
+:103DB00030081092310810921108209118023091A9
+:103DC000190240911A0250911B02C701B6010E94CC
+:103DD00075B169837A838B839C8360932608709383
+:103DE0002708809328089093290820912E08309165
+:103DF0002F084091300850913108C701B6010E9448
+:103E0000C7AD2B013C012090160830901708109187
+:103E10001808009119089101412F502F0E94A0AE5F
+:103E200087FD14C0209012083090130810911408D8
+:103E3000009115089101412F502FB201C3010E943A
+:103E4000A3B018161CF01201162D072DC101A12FC9
+:103E5000B02F80932E0890932F08A0933008B09332
+:103E600031082091140230911502409116025091B0
+:103E70001702B101812F902F0E9475B16D837E834F
+:103E80008F83988760932208709323088093240877
+:103E90009093250820912A0830912B0840912C08F6
+:103EA00050912D08C501B4010E94C6AD20911002A9
+:103EB0003091110240911202509113020E9475B18B
+:103EC00020ED3CEC4CE45DE30E9475B12B013C011C
+:103ED00023E333E343E75FE360911E0870911F081B
+:103EE00080912008909121080E9475B19B01AC013E
+:103EF000C301B2010E94C7AD2B013C0160931E08B3
+:103F000070931F0880932008909321082D813E8193
+:103F10004F81588569817A818B819C810E94C7ADD0
+:103F2000A30192010E94C6AD2B013C0120E030E0CC
+:103F30004FE753E40E94A3B020E030E0A901181637
+:103F4000E4F4C701B6010E94A3B018167CF4A701DF
+:103F50009601B101812F902F0E94C6AD60932E086B
+:103F600070932F088093300890933108412C512C86
+:103F70009FE7692E93E4792E21C0C301B2010E940C
+:103F8000A0AE87FF1BC020E030E0A901C701B60149
+:103F90000E94A0AE87FF0FC0A7019601B101812F3B
+:103FA000902F0E94C6AD60932E0870932F088093C7
+:103FB000300890933108412C512C320180922A080C
+:103FC00090922B08A0922C08B0922D0860910408C2
+:103FD00070910508882777FD8095982F0E9442AF41
+:103FE0009B01AC01C501B4010E94A3B01816DCF41A
+:103FF0006091080270910902882777FD8095982FBB
+:104000000E9442AF9B01AC01C501B4010E94A0AE69
+:1040100087FF09C0C301B2010E940FAF7595679574
+:1040200060930C0802C010920C080E9431A9009104
+:1040300008081091090820910A0830910B08601BAC
+:10404000710B820B930B653C79408105910558F00B
+:1040500031DE0E9431A960930808709309088093AB
+:104060000A0890930B080E9431A900910D08109145
+:104070000E0820910F0830911008601B710B820B05
+:10408000930B683873418105910508F442C00E9482
+:1040900031A960930D0870930E0880930F089093D8
+:1040A0001008C0903A08D0903B08E0903C08F0908F
+:1040B0003D0820E030E040E751E4C701B6010E942E
+:1040C000A3B018161CF520E030E046E153E4C70128
+:1040D000B6010E94A0AE87FF19C06091460870919A
+:1040E0004708882777FD8095982F0E9442AF9B0153
+:1040F000AC01C701B6010E94A3B087FD03C01092B6
+:10410000390807C08FE78093390803C01092390837
+:10411000A59828960FB6F894DEBF0FBECDBFDF91ED
+:10412000CF911F910F91FF90EF90DF90CF90BF90B4
+:10413000AF909F908F907F906F905F904F903F9047
+:104140002F900895CF93DF931092160810921708BE
+:10415000109218081092190820911402309115023B
+:10416000409116025091170260E070E08FE793E4EF
+:104170000E94A7AE609312087093130880931408EE
+:10418000909315086D9A80910101806180930101DF
+:104190009D9A8091010180628093010187ED809357
+:1041A0007A0010927E0010927D0080917E008160E6
+:1041B00080937E0080917E00826080937E0080915B
+:1041C0007E00846080937E0080E888BD80916E00D0
+:1041D000846080936E006AEF70E080E090E00E945F
+:1041E00060A98FE090E0909305088093040860E058
+:1041F00080910A0290910B0237DC20E030E040E72A
+:1042000051E40E94A0AE87FF0AC080910A029091FB
+:104210000B02409790930B0280930A02E8CF8BE346
+:1042200091E0909309028093080260E08091060873
+:104230009091070819DC20E030E84DE953E40E9432
+:10424000A3B0181654F48091060890910708409680
+:104250009093070880930608E8CFC0910208D09198
+:104260000308CE0161DB20E030E046E153E40E9428
+:10427000A3B0181634F46096D0930308C0930208D4
+:10428000ECCFDF91CF9108950895109249081092D4
+:104290004808109247081092460810920C0875982A
+:1042A000109247081092460810923908A598089570
+:1042B0002F923F924F925F926F927F928F929F9236
+:1042C000AF92BF92CF92DF92EF92FF920F931F9324
+:1042D000CF93DF93CDB7DEB7AE970FB6F894DEBFBE
+:1042E0000FBECDBF6B8F7C8F8D8F292E5A8749874C
+:1042F0003CA72BA70E9431A96F8F78A389A39AA30B
+:104300000E9431A96FA378A789A79AA729853A8522
+:10431000121613061CF0E4E2F3E017C0E7E3F3E043
+:104320008191882339F09091C00095FFFCCF809354
+:10433000C600F6CF8091C00085FFFCCF1BC29091D4
+:10434000C00095FFFCCF8093C60081918111F7CF0B
+:104350008091C00085FFFCCF8AE08093C60095DF86
+:1043600049855A858FE7452B99F1809339088F8DC0
+:1043700098A1A9A1BAA1898B9A8BAB8BBC8B8D8795
+:104380009E87AF87B88B1D8290E4988FACE1A98F90
+:10439000B6E4BA8F1DA61D8A1E8A1F8A2FE730E059
+:1043A00040E050E029833A834B835C83EFE74E2E55
+:1043B000512C612C712C1BA21CA21DA21EA231E04B
+:1043C0003E8F1C861B86312C00E010E01EA605C027
+:1043D00080930C08CCCF0E949C7680913208882371
+:1043E00009F4F6C011DC49855A85452B51F030900F
+:1043F0003A0800913B0810913C0850913D085EA797
+:1044000009C0309040080091410810914208809105
+:1044100043088EA7232D302F412F5EA56DA57D89E2
+:104420008E899F890E94A3B018162CF03DA60D8B93
+:104430001E8B9EA59F8B232D302F412F5EA56D8156
+:10444000788D898D9A8D0E94A0AE87FD05C03D8232
+:10445000088F198FAEA5AA8F0E9431A92FA138A568
+:1044600049A55AA5621B730B840B950B653C7940DB
+:104470008105910538F01EDC0E9431A96FA378A751
+:1044800089A79AA74E8D442309F44FC02B8D3C8DEC
+:104490004D8D522D632D702F812F9EA50E94A3B0AC
+:1044A00018160CF095C00E9431A929893A894B89C8
+:1044B0005C89621B730B840B950B69387341810512
+:1044C000910508F485C0D301C20129813A814B814D
+:1044D0005C81821B930BA40BB50B49855A85B5955E
+:1044E000A79597958795452B19F08093390802C0B9
+:1044F00080930C080E9431A96D877E878F87988BE7
+:10450000DC01CB0129893A894B895C89821B930B99
+:10451000A40BB50B8BA39CA3ADA3BEA33B8D3DA762
+:104520004C8D4D8B5D8D5E8B2F8A2B8D3C8D4D8DF3
+:10453000522D632D702F812F9EA50E94A0AE87FF64
+:10454000EEC20E9431A92D853E854F855889621B98
+:10455000730B840B950B693873418105910508F441
+:10456000DEC20E9431A9698B7A8B8B8B9C8BDC011C
+:10457000CB012D853E854F855889821B930BA40B5B
+:10458000B50B4B855C85452B09F010C189819A815B
+:10459000AB81BC81840D951DA61DB71D29853A856B
+:1045A000B595A79597958795232B09F4B5C2809368
+:1045B00039084B855C854F5F5F4F5C874B875B8D10
+:1045C0005D838C8D888F9D8D998F2A8EA1E0AE8F13
+:1045D00020E030E040EA51E46B8D7C8D8D8D922D92
+:1045E0000E94C7AD9B01AC01632D702F812F9EA54A
+:1045F0000E94A3B0181694F4EFEFF2E084918823A0
+:1046000041F09091C00095FFFCCF8093C600319699
+:10461000F5CF8091C00085FFFCCFACC00E9431A9CE
+:104620002F8D38A149A15AA1621B730B840B950BE6
+:10463000613D77408105910508F44FC049855A8551
+:10464000452B81F0E0903908F12CE9EFF2E08491FC
+:104650008823C1F09091C00095FFFCCF8093C600E5
+:104660003196F5CFE0900C08F12CE3EFF2E0849165
+:10467000882341F09091C00095FFFCCF8093C60045
+:104680003196F5CF22E030E0432D502F612F7EA5EB
+:104690008CE99DE00E94308BEFEEF2E0849188235C
+:1046A00041F09091C00095FFFCCF8093C6003196F9
+:1046B000F5CF4AE050E0B7018CE99DE00E945A8AAC
+:1046C0008091C00085FFFCCF8AE08093C6000E94E5
+:1046D00031A96F8F78A389A39AA30E9431A96B0196
+:1046E0007C010E9431A989889A88AB88BC882D8575
+:1046F0003E854F855889820E931EA41EB51EC8188C
+:10470000D908EA08FB08C60ED71EE81EF91E31E8D4
+:10471000C3163FE4D30632E1E306F10490F0E2ED84
+:10472000F2E08491882341F09091C00095FFFCCF86
+:104730008093C6003196F5CF8091C00085FFFCCFF5
+:1047400019C04B855C858BA59CA5841795070CF03B
+:1047500042CEE6E7F2E08491882341F09091C000D8
+:1047600095FFFCCF8093C6003196F5CF8091C000B5
+:1047700085FFFCCF8AE08093C600AE960FB6F89412
+:10478000DEBF0FBECDBFDF91CF911F910F91FF9084
+:10479000EF90DF90CF90BF90AF909F908F907F90E1
+:1047A0006F905F904F903F902F9008958BA09CA0AA
+:1047B000ADA0BEA0880E991EAA1EBB1E2BA13CA1B7
+:1047C0004DA15EA1281B390B4A0B5B0BCA01B90135
+:1047D00029813A814B815C810E943BB2A501940101
+:1047E0000E94A0B2240D351D461D571D24313105F0
+:1047F0004105510504F129013A013CEE43165104EB
+:10480000610471042CF06BEE462E512C612C712C3E
+:1048100040E84416510461047104DCF08EEF90E02E
+:10482000A0E0B0E084199509A609B70989839A83A5
+:10483000AB83BC8312C054E1452E512C612C712CEA
+:1048400024E130E040E050E029833A834B835C83ED
+:1048500004C049825A826B827C82E8E6F3E084914C
+:10486000882341F09091C00095FFFCCF8093C60053
+:104870003196F5CF2AE030E0B301A2018CE99DE04A
+:104880000E94378AE3E6F3E08491882341F0909117
+:10489000C00095FFFCCF8093C6003196F5CF2AE08B
+:1048A00030E049815A816B817C818CE99DE00E94D6
+:1048B000378AECE5F3E08491882341F09091C000C1
+:1048C00095FFFCCF8093C6003196F5CF22E030E013
+:1048D0004D81588D698D7A8D8CE99DE00E94308BD9
+:1048E000E5E5F3E08491882341F09091C00095FFC5
+:1048F000FCCF8093C6003196F5CF22E030E04DA585
+:104900005D896E897F898CE99DE00E94308B809162
+:10491000C00085FFFCCF8AE08093C6002B853C85D4
+:10492000233031050CF432CE69817A818B819C81F0
+:104930000E9442AF20E030E040E850E40E9475B1B0
+:104940006B017C012D81388D498D5A8D6DA57D8936
+:104950008E899F890E94C6AD20ED3FE049E450E476
+:104960000E9475B120E030E040E05FE30E9475B145
+:104970009B01AC01C701B6010E94A7AE6B017C018F
+:10498000C501B4010E9442AF20E030E04AE754E4A0
+:104990000E94A7AE4B015C01EFE4F3E08491882311
+:1049A00041F09091C00095FFFCCF8093C6003196F6
+:1049B000F5CF22E030E0B701A6018CE99DE00E942E
+:1049C000308BE9E4F3E08491882341F09091C000BA
+:1049D00095FFFCCF8093C6003196F5CF22E030E002
+:1049E000B501A4018CE99DE00E94308B8091C0004C
+:1049F00085FFFCCF8AE08093C6002AE939E949E1C6
+:104A00005FE3C701B6010E9475B16B017C019B0198
+:104A1000AC010E94C7ADA50194010E94A7AE6D83B1
+:104A20007E838F839887A5019401C701B6010E94F8
+:104A300075B120E030E040E05EE30E9475B14B01CB
+:104A40005C01EBE3F3E08491882341F09091C00096
+:104A500095FFFCCF8093C6003196F5CF8091C000C2
+:104A600085FFFCCF8AE08093C600E5E3F3E0849104
+:104A7000882341F09091C00095FFFCCF8093C60041
+:104A80003196F5CF22E030E0B701A6018CE99DE038
+:104A90000E94308B8091C00085FFFCCF8AE080931C
+:104AA000C600EFE2F3E08491882341F09091C000CA
+:104AB00095FFFCCF8093C6003196F5CF22E030E021
+:104AC0004D815E816F8178858CE99DE00E94308BFD
+:104AD0008091C00085FFFCCF8AE08093C600E9E2A8
+:104AE000F3E08491882341F09091C00095FFFCCFC2
+:104AF0008093C6003196F5CF22E030E0B501A401E5
+:104B00008CE99DE00E94308B8091C00085FFFCCF36
+:104B10008AE08093C6003ACD80930C084ACD1E8E61
+:104B200057CDCF93C82FB1DB0E94E949811134C022
+:104B3000E5E3FEE09491992341F08091C00085FF68
+:104B4000FCCF9093C6003196F5CF6C2F70E04AE011
+:104B500050E08CE99DE00E945A8A8091C00085FF58
+:104B6000FCCF8AE08093C600ECE2F2E084918823D7
+:104B700041F09091C00095FFFCCF8093C600319624
+:104B8000F5CF8091C00085FFFCCF8AE08093C600FE
+:104B90008FE192E00E940D76CF910C94AA49CF93B9
+:104BA000C82F73DB0E94E949811134C0E5E3FEE0C0
+:104BB0009491992341F08091C00085FFFCCF9093A0
+:104BC000C6003196F5CF6C2F70E04AE050E08CE9DA
+:104BD0009DE00E945A8A8091C00085FFFCCF8AE048
+:104BE0008093C600E2EFF1E08491882341F0909138
+:104BF000C00095FFFCCF8093C6003196F5CF809121
+:104C0000C00085FFFCCF8AE08093C60085EE91E06E
+:104C10000E940D76CF910C94AA49A5980E94E9496B
+:104C2000811125C0E5E3FEE08491882341F0909155
+:104C3000C00095FFFCCF8093C6003196F5CFEBEA1C
+:104C4000F1E08491882341F09091C00095FFFCCF62
+:104C50008093C6003196F5CF8091C00085FFFCCFD0
+:104C60008AE08093C6008AE991E00E940D760C9458
+:104C7000AA491F920F920FB60F9211240BB60F92F2
+:104C80000F931F932F933F934F935F936F937F9354
+:104C90008F939F93AF93BF93CF93DF93EF93FF9344
+:104CA00080910702811112C080910C088093010845
+:104CB000882311F0759A01C0759880913908809306
+:104CC0000008882311F0A59A01C0A59890910108C9
+:104CD00080910702981708F47598909100088091C8
+:104CE0000702981708F4A598809107028F5F8F77C5
+:104CF000809307028091060290E08B30910508F0C6
+:104D000093C0FC01EE58FF4F0C94BCB210927B0094
+:104D100080E480937C0080917A00806480937A00A4
+:104D20000E94167681E019C02091780030917900B8
+:104D30008091FC079091FD07A091FE07B091FF07BD
+:104D4000820F931FA11DB11D8093FC079093FD0757
+:104D5000A093FE07B093FF0782E08093060264C031
+:104D600010927B0082E480937C0080917A008064C2
+:104D700080937A000E94167683E0EFCF209178002E
+:104D8000309179008091F8079091F907A091FA0786
+:104D9000B091FB07820F931FA11DB11D8093F807EF
+:104DA0009093F907A093FA07B093FB0784E0D5CF5F
+:104DB00010927B0081E480937C0080917A00806473
+:104DC00080937A000E94167685E0C7CF2091780004
+:104DD000309179008091F4079091F507A091F60742
+:104DE000B091F707820F931FA11DB11D8093F407A7
+:104DF0009093F507A093F607B093F70786E0ADCF41
+:104E00000E94167687E0A9CF88E0A7CF0E94167689
+:104E100089E0A3CF109206028091F3078F5F809301
+:104E2000F30702C0109206028091F307803108F464
+:104E300063C080913208811110C08091FC0790916D
+:104E4000FD0790934508809344088091F80790915E
+:104E5000F90790933F0880933E0881E080933208E1
+:104E60001092F3071092FC071092FD071092FE07B4
+:104E70001092FF071092F4071092F5071092F607B0
+:104E80001092F7071092EF071092F0071092F107B7
+:104E90001092F2071092F8071092F9071092FA0791
+:104EA0001092FB0720914408309145088091060834
+:104EB000909107088217930714F080E032DE20916A
+:104EC00044083091450880910A0290910B022817FE
+:104ED000390714F080E063DE20913E0830913F08EE
+:104EE0008091020890910308821793072CF010928A
+:104EF00047081092460891DE00E010E0E801CC0F70
+:104F0000DD1FCD5CD74F888199811816190644F4AE
+:104F100061E0802F0E94D59388819981019709C013
+:104F2000892B49F060E0802F0E94D5938881998178
+:104F30000196998388830F5F1F4F03301105F1F6A7
+:104F4000FF91EF91DF91CF91BF91AF919F918F91A1
+:104F50007F916F915F914F913F912F911F910F9191
+:104F60000F900BBE0F900FBE0F901F9018952CEA5C
+:104F700035EC47E25EE30C9475B12CEA35EC47E280
+:104F80005EE30C94A7AE2CEA35EC47E25EE30C94AA
+:104F9000A7AE2CEA35EC47E25EE30C9475B1CF93F3
+:104FA000DF93EC0160E08E810E948AA881E090E0AE
+:104FB0000E9484A961E08E810E948AA881E090E02D
+:104FC0000E9484A960E08E810E948AA884E690E015
+:104FD000DF91CF910C9484A9CF92DF92EF92FF9250
+:104FE0000F931F93CF93DF937C01C0E0D0E0C62ED8
+:104FF000D12C87010C0F1D1F61E0F80187810E94F1
+:1050000051A8B6010C2E02C0759567950A94E2F777
+:105010006170F80187810E948AA82196C430D10569
+:1050200041F7C701DF91CF911F910F91FF90EF9052
+:10503000DF90CF90B4CFCF92DF92EF92FF920F9399
+:105040001F93CF93DF937C01C0E0D0E0C62ED12C1C
+:1050500087010C0F1D1F61E0F80187810E9451A894
+:10506000B6010C2E02C0759567950A94E2F761703F
+:10507000F80187810E948AA82196C830D10541F79E
+:10508000C701DF91CF911F910F91FF90EF90DF90BB
+:10509000CF9085CF1F93CF93DF93EC01162F642F12
+:1050A0008C810E948AA88D818F3F19F060E00E9458
+:1050B0008AA88F85612F84FF05C0CE01DF91CF9133
+:1050C0001F91B9CF70E084E0759567958A95E1F7F7
+:1050D000CE0182DF612FCE01DF91CF911F917CCF76
+:1050E00040E0D8CF61E0FCDF80E496E00C9484A936
+:1050F00062E0F6DF80E496E00C9484A9CF93DF931E
+:10510000CDB7DEB728970FB6F894DEBF0FBECDBF80
+:1051100028E0E7EAF2E0DE01119601900D922A956F
+:10512000E1F7FC012389421710F04FEF420FFE0117
+:105130003196E40FF11DE40FF11D2081260F206848
+:10514000622F28960FB6F894DEBF0FBECDBFDF9159
+:10515000CF91C6CFFC016089262F2460208B6C6024
+:10516000BFCFCF93DF93EC01423018F08F8588607A
+:105170008F874B8B1C8A222329F0413019F48F85AD
+:1051800084608F8780E593EC0E9484A960E08C8125
+:105190000E948AA860E08E810E948AA88D818F3F3C
+:1051A00019F060E00E948AA86F8564FD19C063E071
+:1051B000CE0112DF84E991E10E9484A963E0CE016F
+:1051C0000BDF84E991E10E9484A963E0CE0104DF52
+:1051D00086E990E00E9484A962E0CE01FDDE13C062
+:1051E0006062CE017DDF84E991E10E9484A96F8530
+:1051F0006062CE0175DF86E990E00E9484A96F8528
+:105200006062CE016DDF6F856062CE0169DF84E090
+:10521000888BCE019FDFCE0165DF82E0898B66E05F
+:10522000CE01DF91CF915CCF6F927F928F92AF9240
+:10523000CF92EF920F931F93CF93DF93CDB7DEB74B
+:105240003C01162F842F5E854F8538899989F3019B
+:10525000848325830683E782C086A186828653875E
+:1052600044873587968761E00E9451A8F3018581C4
+:105270008F3F19F061E00E9451A861E0F30186813F
+:105280000E9451A8112319F0F301178603C080E191
+:10529000F301878720E041E060E1C301DF91CF9116
+:1052A0001F910F91EF90CF90AF908F907F906F9064
+:1052B00058CF8F92AF92CF92EF920F93DC0113965B
+:1052C0001C921E921297E5E6F3E0ED93FC931F9279
+:1052D0001F921F921F928C2CAE2CC02EE22E042FF8
+:1052E0002FEF462F61E0A0DF0F900F900F900F90EF
+:1052F0000F91EF90CF90AF908F900895CF93DF9361
+:10530000EC01423018F08F8588608F874B8B1C8AA8
+:10531000222329F0413019F48F8584608F8780E53E
+:1053200093EC0E9484A960E08C810E948AA860E0CE
+:105330008E810E948AA88D818F3F19F060E00E94C3
+:105340008AA86F8564FD19C063E0CE0145DE84E95B
+:1053500091E10E9484A963E0CE013EDE84E991E1FF
+:105360000E9484A963E0CE0137DE86E990E00E94C6
+:1053700084A962E0CE0130DE13C06062CE01B0DEEF
+:1053800084E991E10E9484A96F856062CE01A8DE64
+:1053900086E990E00E9484A96F856062CE01A0DE5C
+:1053A0006F856062CE019CDE84E0888BCE01D2DE08
+:1053B000CE019EDE82E0898B66E0CE0191DE40E088
+:1053C00068E0CE019BDE6EE873E0CE010E94BEADC8
+:1053D00041E068E0CE0192DE6EE873E0CE010E940B
+:1053E000BEAD42E066E0CE0189DE6CE873E0CE013E
+:1053F000DF91CF910C94BEADCF92DF92EF92FF92EE
+:105400000F931F93CF93DF931F921F92CDB7DEB7F9
+:105410008C01677088E0689FB00111246064C80146
+:1054200049835A835DDE4981C42E5A81D52EE12CF1
+:10543000F12CD6016D916D01D801ED91FC91019097
+:10544000F081E02DC8011995BFEFEB1AFB0AE8E0E7
+:10545000EE16F10471F70F900F90DF91CF911F912D
+:105460000F91FF90EF90DF90CF90089541E012DE12
+:1054700081E090E008952F923F924F925F926F9259
+:105480007F928F929F92AF92BF92CF92DF92EF92D4
+:10549000FF920F931F93CF93DF93CDB7DEB7CF5417
+:1054A000D1090FB6F894DEBF0FBECDBF1C017E8FB1
+:1054B0006D8F4A012FAB09AF2896EFAE28972C9637
+:1054C000ACAEBDAECEAEDFAE2C9734E0239F500124
+:1054D0001124FC01EA0DFB1D80819181A281B38121
+:1054E000898F9A8FAB8FBC8FDA01AA0DBB1DBCAF21
+:1054F000ABAF4D905D906D907C90A3019201698D52
+:105500007A8D8B8D9C8D0E94C7AD21966CAF7DAF3F
+:105510008EAF9FAF2197B4E00B9F80011124F10162
+:10552000E00FF11F20813181428153812F8F38A3F9
+:1055300049A35AA3A401400F511F23965FAF4EAF5A
+:105540002397DA01CD90DD90ED90FC90A7019601B4
+:105550006F8D78A189A19AA10E94C7AD27966CAFE3
+:105560007DAF8EAF9FAF27972896EFAD2897B4E019
+:10557000EB9FC0011124F101E80FF91F2081318157
+:10558000428153812BA33CA34DA35EA3ED8DFE8DE1
+:10559000E80FF91F60817181828193810E94C6ADFD
+:1055A0006FA378A789A79AA7AD8DBE8D1C968D9104
+:1055B0009D910D90BC91A02D60968CAF9DAFAEAF2C
+:1055C000BFAF6097D1011C962D913D914D915C919B
+:1055D0001F972BA73CA74DA75EA7A3019201505888
+:1055E0002D8B3E8B4F8B588FD701C601B058898BBE
+:1055F0009A8BAB8BBC8BED8DFE8DEA0DFB1D208154
+:105600003181428153812FA738AB49AB5AAB2196E8
+:105610002CAD3DAD4EAD5FAD21976FA578A989A9A1
+:105620009AA90E94C6AD6B017C01ED8DFE8DE00F45
+:10563000F11F80819181A281B3818BAB9CABADAB1B
+:10564000BEAB27962CAD3DAD4EAD5FAD2797BC01EF
+:10565000CD010E94C6AD4B015C01A70196016D8989
+:105660007E898F89988D0E9475B12B013C01A5011F
+:10567000940169897A898B899C890E9475B19B0103
+:10568000AC01C301B2010E94C7AD2B013C01A501D1
+:1056900094016D897E898F89988D0E9475B14B0127
+:1056A0005C01A701960169897A898B899C890E948E
+:1056B00075B19B01AC01C501B4010E94C6ADA30147
+:1056C00092010E943AAE6B017C0120E030E0A9011A
+:1056D0000E94A0AE87FF0AC02BED3FE049EC50E4EA
+:1056E000C701B6010E94C7AD6B017C01AA968FADC0
+:1056F000AA97882351F02BED3FE049EC50E4C70115
+:10570000B6010E94C6AD6B017C012FA538A949A93D
+:105710005AA9698D7A8D8B8D9C8D0E94A0AE8111C6
+:105720001FC02BA93CA94DA95EA96F8D78A189A1A5
+:105730009AA10E94A0AE811113C020E030E0A9011F
+:10574000C701B6010E94A0AE81110AC02BED3FE057
+:1057500049EC50E4C701B6010E94C7AD6B017C0162
+:10576000A9962CAD3DAD4EAD5FADA997C701B60171
+:105770000E9475B12FA138A549A55AA55F770E944F
+:10578000B0B04B015C012FE632E143E85AE30E94DE
+:10579000A0AE87FDC8C1C501B4010E947DAF0E94C3
+:1057A00014AF7A8F698FDB01AB2B21F4E1E0F0E0DD
+:1057B000FA8FE98F298D3A8DB90180E090E00E943F
+:1057C00040AF4B015C019B01AC01C701B6010E94D7
+:1057D000A7AE2B013C01A50194016FA178A589A575
+:1057E0009AA50E94A7AE6FA778AB89AB9AAB2BA501
+:1057F0003CA54DA55EA560966CAD7DAD8EAD9FAD13
+:1058000060970E94C6ADA50194010E94A7AE6BAB44
+:105810007CAB8DAB9EAB20E030E040E05FE3C301AA
+:10582000B2010E9475B1A30192010E9475B19B0162
+:10583000AC0160E070E080E89FE30E94C6AD6FA31A
+:1058400078A789A79AA7CE010196FC0128964FADAB
+:10585000289734E0439FE00DF11D11242BA13CA1BA
+:105860004DA15EA120833183428353832BA53CA5A8
+:105870004DA55EA52D873E874F87588BB12C41E003
+:1058800050E058A34F8F1C01BFA9A4E0BA9F800D20
+:10589000911D112498AF8FAB910159AD44E0549FF5
+:1058A000200D311D11243AAF29AFFCA7EBA74F8D76
+:1058B00058A1898D9A8D4817590708F01AC188E1B7
+:1058C0008B150CF444C02FA138A549A55AA56989A8
+:1058D0007A898B899C890E9475B16B017C01A30137
+:1058E00092016D897E898F89988D0E9475B1A7017B
+:1058F00096010E94C7ADA62E172F982E892E2FA194
+:1059000038A549A55AA56D897E898F89988D0E94F1
+:1059100075B16B017C01A301920169897A898B8938
+:105920009C890E9475B19B01AC01C701B6010E9420
+:10593000C6AD6D8B7E8B8F8B988FB3948A2D912FF4
+:10594000A92DB82D898B9A8BAB8BBC8B6CC0AF8D7E
+:10595000B8A1BD0180E090E00E9440AFA301920198
+:105960000E9475B16B017C010E94A4AE698B7A8B99
+:105970008B8B9C8BC701B6010E94D8B14B015C0197
+:10598000EBADFCADC080D180E280F380F7FAF094FB
+:10599000F7F8F0942396AEADBFAD23972D913D91CE
+:1059A0004D915C912BA33CA34DA35EA329893A8919
+:1059B0004B895C89C701B6010E9475B16D8B7E8BE6
+:1059C0008F8B988FA50194016BA17CA18DA19EA1C5
+:1059D0000E9475B19B01AC016D897E898F89988D7C
+:1059E0000E94C7AD6D8B7E8B8F8B988FA501940124
+:1059F000C701B6010E9475B16B017C0129893A8902
+:105A00004B895C896BA17CA18DA19EA10E9475B17F
+:105A10009B01AC01C701B6010E94C6AD698B7A8BB0
+:105A20008B8B9C8BB12C2D893E894F89588D21966B
+:105A30006CAD7DAD8EAD9FAD21970E94C7ADEFA936
+:105A4000F8AD608371838283938329893A894B8976
+:105A50005C8927966CAD7DAD8EAD9FAD27970E947A
+:105A6000C7ADA9ADBAAD6D937D938D939C931397FC
+:105A70002FA538A949A95AA9EBA5FCA56081718178
+:105A8000828193810E94C7ADABA5BCA56D937D9328
+:105A90008D939C9313972BA93CA94DA95EA96D8565
+:105AA0007E858F8598890E94C7AD6D877E878F8799
+:105AB000988BC1010E946A41FE01E659FF4F6F01B8
+:105AC0002C96ECACFDAC0EAD1FAD2C979E01235F68
+:105AD0003F4FAE01475F5F4FBE016B5F7F4FC1011C
+:105AE0000E94779A2F8D38A12F5F3F4F38A32F8FB9
+:105AF000DECE2D8D3E8D245F3F4F4D8D5E8D485FF8
+:105B00005F4F6D8D7E8D6C5F7F4FDE01A659BF4F5D
+:105B10006D012C96ECACFDAC0EAD1FAD2C978D8DB0
+:105B20009E8D0E94779AC15BDF4F0FB6F894DEBF5F
+:105B30000FBECDBFDF91CF911F910F91FF90EF90DE
+:105B4000DF90CF90BF90AF909F908F907F906F909D
+:105B50005F904F903F902F900895FC011482178220
+:105B6000138212828AEB95E09183808308952AEB59
+:105B700035E0FC01318320832781222319F004962C
+:105B80000C948C130895CF92DF92EF92FF920F93B3
+:105B90001F93CF93DF93EC01875B9F4FDEDFCE0136
+:105BA00086599F4FDADF7E0129E8E20EF11C87015A
+:105BB0006E0131E4C31A3EEFD30AC801CEDF015EA5
+:105BC0001F4F0C151D05C9F7FE01EF53FE4F89E16C
+:105BD000818314823596178ACE018C519E4FBDDF8A
+:105BE000FE01EB56FD4F108211821282138238960D
+:105BF00010821182128213821A821B8218821982E9
+:105C00006E0187E6C81A8DEFD80AF601108211825C
+:105C100012821382F80111821082FE01ED5FFD4FA6
+:105C2000108286E391E0F7019C01119221503040EF
+:105C3000E1F7FE01EF55FD4F81E08083C95BDF4F47
+:105C4000198218820E9431A968577C4E8F4F9F4F4E
+:105C5000F6016083718382839383DF91CF911F91DB
+:105C60000F91FF90EF90DF90CF900895FC0120E01E
+:105C70003EE2DB014C91403241F0283011F4308398
+:105C80003196DB014C91408331962F5F6F5F7F4FE0
+:105C90002B3079F7108208952F923F924F925F92A6
+:105CA0006F927F928F929F92AF92BF92CF92DF922C
+:105CB000EF92FF920F931F93CF93DF93CDB7DEB791
+:105CC000CA58D1090FB6F894DEBF0FBECDBF8C0104
+:105CD0006B017A014901CA57DF4F1882C658D0407C
+:105CE00084E0E80EF11C180191E1290E311CF80145
+:105CF000EA5BFF4FC957DF4FF983E883C758D040AD
+:105D00003801FEE56F1AFDEF7F0A58018CE5A81AED
+:105D10008DEFB80A80E4482E512C4C0E5D1E94E0A5
+:105D2000490E511CA101BE016F5F7F4FC7010E9448
+:105D3000F61118160CF03CC12C85322F3871303119
+:105D400009F09EC0F301808191810197029708F4C8
+:105D500097C0BE016F5F7F4FCE0187589F4F86DF90
+:105D6000A0961FAEA097F6018081811107C069E659
+:105D700073E0CE01815A9F4F0E9418B6B601CE0142
+:105D8000815A9F4F0E9418B6BE0167587F4FCE01BF
+:105D9000815A9F4F0E9418B669E673E0CE01815A7E
+:105DA0009F4F0E9418B6CE01805C9F4FD6DE21E047
+:105DB000AE0147585F4FB701C2010E9483158111A0
+:105DC00039C0F30180819181892BA1F5EFE2FEE0DA
+:105DD0008491882341F09091C00095FFFCCF80937F
+:105DE000C6003196F5CFEBE6F3E08191882339F0D8
+:105DF0009091C00095FFFCCF8093C600F6CF8091B4
+:105E0000C00085FFFCCF8AE08093C600FE01E75802
+:105E1000FF4F8191882339F09091C00095FFFCCF0E
+:105E20008093C600F6CF8091C00085FFFCCF8AE04A
+:105E30008093C6008BE1FE01EC5BFF4FDE0195967F
+:105E400001900D928A95E1F724968EAD9FAD24972F
+:105E50009CA38BA38AEB95E09AA389A320E030E072
+:105E6000AE014F5D5F4FBE01615A7F4FC80114DF25
+:105E7000CE0181967CDECE01805C9F4F78DE52CFD2
+:105E80008981882309F494C08E3209F44BCF8F3571
+:105E900009F448CFF80181898E3209F443CF8F3558
+:105EA00009F440CF23FD3ECF81E0303109F080E09E
+:105EB000C957DF4FE881F981C758D04080838111ED
+:105EC00008C08985873409F02DCF8A858E3709F47B
+:105ED00029CF98012C5F3F4FBE016F5F7F4FC901F3
+:105EE000C757DF4F2883C958D040C657DF4F388384
+:105EF000CA58D040BBDEF30180819181C757DF4F84
+:105F00002881C958D040C657DF4F3881CA58D04081
+:105F10000097F1F4F6018191882339F09091C00047
+:105F200095FFFCCF8093C600F6CFF90181918823BD
+:105F300039F09091C00095FFFCCF8093C600F6CF5A
+:105F40008091C00085FFFCCF8AE08093C600EACE36
+:105F50008130910539F4F501808191810196918319
+:105F60008083E0CE029709F0DDCE8114910439F0F0
+:105F7000B901C4010E9405B6892B71F419C0CA5732
+:105F8000DF4FF881C658D0402F2F30E0F5018081D7
+:105F900091812817390761F0CA57DF4FF881C65839
+:105FA000D040FF5FCA57DF4FF883C658D040BACE03
+:105FB000C657DF4F0FB6F894DEBF0FBECDBFDF91DF
+:105FC000CF911F910F91FF90EF90DF90CF90BF90F6
+:105FD000AF909F908F907F906F905F904F903F9089
+:105FE0002F9008950F931F93CF93DF93CDB7DEB714
+:105FF0006F970FB6F894DEBF0FBECDBF8C01FC01CA
+:10600000EE55FD4F1182108240E050E0BA01835BF3
+:106010009F4F0E94A912C801875B9F4F2BE1FC0193
+:106020003496DE01159601900D922A95E1F7FC0158
+:10603000828193819C838B838AEB95E09A83898309
+:1060400020E030E0AE014F5F5F4F62E973E0C801CE
+:1060500023DECE0101968BDD6F960FB6F894DEBF7E
+:106060000FBECDBFDF91CF911F910F9108952BE10E
+:10607000FB013496DC01149601900D922A95E1F70C
+:10608000FB0122813381FC01338322830895EF9247
+:10609000FF920F931F93CF93DF93EC011B82FC01C0
+:1060A000E05BFF4F8081882329F0CE01835B9F4F07
+:1060B0000E948C137E018FE3E81A8EEFF80A45E305
+:1060C00060E0C7010E94BF3A81111FC0EFE2FEE00D
+:1060D0008491882341F09091C00095FFFCCF80937C
+:1060E000C6003196F5CFE7E4F6E08491882341F0CD
+:1060F0009091C00095FFFCCF8093C6003196F5CFFC
+:106100008091C00085FFFCCF77C08E010A531E4FDF
+:1061100041E0B701C8010E945A1B811126C040E02E
+:10612000B701C8010E945A1B81111FC0E5E3FEE0C0
+:106130008491882341F09091C00095FFFCCF80931B
+:10614000C6003196F5CFE4E3F6E08491882341F070
+:106150009091C00095FFFCCF8093C6003196F5CF9B
+:106160008091C00085FFFCCF47C0B801CE01835BA2
+:106170009F4F0E94991081111FC0E5E3FEE08491BA
+:10618000882341F09091C00095FFFCCF8093C6001A
+:106190003196F5CFE4E2F6E08491882341F09091C6
+:1061A000C00095FFFCCF8093C6003196F5CF80915B
+:1061B000C00085FFFCCF20C081E08B83EFE2FEE0D2
+:1061C0008491882341F09091C00095FFFCCF80938B
+:1061D000C6003196F5CFE9E1F6E08491882341F0DD
+:1061E0009091C00095FFFCCF8093C6003196F5CF0B
+:1061F0008091C00085FFFCCF8AE08093C6008E01AD
+:10620000075B1F4FB801CE0186599F4F30DFC85939
+:10621000DF4F19830883DF91CF911F910F91FF907A
+:10622000EF900895FC01128213820895FC012381EE
+:10623000222311F021E022830895FC012281211103
+:1062400012820895AF92BF92CF92DF92EF92FF92A7
+:106250000F931F93CF93DF931F92CDB7DEB78C01BF
+:106260008FE2FB0181935F01D12C41E07801F1E4E1
+:10627000EF1AFEEFFF0A9FE1C92E2D2D30E0F70146
+:106280008081918128173907D8F4C29EC001C39E2E
+:10629000900D112483579F4FB501800F911F4983A3
+:1062A0000E944010C50149815C010196F5012081E1
+:1062B000222321F04D3810F44F5FF6CFD394DDCF79
+:1062C00047FD11C0B501C80188519E4F0F90DF9165
+:1062D000CF911F910F91FF90EF90DF90CF90BF90E3
+:1062E000AF900C944010F50110820F90DF91CF9188
+:1062F0001F910F91FF90EF90DF90CF90BF90AF90E4
+:1063000008953F924F925F926F927F928F929F92E9
+:10631000AF92BF92CF92DF92EF92FF920F931F93B3
+:10632000CF93DF93CDB7DEB7AC970FB6F894DEBF4F
+:106330000FBECDBF7C015B01FC018381882309F482
+:1063400008C1C70188519E4F0E948C13F701128229
+:10635000CE0101966C0101DC270198E6490E511C23
+:10636000C701875B9F4FF20191838083F501808194
+:106370008F3209F084C06FE270E0C5010E9423B63D
+:106380008C010F5F1F4F2AE0322E0115110509F411
+:106390007CC06FE270E0C8010E9423B64C010097F8
+:1063A00009F474C00817190708F070C03C01601A9E
+:1063B000710AA301B801CE0180960E944CB6E0E2BA
+:1063C000F0E0EC0FFD1FE60DF71D1082FE01B09608
+:1063D0008191882339F09091C00095FFFCCF809384
+:1063E000C600F6CF8091C00085FFFCCF3092C6007A
+:1063F000F201608171816115710519F06C5F7F4F49
+:1064000002C060E070E021E0AE01405E5F4FCE016F
+:1064100005960E94831581112BC0EEEFF4E0849164
+:10642000882341F09091C00095FFFCCF8093C60077
+:106430003196F5CFFE01B0968191882339F0909185
+:10644000C00095FFFCCF8093C600F6CFECEFF4E0E0
+:106450008491882341F09091C00095FFFCCF8093F8
+:10646000C6003196F5CF8091C00085FFFCCF6CC08F
+:10647000F201D182C08284010F5F1F4F86CFC70116
+:1064800086599F4FF201918380838501F2018081BB
+:106490009181009711F0049602C080E090E0B8016D
+:1064A0000E945916882339F1EEEEF4E08491882396
+:1064B00041F09091C00095FFFCCF8093C6003196CB
+:1064C000F5CFF8018191882339F09091C00095FFB4
+:1064D000FCCF8093C600F6CF8091C00085FFFCCF33
+:1064E0008AE08093C600F701E356FD4F10821182C7
+:1064F000128213822CC0E6EDF4E08491882341F0EF
+:106500009091C00095FFFCCF8093C6003196F5CFE7
+:10651000F8018191882339F09091C00095FFFCCF5C
+:106520008093C600F6CFE4EDF4E08491882341F037
+:106530009091C00095FFFCCF8093C6003196F5CFB7
+:106540008091C00085FFFCCF8AE08093C600C60121
+:106550000EDBAC960FB6F894DEBF0FBECDBFDF9159
+:10656000CF911F910F91FF90EF90DF90CF90BF9050
+:10657000AF909F908F907F906F905F904F903F90E3
+:106580000895CF93DF93EC018B818823C1F1E2EC76
+:10659000F4E08491882341F09091C00095FFFCCFF6
+:1065A0008093C6003196F5CFFE01E356FD4F408142
+:1065B0005181628173812AE030E08CE99DE00E9484
+:1065C000868AE0ECF4E08491882341F09091C00049
+:1065D00095FFFCCF8093C6003196F5CFCB56DD4FAB
+:1065E000488159816A817B812AE030E08CE99DE015
+:1065F0000E94868A8091C00085FFFCCF11C0E0EB2D
+:10660000F4E08491882341F09091C00095FFFCCF85
+:106610008093C6003196F5CF8091C00085FFFCCFF6
+:106620008AE08093C600DF91CF910895AF92BF9228
+:10663000CF92DF92EF92FF920F931F93CF93DF934E
+:106640005C01EB01FB0101900020E9F78F01015093
+:106650001109061B170B6C01F8E1CF1AFEEFDF0AD8
+:10666000F60110826EE470E0CE010E9423B67C0138
+:10667000009729F4F8013197EC0FFD1F0DC060E27F
+:1066800070E00E9423B6EC0121966AE270E0C70137
+:106690000E9423B6FC0131978DE081838AE08283DA
+:1066A0001382BE01C5018C519E4F0E94438BF6019F
+:1066B0008081882309F1E5E3FEE08491882341F09D
+:1066C0009091C00095FFFCCF8093C6003196F5CF26
+:1066D000EAE9F4E08491882341F09091C00095FFAD
+:1066E000FCCF8093C6003196F5CF8091C00085FF26
+:1066F000FCCF8AE08093C600DF91CF911F910F916C
+:10670000FF90EF90DF90CF90BF90AF9008952F92C1
+:106710003F924F925F926F927F928F929F92AF9231
+:10672000BF92CF92DF92EF92FF920F931F93CF937E
+:10673000DF93CDB7DEB7CC55D1090FB6F894DEBFE5
+:106740000FBECDBF4C018C010F551D4F662339F094
+:10675000F8011082F401838181111DC015C0F80178
+:106760008081882309F4AFC0F401E756FD4FC08053
+:10677000D180E280F3800E9431A9C616D706E806D0
+:10678000F90608F4A0C0E4CFC40181DCF4018381E0
+:10679000882309F498C07401F7E4EF0EF11CF701A7
+:1067A00081818F9380818F9381E994E09F938F9370
+:1067B0008E01015C1F4F1F930F930E945BB60F90D9
+:1067C0000F900F900F900F900F90B12CF801019047
+:1067D0000020E9F73197E01BF10BBE1684F4680145
+:1067E000CB0CD11CB7FCDA94F6018081992787FD88
+:1067F00090950E9498B5F6018083B394E7CFFDE4AD
+:106800008F0E911C40E050E0BA01C4010E94A91211
+:10681000512CCE0101966C013AE8632E34E0732EC0
+:106820005E0191E2A90EB11C40E050E0B601C40146
+:106830000E94F6111816DCF5412CF601019000209B
+:10684000E9F73197EC19FD094E1674F41601240C82
+:10685000311C47FC3A94F101808190E00E9498B588
+:10686000F10180834394E9CF8A858E37E9F245E0D0
+:1068700050E0B801C6010E943EB6892BA9F61F93CD
+:106880000F937F926F92BF92AF920E945BB6C50149
+:106890000E94C03D86E894E00E94333E0F900F9026
+:1068A0000F900F900F900F9055245394BDCF51101F
+:1068B00004C08FEF9FEFF70104C0F7018081918141
+:1068C000019691838083C45ADF4F0FB6F894DEBFE0
+:1068D0000FBECDBFDF91CF911F910F91FF90EF9031
+:1068E000DF90CF90BF90AF909F908F907F906F90F0
+:1068F0005F904F903F902F9008950F931F93CF93E9
+:10690000DF93EC018C0108511E4FC8010E94421315
+:10691000C8010E948C1318821982DF91CF911F91B8
+:106920000F910895CF92DF92EF92FF920F931F93F2
+:10693000CF93DF93CDB7DEB76F970FB6F894DEBF76
+:106940000FBECDBF8C016A017C0188E6E80EF11C08
+:10695000C80186599F4FF70191838083E65CFD4F04
+:1069600022E030E03183208332967183608340E0FF
+:1069700050E0BA0104960E94A912F701808191812A
+:106980002BE1FC013496DE01159601900D922A95BB
+:10699000E1F7FC01828193819C838B838AEB95E0F4
+:1069A0009A8389839601AE014F5F5F4F62E973E07E
+:1069B000C80172D9CE010196DAD86F960FB6F89455
+:1069C000DEBF0FBECDBFDF91CF911F910F91FF9022
+:1069D000EF90DF90CF9008952F923F924F925F9269
+:1069E0006F927F928F929F92AF92BF92CF92DF92DF
+:1069F000EF92FF920F931F93CF93DF93CDB7DEB744
+:106A0000AC970FB6F894DEBF0FBECDBF8C016B0103
+:106A1000342EDC0113968C91882309F4EEC2F80120
+:106A2000E551FE4F8081882309F4F5C02111C1C0D2
+:106A30007801BDEFEB1AFB0AF7018081882361F131
+:106A4000E5E3FEE08491882341F09091C00095FF3A
+:106A5000FCCF8093C6003196F5CFE6EDF5E084914A
+:106A6000882341F09091C00095FFFCCF8093C60031
+:106A70003196F5CF4AE050E061E070E08CE99DE0AE
+:106A80000E945A8A8091C00085FFFCCF8AE08093E3
+:106A9000C6000E942245B1C2EFE2FEE08491882345
+:106AA00041F09091C00095FFFCCF8093C6003196D5
+:106AB000F5CFEDEBF5E08491882341F09091C00093
+:106AC00095FFFCCF8093C6003196F5CFF6018191FA
+:106AD000882339F09091C00095FFFCCF8093C600C9
+:106AE000F6CFE2EBF5E08491882341F09091C0006D
+:106AF00095FFFCCF8093C6003196F5CFD7018C91DE
+:106B00005DE8B52EB801B89E600D711D1124685F57
+:106B10007D4FC80197DBF7018081F801B89EE00D39
+:106B2000F11D1124E85FFD4F8191882339F0909188
+:106B3000C00095FFFCCF8093C600F6CFECEAF5E0ED
+:106B40008491882341F09091C00095FFFCCF809301
+:106B5000C6003196F5CF5801F3E6AF1AFDEFBF0A34
+:106B6000D5014D915D916D917C912AE030E08CE9E9
+:106B70009DE00E94868A8091C00085FFFCCF8AE05C
+:106B80008093C600F7012081F80184E0289FE00D82
+:106B9000F11D1124EC5FFD4FD5014D915D916D917B
+:106BA0007C9140835183628373832F5FF70120833D
+:106BB0002CC0EFE2FEE08491882341F09091C00068
+:106BC00095FFFCCF8093C6003196F5CFEBE9F5E059
+:106BD0008491882341F09091C00095FFFCCF809371
+:106BE000C6003196F5CFF6018191882339F0909156
+:106BF000C00095FFFCCF8093C600F6CF8091C00007
+:106C000085FFFCCF8AE08093C600C80188519E4F63
+:106C10000E948C1330C0F801ED5FFD4F1082EFE24F
+:106C2000FEE08491882341F09091C00095FFFCCF55
+:106C30008093C6003196F5CFEAE8F5E08491882389
+:106C400041F09091C00095FFFCCF8093C600319633
+:106C5000F5CFF6018191882339F09091C00095FF1E
+:106C6000FCCF8093C600F6CF8091C00085FFFCCF9B
+:106C70008AE08093C600D80112961C92FE013196DC
+:106C80005F01CF010E94AD2D2801F8E64F0E511C87
+:106C9000C801875B9F4FD2018D939C93F601808141
+:106CA0008F3209F084C06FE270E0C6010E9423B603
+:106CB00001967C014AE0242EE114F10409F47DC020
+:106CC0006FE270E0C7010E9423B64C01009709F4FF
+:106CD00075C0E816F90608F071C03C016E187F080F
+:106CE000A301B701CE0180960E944CB6E0E2F0E02D
+:106CF000EC0FFD1FE60DF71D1082FE01B09681918D
+:106D0000882339F09091C00095FFFCCF8093C60096
+:106D1000F6CF8091C00085FFFCCF2092C600D20143
+:106D20006D917C916115710519F06C5F7F4F02C008
+:106D300060E070E021E0AE01405E5F4FCE0105965D
+:106D40000E94831581112BC0E6E7F5E0849188232A
+:106D500041F09091C00095FFFCCF8093C600319622
+:106D6000F5CFFE01B0968191882339F09091C00053
+:106D700095FFFCCF8093C600F6CFE4E7F5E0849161
+:106D8000882341F09091C00095FFFCCF8093C6000E
+:106D90003196F5CF8091C00085FFFCCF02C1F20192
+:106DA000B182A0827401FFEFEF1AFF0A85CFC801FC
+:106DB00086599F4FD2018D939C937601F801E8513B
+:106DC000FE4F4F01332009F4B1C0D2016D917C9187
+:106DD0006115710519F06C5F7F4F02C060E070E0D3
+:106DE00021E0A701C4010E948315882309F474C01F
+:106DF000F40181899289A389B489F801EB56FD4F8A
+:106E000080839183A283B383E6E6F5E08491D80181
+:106E1000AB56BD4F882349F09091C00095FFFCCF41
+:106E20008093C60031968491F5CFF7018191882334
+:106E300039F09091C00095FFFCCF8093C600F6CF4B
+:106E4000EEE5F5E08491882341F09091C00095FF34
+:106E5000FCCF8093C6003196F5CF4D915D916D9139
+:106E60007C912AE030E08CE99DE00E94868A809146
+:106E7000C00085FFFCCF8AE08093C600F801E3568E
+:106E8000FD4F1082118212821382E0E5F5E08491B9
+:106E9000882341F09091C00095FFFCCF8093C600FD
+:106EA0003196F5CF8091C00085FFFCCF8AE08093BA
+:106EB000C600A70160E070E0C80134DDD80151963A
+:106EC0008C91882319F0C801419601C0C7010E9426
+:106ED00048728EE793E08CC0ECE3F5E08491882360
+:106EE00041F09091C00095FFFCCF8093C600319691
+:106EF000F5CFF7018191882339F09091C00095FF7B
+:106F0000FCCF8093C600F6CFEAE3F5E084918823B6
+:106F100041F09091C00095FFFCCF8093C600319660
+:106F2000F5CF8091C00085FFFCCF3BC0F2016081AE
+:106F300071816115710519F06C5F7F4F02C060E0CF
+:106F400070E026E5A701C4010E94831581112DC0C0
+:106F5000E6E2F5E08491882341F09091C00095FF2E
+:106F6000FCCF8093C6003196F5CFF701819188233D
+:106F700039F09091C00095FFFCCF8093C600F6CF0A
+:106F8000E4E2F5E08491882341F09091C00095FF00
+:106F9000FCCF8093C6003196F5CF8091C00085FF6D
+:106FA000FCCF8AE08093C60025C081E0D8018C9395
+:106FB000E2E1F5E08491882341F09091C00095FFD3
+:106FC000FCCF8093C6003196F5CFF60181918823DE
+:106FD00039F09091C00095FFFCCF8093C600F6CFAA
+:106FE0008091C00085FFFCCF8AE08093C600C70176
+:106FF0000E944872C5010E94B72DAC960FB6F89456
+:10700000DEBF0FBECDBFDF91CF911F910F91FF90DB
+:10701000EF90DF90CF90BF90AF909F908F907F9038
+:107020006F905F904F903F902F90089521E0FC016A
+:10703000218340E0D1CCCF92DF92EF92FF920F9369
+:107040001F93CF93DF93CDB7DEB76F970FB6F8944A
+:10705000DEBF0FBECDBF8C016C0128E6C20ED11C75
+:1070600086599F4FF60191838083E65CFD4F21E0B6
+:1070700030E0318320837801FCE5EF1AFDEFFF0A51
+:10708000F7011182108240E050E0BA0104960E949C
+:10709000A912F601808191812BE1FC013496DE0179
+:1070A000159601900D922A95E1F7FC01828193815A
+:1070B0009C838B838AEB95E09A83898320E030E080
+:1070C000AE014F5F5F4F62E973E0C8010E944C2E32
+:1070D000CE0101960E94B72DF701808191816F96B4
+:1070E0000FB6F894DEBF0FBECDBFDF91CF911F91D9
+:1070F0000F91FF90EF90DF90CF900895AF92BF92E5
+:10710000CF92DF92EF92FF920F931F93CF93DF9373
+:10711000CDB7DEB76F970FB6F894DEBF0FBECDBF09
+:107120008C017B01CE0101960E94AD2DF801EF5834
+:10713000FF4F80816801811104C029E4C20ED11C77
+:1071400003C08AE6C80ED11C21E0A701B6016C5F1E
+:107150007F4FCE0105960E94831581112DC0EFE26D
+:10716000FEE08491882341F09091C00095FFFCCF10
+:107170008093C6003196F5CFE0E7F4E08491882350
+:1071800041F09091C00095FFFCCF8093C6003196EE
+:10719000F5CFF7018191882339F09091C00095FFD8
+:1071A000FCCF8093C600F6CF8091C00085FFFCCF56
+:1071B0008AE08093C60036C0F801E154FE4F80811A
+:1071C00091818A30910530F59C012F5F3F4F3183CB
+:1071D00020832FE1289F7001299FF00C112429E8BA
+:1071E000E20EF11CE00EF11E5C01B701C7014F96E3
+:1071F0000E94373081E0A81AB1082FE1E21AF108A5
+:107200008FEFA816B80689F7B601C80187579F4FB8
+:107210000E943730BE016F5F7F4FC80186599F4F74
+:107220000E943730CE0101960E94B72D6F960FB69F
+:10723000F894DEBF0FBECDBFDF91CF911F910F91AC
+:10724000FF90EF90DF90CF90BF90AF900895EF92B6
+:10725000FF920F931F93CF93DF93EC01C154DE4F46
+:107260002881398121153105F9F0215031093983FF
+:1072700028838C0107571F4FB80186599F4F0E94E2
+:107280003730C80100E010E07C012FE1E20EF11C74
+:10729000288139810217130738F40F5F1F4FB70198
+:1072A0000E943730C701F0CFDF91CF911F910F912E
+:1072B000FF90EF900895EF92FF920F931F93CF935B
+:1072C000DF93EC010E943D938E010D5F1D4FF8018D
+:1072D00080819E0128513E4F79018823A1F1C90187
+:1072E0000E948C13F801808181508083BE01FDE8EB
+:1072F0008F9F600D711D1124685F7D4F21E041E07B
+:10730000CE016ADBF8018081FE0124E0829FE00D5E
+:10731000F11D1124EC5FFD4F408151816281738129
+:10732000FE01E356FD4F4083518362837383C7019F
+:107330000E94A912CE01DF91CF911F910F91FF9072
+:10734000EF900C9416310E94B393C7010E948C13E6
+:107350001A8284E694E0DF91CF911F910F91FF9004
+:10736000EF9081C48FEF8EBD0DB407FEFDCF8EB5BB
+:1073700008958EBD0DB407FEFDCF089561E0FC01B8
+:1073800080810C948AA8FC012281322F306A3695C4
+:107390003CBD20FD06C031E0263009F430E0232F4B
+:1073A00001C020E02DBD60E0FC0180810C948AA822
+:1073B000CF92DF92EF92FF920F931F93CF93DF93C1
+:1073C000EC018B017A010E9431A96B01CBDF8B8329
+:1073D0008F3F49F40E9431A96C197D096D327140CB
+:1073E000A8F381E144C08E3F11F08FE040C0E1146A
+:1073F000F104D9F0C70101972FEF2EBDF8014FEF2F
+:107400009F01201B310B2817390738F40DB407FEF4
+:10741000FDCF2EB521934EBDF3CF0DB407FEFDCFAA
+:107420002EB5F801E80FF91F2083D801E00EF11EF8
+:10743000C12CD12CAE15BF0579F08D91ED2DFF2714
+:10744000E827EE0FFF1FEC5AF94F85919491DC2C41
+:10745000CC24C826D926EECF85DF082F10E0102FC8
+:10746000002780DF082BC016D10631F080E2898327
+:10747000CE0184DF80E003C0CE0180DF81E0DF91B8
+:10748000CF911F910F91FF90EF90DF90CF900895D3
+:107490000F931F93CF93DF93EB010E9431A98B01D0
+:1074A00061DF8F3F49F00E9431A9601B710B6C179F
+:1074B0007D07B0F380E001C081E0DF91CF911F91A3
+:1074C0000F910895CF92DF92FF920F931F93CF9366
+:1074D000DF9300D01F92CDB7DEB76C01F62E298363
+:1074E0003A834B835C834FDF6CE271E0C601D0DFEF
+:1074F0008F2D80643EDF08E110E05C814B813A8192
+:107500002981DA01C901002E04C0B695A795979587
+:1075100087950A94D2F729833A834B835C8329DFCA
+:107520000850110929813A814B815C81083F8FEF16
+:10753000180739F7FF2029F0E8E0FE1621F08FEF59
+:1075400003C085E901C087E814DFFCE0FF1201C039
+:1075500009DF10E007DFF601838387FF04C01F3FC8
+:1075600011F01F5FF7CF0F900F900F900F90DF91EA
+:10757000CF911F910F91FF90DF90CF900895BF9210
+:10758000CF92DF92EF92FF920F931F93CF93DF93EF
+:10759000EC01B62E1C82198248830E9431A98B010E
+:1075A00061E088810E9451A8CE01E8DE60E082E3BC
+:1075B0000E9451A861E083E30E9451A861E084E346
+:1075C0000E9451A861E085E30E9451A861E085E333
+:1075D0000E948AA885E08A8382E58CBD1DBC6AE092
+:1075E000F62E8FEFC6DEFA94E1F720E030E0A90135
+:1075F00060E0CE0167DFF82E8B8381E0F81649F05A
+:107600000E9431A9601B710B613D774070F381E0EE
+:1076100046C02AEA31E040E050E068E0CE0152DFA7
+:1076200082FF02C0FC820CC054E0F52E9BDE8B83EF
+:10763000FA94E1F78A3A11F082E031C082E08C835B
+:107640008C81823031F4C12CD12CE12C40E4F42E19
+:1076500003C0C12CD12C760120E030E0A90167E302
+:10766000CE0130DFA701960169E2CE012BDF8B83CB
+:10767000882349F00E9431A9601B710B613D77405E
+:1076800058F38AE00CC08C818230B1F420E030E005
+:10769000A9016AE3CE0116DF882329F088E08983F7
+:1076A000CE016CDE14C05EDE807C803C11F483E091
+:1076B0008C8358DE57DE56DECE0160DE86E08B1509
+:1076C00018F488E1898303C0BA8281E001C080E0B8
+:1076D000DF91CF911F910F91FF90EF90DF90CF90AE
+:1076E000BF900895AF92BF92CF92DF92EF92FF9238
+:1076F0000F931F93CF93DF93EC016A017B01890104
+:107700008C81833039F0F9E0CC0CDD1CEE1CFF1CC1
+:10771000FA95D1F773E0B72EE4E0AE2EBA94A70144
+:10772000960161E1CE01CEDE882311F0A98207C067
+:1077300040E052E0B801CE013BDE81110EC0CE0127
+:10774000BB2049F01BDE20E030E0A9016CE0CE0157
+:10775000B9DE1982E3CF12DE80E0DF91CF911F9175
+:107760000F91FF90EF90DF90CF90BF90AF90089572
+:10777000CF93DF93EC016EBD20E030E00DB407FE47
+:10778000FDCFFA01E20FF31F80818EBD0DB407FE1D
+:10779000FDCF81818EBD2E5F3F4F211582E03807DE
+:1077A00069F70DB407FEFDCF8FEFE3DD8FEFE1DD6D
+:1077B000D9DD8B838F71853031F083E18983CE01F0
+:1077C000DDDD80E001C081E0DF91CF9108950F936E
+:1077D0001F93CF93DF93EC0189018C81833039F0C3
+:1077E000B9E0440F551F661F771FBA95D1F79A016C
+:1077F000AB0168E1CE0166DE882311F086E01EC091
+:10780000A8016EEFCE01B4DF8823C9F068E572E00D
+:10781000CE013EDE182F811102C087E10FC020E0AB
+:1078200030E0A9016DE0CE014DDE811106C09ADD88
+:10783000811103C0CE01A2DD05C086E18983CE019E
+:107840009DDD10E0812FDF91CF911F910F91089561
+:10785000FC01659175918591949108952F923F92C5
+:107860004F925F926F927F928F929F92AF92BF9250
+:10787000CF92DF92EF92FF920F931F93CF93DF93FC
+:1078800000D000D0CDB7DEB71C01FC01E051F24FB3
+:1078900014919C01220F331F220F331F3E832D832F
+:1078A0002C5B354F4901F90110821182128213823B
+:1078B00020E53AE04CE45AE068E47AE084E49AE0B7
+:1078C0000E943EA48D819E818150924FC1DF6B0149
+:1078D0007C01612F772767FD7095872F972F0E9476
+:1078E00042AF2B013C012D813E81215F354F590173
+:1078F00020E030E040EC5FE3C701B6010E9475B1C3
+:10790000A30192010E9475B1F501608371838283A6
+:1079100093832D813E81215A3D4F3C832B83F90176
+:107920006081718182819381609321027093220230
+:10793000809323029093240220E030E040E752E459
+:107940000E94A7AE20E3C22E2AE0D22E7B018C013A
+:107950002BE13AE047E15AE063E17AE08FE09AE018
+:107960000E94779A0E943D93F40110821182128244
+:10797000138220E53AE04CE45AE068E47AE084E4DB
+:107980009AE00E943EA42D813E812D50324F3A83D1
+:107990002983C9015DDF9058A30192010E9475B14E
+:1079A000F501608371838283938320E030E040E7B8
+:1079B00052E4609121027091220280912302909101
+:1079C00024020E94A7AE7B018C012BE13AE047E143
+:1079D0005AE063E17AE08FE09AE00E94779A0E9491
+:1079E0003D9389819A8134DF9B01AC010E94C7AD30
+:1079F000A30192010E9475B1F501608371838283B6
+:107A0000938320E030E040E05FE3EB81FC81608124
+:107A10007181828193810E9475B16093210270937C
+:107A20002202809323029093240220E030E040E77A
+:107A300052E40E94A7AE7B018C012BE13AE047E1C2
+:107A40005AE063E17AE08FE09AE00E94779A0E9420
+:107A50003D938D819E81855F914FFADE0D811E8160
+:107A6000085C154FF80120813181428153810E94C9
+:107A7000C7ADF40160837183828393838D819E817E
+:107A80008D5D914FE5DE2D813E812D5B3D4F79016E
+:107A9000F80120813181428153810E94C7ADF701F5
+:107AA00060837183828393838D819E81895E914FF0
+:107AB000CFDE2D813E81295C3D4F7901F801208187
+:107AC0003181428153810E94C7ADF7016083718388
+:107AD00082839383F40180819181A281B381F50136
+:107AE00080839183A283B383109221021092220299
+:107AF00010922302109224020E94EA8BF101EB5CA7
+:107B0000F54F81E0808326960FB6F894DEBF0FBE56
+:107B1000CDBFDF91CF911F910F91FF90EF90DF903C
+:107B2000CF90BF90AF909F908F907F906F905F901D
+:107B30004F903F902F900895FC012491222341F013
+:107B40003091C00035FFFCCF2093C6000196F4CFE2
+:107B500022E030E08CE99DE00C94308BFC01249114
+:107B6000222341F03091C00035FFFCCF2093C600A6
+:107B70000196F4CF2AE030E08CE99DE00C94868AEF
+:107B80002091640830916508243031050CF06AC0FA
+:107B9000409166085091670860E6649F9001659F78
+:107BA000300D1124BC01C9018259974F0E9437B68C
+:107BB000EFE2FEE08491882341F09091C00095FFB0
+:107BC000FCCF8093C6003196F5CFE5EEFDE08491C1
+:107BD000882341F09091C00095FFFCCF8093C600B0
+:107BE0003196F5CF809166089091670820E6289F2E
+:107BF000F001299FF00D1124E259F74F819188235C
+:107C000039F09091C00095FFFCCF8093C600F6CF6D
+:107C1000E3EEFDE08491882341F09091C00095FF50
+:107C2000FCCF8093C6003196F5CF8091C00085FFD0
+:107C3000FCCF8AE08093C600809166089091670827
+:107C4000019664E070E00E946BB2909367088093A5
+:107C50006608809164089091650801969093650884
+:107C60008093640808952091640830916508243059
+:107C700031050CF06AC0409166085091670860E6D3
+:107C8000649F9001659F300D1124BC01C901825988
+:107C9000974F0E94A0B5EFE2FEE08491882341F067
+:107CA0009091C00095FFFCCF8093C6003196F5CF30
+:107CB000E8EDFDE08491882341F09091C00095FFAC
+:107CC000FCCF8093C6003196F5CF809166089091E5
+:107CD000670820E6289FF001299FF00D1124E25942
+:107CE000F74F8191882339F09091C00095FFFCCF28
+:107CF0008093C600F6CFE6EDFDE08491882341F045
+:107D00009091C00095FFFCCF8093C6003196F5CFCF
+:107D10008091C00085FFFCCF8AE08093C6008091EF
+:107D2000660890916708019664E070E00E946BB26B
+:107D30009093670880936608809164089091650825
+:107D40000196909365088093640808959B9AA39880
+:107D50000895FCDF40E052EC61E070E08CE99DE0CA
+:107D60000E944689E0EDFDE08491882341F09091E6
+:107D7000C00095FFFCCF8093C6003196F5CF80916F
+:107D8000C00085FFFCCF8AE08093C6008FE29EE0B2
+:107D9000FC012491222341F03091C00035FFFCCF3B
+:107DA0002093C6003196F5CF24B720FF14C0E8EC2D
+:107DB000FDE03491332341F04091C00045FFFCCFFA
+:107DC0003093C6003196F5CF3091C00035FFFCCF1F
+:107DD0003AE03093C60021FF14C0E8EBFDE0349197
+:107DE000332341F04091C00045FFFCCF3093C600E3
+:107DF0003196F5CF3091C00035FFFCCF3AE030939B
+:107E0000C60022FF14C0E7EAFDE03491332341F0BD
+:107E10004091C00045FFFCCF3093C6003196F5CFAE
+:107E20003091C00035FFFCCF3AE03093C60023FF0D
+:107E300014C0E7E9FDE03491332341F04091C000E4
+:107E400045FFFCCF3093C6003196F5CF3091C0008E
+:107E500035FFFCCF3AE03093C60025FF14C0E7E8B9
+:107E6000FDE02491222341F03091C00035FFFCCF8A
+:107E70002093C6003196F5CF2091C00025FFFCCF9E
+:107E80002AE02093C60014BEE0E8FDE024912223FE
+:107E900041F03091C00035FFFCCF2093C6003196F1
+:107EA000F5CFEAE7FDE02491222341F03091C000B4
+:107EB00035FFFCCF2093C6003196F5CF2091C0004E
+:107EC00025FFFCCF2AE02093C600FC012491EFE2BD
+:107ED000FEE0222349F03091C00035FFFCCF209313
+:107EE000C60031962491F5CFEAE6FDE024912223E5
+:107EF00041F03091C00035FFFCCF2093C600319691
+:107F0000F5CFE5E5FDE02491222341F03091C0005A
+:107F100035FFFCCF2093C6003196F5CFE9E4FDE0B4
+:107F20002491222341F03091C00035FFFCCF2093F3
+:107F3000C6003196F5CFE2E3FDE02491222341F023
+:107F40003091C00035FFFCCF2093C6003196F5CFAD
+:107F50002091C00025FFFCCF2AE02093C600E7E275
+:107F6000FDE02491222341F03091C00035FFFCCF89
+:107F70002093C6003196F5CFEBE1FDE0249122235A
+:107F800041F03091C00035FFFCCF2093C600319600
+:107F9000F5CF2091C00025FFFCCF2AE02093C6003A
+:107FA000FC018491EFE2FEE0882349F09091C0004B
+:107FB00095FFFCCF8093C60031968491F5CFECE01D
+:107FC000FDE08491882341F09091C00095FFFCCFA3
+:107FD0008093C6003196F5CF0E9458964AE050E053
+:107FE000BC018CE99DE00E945A8AE5EFFCE0849197
+:107FF000882341F09091C00095FFFCCF8093C6008C
+:108000003196F5CF4AE050E060ED74E08CE99DE0F8
+:108010000E945A8A8091C00085FFFCCF8AE080933D
+:10802000C60010926A0810926B0810926C081092A9
+:108030006D080E9467870E9439830E94A2200E94D7
+:10804000279A0E9446950E947076FFEF23ED80E309
+:10805000F15020408040E1F700C000000895809179
+:108060005E0890915F0860E070E001960C94F7B2B2
+:1080700080915E0890915F084AE050E060E070E017
+:1080800001960C945FB4682F772767FD7095209157
+:1080900068083091690840E6429FC001439F900DF7
+:1080A00011248259974F0E9423B690935F088093C2
+:1080B0005E0821E0892B09F420E0822F08950E94B8
+:1080C00031A960935A0870935B0880935C08909381
+:1080D0005D0808950E9431A960935A0870935B0867
+:1080E00080935C0890935D08E0916808F0916908BE
+:1080F000E659F74F8081811114C0ECEFF8E08491CC
+:10810000882341F09091C00095FFFCCF8093C6007A
+:108110003196F5CF8091C00085FFFCCF8AE0809337
+:10812000C60008958CE99DE00E949889EFEFF8E081
+:108130008491882341F09091C00095FFFCCF8093FB
+:10814000C6003196F5CF4091F3095091F409609142
+:10815000F5097091F6094F5F5F4F6F4F7F4F2AE02F
+:1081600030E08CE99DE00E94378A8091C00085FF55
+:10817000FCCF8AE08093C600ADCF8F929F92AF92E2
+:10818000BF92CF92DF92EF92FF920F931F93CF9304
+:10819000DF9337ECE32E34E0F32E04E41AE0CFE073
+:1081A000DAE049E5C42E4AE0D42EF70181917F013F
+:1081B0006ADF882311F153DF4B015C01F6018081F6
+:1081C000811103C06091EE0901C061E070E080E0C0
+:1081D00090E00E9442AFF8012081318142815381B9
+:1081E0000E9475B19B01AC01C501B4010E94C7ADED
+:1081F000688379838A839B8309C0F8018081918198
+:10820000A281B38188839983AA83BB830C5F1F4FAC
+:108210002496FFEFCF1ADF0A8BECE81684E0F8060D
+:1082200021F686E430DF8823D1F019DF6B017C0171
+:108230006093FF097093000A8093010A9093020AE9
+:1082400020E030E0A9010E94A3B0181644F4C092C7
+:108250002102D0922202E0922302F0922402DF91C6
+:10826000CF911F910F91FF90EF90DF90CF90BF9033
+:10827000AF909F908F90089580DF89E404DF88237A
+:1082800051F0EDDE6093030A7093040A8093050AAF
+:108290009093060A08C01092030A1092040A1092E2
+:1082A000050A1092060A8AE4EEDE882351F0D7DE32
+:1082B0006093070A7093080A8093090A90930A0A48
+:1082C00008951092070A1092080A1092090A109253
+:1082D0000A0A0895CF92DF92EF92FF92CF93DF9335
+:1082E000EC01C0904302D0904402E0904502F0902F
+:1082F0004602A7019601688179818A819B810E944B
+:10830000A0AE87FF04C0C882D982EA82FB82C090F7
+:108310004702D0904802E0904902F0904A02A7013B
+:1083200096016C817D818E819F810E94A0AE87FF26
+:1083300004C0CC82DD82EE82FF8220E030E0A90121
+:1083400060914B0270914C0280914D0290914E02CF
+:108350000E94C7AD6B017C019B01AC0168857985EA
+:108360008A859B850E94A0AE87FF04C0C886D986F7
+:10837000EA86FB86C0903702D0903802E09039023E
+:10838000F0903A02A7019601688179818A819B81E8
+:108390000E94A3B0181624F4C882D982EA82FB8214
+:1083A000C0903B02D0903C02E0903D02F0903E0233
+:1083B000A70196016C817D818E819F810E94A3B06F
+:1083C000181624F4CC82DD82EE82FF82C0903F0238
+:1083D000D0904002E0904102F0904202A701960145
+:1083E000688579858A859B850E94A3B0181624F438
+:1083F000C886D986EA86FB86DF91CF91FF90EF9001
+:10840000DF90CF900895CF92DF92EF92FF920F937B
+:108410001F938FE09AE05EDF0E9431A960935A08B3
+:1084200070935B0880935C0890935D0820910F0A1D
+:108430003091100A4091110A5091120A6091440A39
+:108440007091450A8091460A9091470A0E94A0AE19
+:10845000811179C02091130A3091140A4091150AB4
+:108460005091160A6091480A7091490A80914A0A0F
+:1084700090914B0A0E94A0AE811165C020E030E0CF
+:1084800040E752E460912102709122028091230220
+:10849000909124020E94A7AE50E3C52E5AE0D52E3B
+:1084A0007B018C012BE13AE047E15AE063E17AE09D
+:1084B0008FE09AE00E94779A80910F0A9091100ABB
+:1084C000A091110AB091120A8093440A9093450A30
+:1084D000A093460AB093470A8091130A9091140A18
+:1084E000A091150AB091160A8093480A9093490A00
+:1084F000A0934A0AB0934B0A8091170A9091180AE8
+:10850000A091190AB0911A0A80934C0A90934D0ACF
+:10851000A0934E0AB0934F0A80911B0A90911C0AB7
+:10852000A0911D0AB0911E0A8093500A9093510A9F
+:10853000A093520AB093530A1F910F91FF90EF90AE
+:10854000DF90CF90089560915D0270915E02882760
+:1085500077FD8095982F0E9442AF209121023091A3
+:10856000220240912302509124020E9475B120E022
+:1085700030E040E752E40E94A7AE20E030E048EC53
+:1085800052E488CFCF92DF92EF92FF92CF93C62F23
+:10859000E091300AF0E0882309F4C2C0DF01A45D55
+:1085A000B54F8C91811196C18091440A9091450AF2
+:1085B000A091460AB091470A80930F0A9093100A3F
+:1085C000A093110AB093120A8091480A9091490A27
+:1085D000A0914A0AB0914B0A8093130A9093140A0F
+:1085E000A093150AB093160A80914C0A90914D0AF7
+:1085F000A0914E0AB0914F0A8093170A9093180ADF
+:10860000A093190AB0931A0AC090500AD090510A48
+:10861000E090520AF090530AC0921B0AD0921C0AB2
+:10862000E0921D0AF0921E0AEE0FFF1FEE0FFF1FD1
+:10863000E15BFD4F2081318142815381CC2349F0A0
+:1086400060912F027091300280913102909132023C
+:1086500008C060913302709134028091350290918C
+:1086600036020E94A7AE9B01AC01C701B6010E9471
+:10867000C7AD6093500A7093510A8093520A909349
+:10868000530A80E59AE00E94E3A4C0902102D090B2
+:108690002202E0902302F090240220E030E040E744
+:1086A00052E460912B0270912C0280912D029091E6
+:1086B0002E020E9475B16093210270932202809372
+:1086C000230290932402E091300AF0E0E45DF54F3C
+:1086D00081E0808398DE2091280A3091290A409118
+:1086E0002A0A50912B0A60914C0A70914D0A809190
+:1086F0004E0A90914F0A0E94C6AD60934C0A709347
+:108700004D0A80934E0A90934F0A20E53AE04CE4DC
+:108710005AE068E47AE084E49AE00E943EA4D1C082
+:10872000E45DF54F8081882309F4D4C08091440A28
+:108730009091450AA091460AB091470A80930F0A8A
+:108740009093100AA093110AB093120A8091480ADC
+:108750009091490AA0914A0AB0914B0A8093130A5A
+:108760009093140AA093150AB093160A60914C0ACC
+:1087700070914D0A80914E0A90914F0A6093170AAA
+:108780007093180A8093190A90931A0AC090500A9D
+:10879000D090510AE090520AF090530AC0921B0AFE
+:1087A000D0921C0AE0921D0AF0921E0A2091280A1B
+:1087B0003091290A40912A0A50912B0A0E94C7AD94
+:1087C00060934C0A70934D0A80934E0A90934F0A1F
+:1087D00020E53AE04CE45AE068E47AE084E49AE088
+:1087E0000E943EA4F090300ACC2389F02091200A08
+:1087F0003091210A4091220A5091230A60912F0260
+:1088000070913002809131029091320210C020911B
+:10881000240A3091250A4091260A5091270A609136
+:1088200033027091340280913502909136020E9499
+:10883000C7AD24E0F29EF0011124E15BFD4F2081E1
+:108840003181428153810E94A7AE9B01AC016091AE
+:10885000500A7091510A8091520A9091530A0E94D5
+:10886000C6AD6093500A7093510A8093520A909358
+:10887000530A80E59AE00E94E3A4C0902102D090C0
+:108880002202E0902302F090240220E030E040E752
+:1088900052E4609127027091280280912902909100
+:1088A0002A020E9475B16093210270932202809384
+:1088B000230290932402E091300AF0E0E45DF54F4A
+:1088C0001082A1DDC0922102D0922202E092230206
+:1088D000F0922402CF91FF90EF90DF90CF90089517
+:1088E000AF92BF92CF92DF92EF92FF920F931F93BE
+:1088F000CF93DF93D82F2091070A3091080A409137
+:10890000090A50910A0A6091030A7091040A809141
+:10891000050A9091060A0E94B0B0C62F172F082FA3
+:10892000F92E60915D0270915E02882777FD809537
+:10893000982F0E9442AF2091210230912202409153
+:108940002302509124020E9475B120E030E040E7FC
+:1089500052E40E94A7AE20E030E048EC52E40E94CE
+:10896000A7AE2091300A2F93DF93FF920F931F93AE
+:10897000CF935B016C0172E0E72E01E020E043E061
+:108980005AE06FE07AE084E49AE00E943B2A80910A
+:108990000F0A9091100AA091110AB091120A8093C7
+:1089A000440A9093450AA093460AB093470A8091DF
+:1089B000130A9091140AA091150AB091160A809397
+:1089C000480A9093490AA0934A0AB0934B0A8091AF
+:1089D000170A9091180AA091190AB0911A0A809367
+:1089E0004C0A90934D0AA0934E0AB0934F0A80917F
+:1089F0001B0A90911C0AA0911D0AB0911E0A809337
+:108A0000500A9093510AA093520AB093530A0E94BD
+:108A100031A960935A0870935B0880935C08909327
+:108A20005D080F900F900F900F900F900F90DF91B7
+:108A3000CF911F910F91FF90EF90DF90CF90BF905B
+:108A4000AF900895F8940E944521179A1092350A24
+:108A5000169A1092360A159A1092370A149A60E004
+:108A600087E40E9451A8E5E3FEE08491882341F069
+:108A70009091C00095FFFCCF8093C6003196F5CF52
+:108A8000EDEDF8E08491882341F09091C00095FFCE
+:108A9000FCCF8093C6003196F5CF8091C00085FF52
+:108AA000FCCF8AE08093C60084ED98E00E940D76AA
+:108AB0007894C6E0D0E02197209749F068EC70E008
+:108AC00080E090E00E9460A90E949C76F4CFF89428
+:108AD000FFCF2F923F924F925F926F927F928F9231
+:108AE0009F92AF92BF92CF92DF92EF92FF920F933D
+:108AF0001F93CF93DF93CDB7DEB76E970FB6F89481
+:108B0000DEBF0FBECDBFB0E6BB2E14E0E12EF12CD0
+:108B10000BEBC02E0BE0D02E8AE0A82E9924939464
+:108B200080911D0E90911E0E20911F0E3091200EEF
+:108B3000821B930B8F779927892B09F41AC2809196
+:108B400064089091650804970CF013C28CE99DE0CD
+:108B50000E947C89809363082091610830916208AB
+:108B60008A3061F08D3051F08A3321F490916008A1
+:108B7000992321F02F3531050CF41DC12115310544
+:108B800009F437C18091660890916708B89E30015A
+:108B9000B99E700C1124F301E20FF31FE259F74F55
+:108BA000108220916008211101C110926008FC011F
+:108BB000E659F74F108283010259174F6EE470E0B7
+:108BC000C8010E9423B60097F1F190935F0880934B
+:108BD0005E08801B910B860D971D4AE050E060E017
+:108BE00070E08159974F0E945FB46093F7097093CA
+:108BF000F8098093F9099093FA094090F30950908D
+:108C0000F4096090F5097090F6092FEF421A520AA4
+:108C1000620A720A0091660810916708641575056A
+:108C20008605970509F4E8C0B09EC001B19E900D7D
+:108C3000112467ED7CE08259974F0E94CEB5892BB5
+:108C400009F0DAC069C16AE270E0C8010E9423B687
+:108C5000892B09F444C0E5E3FEE08491882341F0C8
+:108C60009091C00095FFFCCF8093C6003196F5CF60
+:108C7000E1E3FCE08491882341F09091C00095FFEE
+:108C8000FCCF8093C6003196F5CF4091F309509107
+:108C9000F4096091F5097091F6092AE030E08CE959
+:108CA0009DE00E94378A8091C00085FFFCCF8AE05A
+:108CB0008093C6001092620810926108C0C2809131
+:108CC000F7099091F809A091F909B091FA098093F8
+:108CD000F3099093F409A093F509B093F6098091F4
+:108CE000660890916708B89E8001B99E100D112406
+:108CF000C8018259974F3C0167E470E00E9423B697
+:108D0000009781F190935F0880935E088619970918
+:108D1000800F911F60E070E08159974F0E94F7B279
+:108D20000E940FAF64307105E8F480914C088823ED
+:108D3000C9F0F6018491EBEBFBE0882349F09091B8
+:108D4000C00095FFFCCF8093C60031968491F5CF8B
+:108D50008091C00085FFFCCFA092C60081EB9BE014
+:108D60000E9400760091660810916708B09EC001CD
+:108D7000B19E900D112463E973E08259974F0E94D0
+:108D80002EB6892B09F45EDEC8010196B7010E9458
+:108D90006BB2909367088093660880916408909105
+:108DA00065080196909365088093640810926208A4
+:108DB00010926108B5CE8B3311F4909260089091B7
+:108DC00060089111ADCE4091660850916708B901D5
+:108DD0006F5F7F4F7093620860936108B49EF001EB
+:108DE000B59EF00D1124E20FF31FE259F74F808377
+:108DF00097CE1092600823C2B09E3001B19E700CD5
+:108E00001124C3018259974F1C016AE270E00E944D
+:108E100023B6009789F5E5E3FEE08491882341F0CD
+:108E20009091C00095FFFCCF8093C6003196F5CF9E
+:108E3000EBE5FCE08491882341F09091C00095FF20
+:108E4000FCCF8093C6003196F5CF4091F309509145
+:108E5000F4096091F5097091F6092AE030E08CE997
+:108E60009DE00E94378A8091C00085FFFCCF8AE098
+:108E70008093C60057D91ECF20E010E0F301E20F27
+:108E8000F11DE259F74F30813A3219F02F5F132765
+:108E9000F5CF90935F0880935E0882199309860D41
+:108EA000971D60E070E08159974F0E94F7B20E94D1
+:108EB0000FAF212F30E02617370709F400CFE5E385
+:108EC000FEE08491882341F09091C00095FFFCCF93
+:108ED0008093C6003196F5CFE5E8FCE084918823C5
+:108EE00041F09091C00095FFFCCF8093C600319671
+:108EF000F5CF4091F3095091F4096091F509709113
+:108F0000F6092AE030E08CE99DE00E94378A8091E2
+:108F1000C00085FFFCCFABCFE5E3FEE08491882362
+:108F200041F09091C00095FFFCCF8093C600319630
+:108F3000F5CFE4EAFCE08491882341F09091C000F1
+:108F400095FFFCCF8093C6003196F5CF4091F30991
+:108F50005091F4096091F5097091F6092AE030E02A
+:108F60008CE99DE00E94378A8091C00085FFFCCF8C
+:108F70007ECF80915F0A882309F461C180916108E6
+:108F800090916208892B09F05AC1809164089091F0
+:108F90006508892B11F410924A08F8EE2F2EF3E0A1
+:108FA0003F2E412C512CACE3CA2ED12CE12CF12CBC
+:108FB0008E010F5F1F4FE0E66E2E77247394409171
+:108FC000FA0C5091FB0C6091FC0C7091FD0C80919F
+:108FD000F20C9091F30CA091F40CB091F50C4817A1
+:108FE00059076A077B0708F02AC1809164089091AD
+:108FF000650804970CF023C180914A0881111FC1B4
+:1090000080914D0C90914E0CA0914F0CB091500C52
+:109010008093FA0C9093FB0CA093FC0CB093FD0C86
+:1090200085E49CE00E94E011482F809363088A3019
+:10903000B9F04D30A9F0433229F420916008222381
+:1090400079F002C04A33C9F3209161083091620877
+:109050002F3531052CF48F3FFFEF9F0709F0D1C06A
+:109060004091FA0C5091FB0C6091FC0C7091FD0C3E
+:109070008091F20C9091F30CA091F40CB091F50C4E
+:10908000481759076A077B0708F481C0EEE9FBE03F
+:109090008491882341F09091C00095FFFCCF80938C
+:1090A000C6003196F5CF8091C00085FFFCCFFAE075
+:1090B000F093C6000E9431A960934E0870934F0848
+:1090C00080935008909351088090520890905308D4
+:1090D000A0905408B0905508681979098A099B092D
+:1090E000A20191010E947EB249015A01CA01B9014F
+:1090F000A70196010E947EB2CA01B901A70196019B
+:109100000E947EB27F936F93C501B40120E13EE0DF
+:1091100040E050E00E947EB23F932F93AAE8BBE06C
+:10912000BF93AF931F930F930E945BB6EFE2FEE0F5
+:1091300084910FB6F894DEBF0FBECDBF882349F0EF
+:109140009091C00095FFFCCF8093C600319684912A
+:10915000F5CFF8018191882339F09091C00095FFF7
+:10916000FCCF8093C600F6CF8091C00085FFFCCF76
+:109170003AE03093C600C8010E9448728DE59AE03B
+:109180000E945B3961E08DE59AE00E94873380910F
+:109190006308833211F470924A082091610830917B
+:1091A00062082115310509F424CE8091660890915A
+:1091B0006708689EF001699EF00D1124E20FF31F0D
+:1091C000E259F74F1082FC01E659F74F7082209167
+:1091D0006408309165082F5F3F4F309365082093F6
+:1091E0006408019664E070E00E946BB29093670897
+:1091F00080936608109260081092620810926108CD
+:10920000DECE4B3311F4709260084091600841113A
+:10921000D2CE4091660850916708B9016F5F7F4FC9
+:109220007093620860936108649EF001659EF00D82
+:109230001124E20FF31FE259F74F8083C0CE6E96E0
+:109240000FB6F894DEBF0FBECDBFDF91CF911F9157
+:109250000F91FF90EF90DF90CF90BF90AF909F90D5
+:109260008F907F906F905F904F903F902F900895D8
+:10927000CF92DF92EF92FF920F931F93CF93C82F5D
+:10928000809164089091650803970CF422DC0E9499
+:1092900031A9009156081091570820915808309133
+:1092A0005908C0905A08D0905B08E0905C08F09094
+:1092B0005D086C197D098E099F0906171707280795
+:1092C000390728F4012B022B032B09F0BBDB40915B
+:1092D0001D0250911E0260911F0270912002452BC9
+:1092E000462B472B19F10E9431A900915A08109181
+:1092F0005B0820915C0830915D08601B710B820B4C
+:10930000930B00911D0210911E0220911F023091BB
+:109310002002061717072807390740F490916D0EB1
+:1093200080916C0E981302C0CC2349F0CF911F910D
+:109330000F91FF90EF90DF90CF900C945B9A179A6B
+:109340001092350A169A1092360A159A1092370A18
+:10935000149AECCF0E94452180914C08811138C0AD
+:1093600081E080934C088091F3099091F409A091D9
+:10937000F509B091F6098093EF099093F009A09355
+:10938000F109B093F209E5E3FEE08491882341F00E
+:109390009091C00095FFFCCF8093C6003196F5CF29
+:1093A000EEE5F8E08491882341F09091C00095FFAC
+:1093B000FCCF8093C6003196F5CF8091C00085FF29
+:1093C000FCCF8AE08093C60084E598E00C94007698
+:1093D000089580914C080895CF93DF93EC0180911C
+:1093E000300A80934D0884E50E944340811102C0F9
+:1093F00080E075C00E942F400E9414AF60934D081A
+:109400006623B1F3EFE2FEE08491882341F090916E
+:10941000C00095FFFCCF8093C6003196F5CFCD36C6
+:10942000D105B9F054F4C836D105B1F0C936D1052B
+:1094300009F045C0EDEDF3E021C0CA3DD10531F0A2
+:10944000CD3DD105E1F5E8E9F3E036C0EFEAF3E020
+:1094500029C0E6ECF3E01CC0E4EFF3E0819188233F
+:1094600071F19091C00095FFFCCF8093C600F6CFBC
+:109470009091C00095FFFCCF8093C600819181112F
+:10948000F7CF1DC09091C00095FFFCCF8093C60020
+:1094900081918111F7CF13C09091C00095FFFCCF4F
+:1094A0008093C60081918111F7CF09C09091C000CF
+:1094B00095FFFCCF8093C60081918111F7CF40E0EA
+:1094C00050E060914D088CE99DE00E94918A809166
+:1094D000C00085FFFCCF8AE08093C60081E0DF9169
+:1094E000CF910895CF92DF92EF92FF922091540A8C
+:1094F0002223F1F020E030E040E05FE30E9475B10C
+:109500006B017C0120E030E0A9010E94A0AE88231D
+:1095100079F0A7019601C701B6010E9475B12BED44
+:109520003FE049E450E40E9475B19B01AC0104C0E6
+:1095300020E030E040E85FE360E070E080E89FE337
+:109540000E94A7AEFF90EF90DF90CF9008956091BA
+:109550005302709154028091550290915602C2DFDD
+:1095600060934F0270935002809351029093520285
+:1095700008953F924F925F926F927F928F929F9247
+:10958000AF92BF92CF92DF92EF92FF920F931F9311
+:10959000CF93DF93CDB7DEB7E9970FB6F894DEBF70
+:1095A0000FBECDBF80E50E9443408823B1F186E421
+:1095B0000E9443408823A9F0EAE1F4E081918823E6
+:1095C00039F09091C00095FFFCCF8093C600F6CF94
+:1095D0008091C00085FFFCCF8AE08093C6000C9488
+:1095E000F46082E50E944340882311F40C94F460F7
+:1095F000E0E2F4E08191882339F09091C00095FF7A
+:10960000FCCF8093C600F6CF8091C00085FFFCCFD1
+:109610008AE08093C6000C94F46087E40E94434083
+:10962000882309F44CC20E942F400E940FAF6A3079
+:10963000710509F4AFC09CF46230710509F44CC0A7
+:1096400024F477FF25C00C94F4606330710509F4AD
+:109650004EC06430710509F455C00C94F4606A354D
+:10966000710509F4D8C154F46B30710509F498C040
+:109670006C31710509F49AC00C94F4606B35710576
+:1096800009F4CDC16C35710509F4CEC10C94F460B8
+:1096900080914C0881110C94F4600E94BD4080912F
+:1096A0002D0A8823A9F088E50E944340811110C04B
+:1096B00089E50E94434081110BC08AE50E94434026
+:1096C000811106C085E40E94434081110C94F7602B
+:1096D0000E9403420C94F46080914C0881110C9418
+:1096E000F4600E943C4181E0FBD80C94F4608091CE
+:1096F0004C0881110C94F4600E943C4180E0F0D849
+:109700000C94F46081E89BE00E94007680E50E9462
+:109710004340882339F00E942F400E9414AF4B0130
+:109720005C0103C0812C912C540183E50E944340CD
+:10973000882361F00E942F4020E030E04AE754E4A3
+:109740000E9475B10E9414AF4B015C010E943D93D1
+:109750000E9431A96B017C01C80CD91CEA1CFB1CBE
+:109760000E9431A960935A0870935B0880935C084B
+:1097700090935D080E9431A96C157D058E059F05AB
+:1097800010F00C94F4600E94721E80E071DD0E9463
+:109790009C76F0CF60E081E00E94C2420C94F460BD
+:1097A00060E080E00E94C2420C94F460809121024B
+:1097B00090912202A0912302B09124028093FB0990
+:1097C0009093FC09A093FD09B093FE0980915D027E
+:1097D00090915E029093580A8093570A84E690E035
+:1097E00090935E0280935D020E9431A960935A08B3
+:1097F00070935B0880935C0890935D0881E00E9401
+:10980000F18B8091440A9091450AA091460AB0914B
+:10981000470A80930F0A9093100AA093110AB093FD
+:10982000120A8091480A9091490AA0914A0AB0917F
+:109830004B0A8093130A9093140AA093150AB093CD
+:10984000160A80914C0A90914D0AA0914E0AB0914F
+:109850004F0A8093170A9093180AA093190AB0939D
+:109860001A0A8091500A9091510AA091520AB0911F
+:10987000530A80931B0A90931C0AA0931D0AB0936D
+:109880001E0A1092210210922202109223021092BC
+:10989000240288E50E944340882311F090E00AC02A
+:1098A00089E50E9443408111F9CF8AE50E94434037
+:1098B00091E098279093250291110C94266188E5F8
+:1098C0000E94434081110C942661809125028111F0
+:1098D0000C942C6189E50E94434081110C942C6109
+:1098E00088E50E9443408823D1F00E943840672BCE
+:1098F000682B692BA1F00E942F402091380A3091EB
+:10990000390A40913A0A50913B0A0E94C7AD6093D0
+:10991000440A7093450A8093460A9093470A89E562
+:109920000E9443408823D1F00E943840672B682B67
+:10993000692BA1F00E942F4020913C0A30913D0AF2
+:1099400040913E0A50913F0A0E94C7AD6093480A79
+:109950007093490A80934A0A90934B0A809125029A
+:1099600081110C9432618AE50E94434081110C946C
+:1099700032618AE50E9443408823D1F00E9438403A
+:10998000672B682B692BA1F00E942F402091400A81
+:109990003091410A4091420A5091430A0E94C7AD5A
+:1099A00060934C0A70934D0A80934E0A90934F0A2D
+:1099B00020E53AE04CE45AE068E47AE084E49AE096
+:1099C0000E943EA480E00E94F18B8091FB0990915F
+:1099D000FC09A091FD09B091FE09809321029093AA
+:1099E0002202A0932302B09324028091570A9091FF
+:1099F000580A90935E0280935D020E9431A96093A1
+:109A00005A0870935B0880935C0890935D080E94ED
+:109A1000EA8B0C94F4601092EE090C94F46081E0EF
+:109A20008093EE090C94F46085E40E944340811118
+:109A300002C00E943D9357ECC52E54E0D52E68E33A
+:109A4000E62E6AE0F62E04E41AE0B12CF6018191CC
+:109A50006F010E944340882339F1F3E0BF120CC02C
+:109A60000E942F40F801608371838283938380E595
+:109A70009AE00E94E3A418C00E942F40F7012081C1
+:109A80003181428153810E94C7ADF80160837183A7
+:109A90008283938320E53AE04CE45AE068E47AE07C
+:109AA00084E49AE00E943EA4B394F4E0EF0EF11C2B
+:109AB0000C5F1F4F24E0B212C9CF0C94F4608DE408
+:109AC0000E944340882311F40C9423600E942F408D
+:109AD0000E940FAF6537710511F40C94C9550CF055
+:109AE000A6C06032710509F4F0C20CF056C06731AF
+:109AF000710509F445C254F56231710509F468C76E
+:109B0000BCF477FF02C00C94F460623071050CF471
+:109B100061C16131710511F00C94F46088E49BE03F
+:109B20000E94007617981698159814980C94F46073
+:109B30006531710509F418C20CF01CC2643171055D
+:109B400011F00C94F460E8E3FBE0EAC16B317105BD
+:109B500009F442C2B4F46931710509F429C20CF068
+:109B60002DC28DE59AE00E9416310E9431A96093C2
+:109B700052087093530880935408909355080C949E
+:109B8000F4606E31710509F462C20CF03AC36C31B5
+:109B9000710509F427C20C94F4606C35710509F461
+:109BA0006AC7ECF46235710509F409C764F46035DD
+:109BB000710509F4DAC60CF0E5C66A32710509F4DC
+:109BC0007EC30C94F4606435710509F401C70CF48C
+:109BD000FAC66535710509F433C70C94F4606B3629
+:109BE000710509F4BCC664F46936710509F4DEC375
+:109BF0000CF085C66836710509F4A8C30C94F460AE
+:109C00006037710509F4BFC334F46D36710509F48A
+:109C1000D9C40C94F4606237710509F4CEC7633778
+:109C2000710511F00C94F460EEEBF9E0ADC76D3DF9
+:109C3000710511F40C94D3590CF04DC06B3C7105B7
+:109C400011F40C944D5844F56C38710509F49DC31A
+:109C50009CF46837710511F40C94BD566937710591
+:109C600011F40C94C2566737710511F00C94F4602E
+:109C7000E7E2F4E00C94CD56683C710511F40C94C5
+:109C8000B757693C710511F40C942C586E3B710563
+:109C900011F00C94F46020C56F3C710511F40C9424
+:109CA000095954F46D3C710511F40C948C5814F45A
+:109CB0000C946A580C94EC58613D710511F40C94A5
+:109CC000645914F40C943E596C3D710511F40C94D4
+:109CD000C4590C94F460603931E0730711F40C94AA
+:109CE000965B54F56E3291E0790711F40C94505B59
+:109CF00084F46C32F1E07F0711F40C94545A14F0A0
+:109D00000C948A5A623E710511F40C94F9590C9422
+:109D1000F4606E3531E0730711F40C94905F6F3589
+:109D200081E0780711F40C94C75F6F32714011F035
+:109D30000C94F4600C945E5B6835E2E07E0711F4ED
+:109D40000C94745CBCF4663F21E0720711F40C942F
+:109D5000995B673F31E0730711F40C949C5B653F9E
+:109D6000714011F00C94F4600E9467870E9439835F
+:109D70000C94F4606B3893E0790711F40C946A5FEB
+:109D80003CF46335734011F40C949F5B0C94F460C5
+:109D9000603A23E0720709F401C2673E734011F094
+:109DA0000C94F46010924C080E9413768091EF0995
+:109DB0009091F009A091F109B091F2098093F30913
+:109DC0009093F409A093F509B093F6090E9492408C
+:109DD0000C94F46000915E0810915F080E5F1F4FB5
+:109DE00080E50E944340882379F00E942F400E9422
+:109DF00014AF6B017C01BB24B3946115710581051F
+:109E0000910531F4B12C04C0B12CC12CD12C7601B8
+:109E100083E50E944340882399F00E942F4020E070
+:109E200030E04AE754E40E9475B10E9414AF6B0120
+:109E30007C01AA24A394611571058105910509F49B
+:109E4000A12C6AE270E0C8010E9423B6009711F0CD
+:109E5000FC011082F801CF0121912032E1F3B11011
+:109E600007C0A11005C0222319F00E94487204C047
+:109E700080E79BE00E94007681E00E9428720E94A9
+:109E80003D930E9431A960935A0870935B088093B8
+:109E90005C0890935D08C114D104E104F104A9F0B9
+:109EA0000E9431A94B015C018C0C9D1CAE1CBF1C97
+:109EB0000E9431A9681579058A059B05B8F40E94AE
+:109EC0006277811113C00C9438610E9460778823F7
+:109ED00011F40C94F4600E94627781110AC00E9410
+:109EE000721E80E0C5D90E949C76F5CF80E00E946A
+:109EF000287280915F0A882331F081E69BE00E94FE
+:109F000000760C94F46081E59BE00E9400760C944E
+:109F1000F4609091C00095FFFCCF8093C60031960D
+:109F200084918111F6CF8091C00085FFFCCF8AE03B
+:109F30008093C6008DE59AE00E94F22FEAE2FBE0F2
+:109F40008491882341F09091C00095FFFCCF8093CD
+:109F5000C6003196F5CF8091C00085FFFCCF8AE026
+:109F60008093C6000C94F4608DE59AE00E9447301F
+:109F70000C94F4608DE59AE00E9412310C94F46028
+:109F800000915E0810915F080C5F1F4F6AE270E05D
+:109F9000C8010E9423B6009711F0FC01108221E055
+:109FA00041E0B8018DE59AE00E94EC340C94F46035
+:109FB0008DE59AE00E941D310C94F4608091600A56
+:109FC000882311F40C94F46083E50E9443408111CE
+:109FD0000C9441610C94F4608DE59AE00E94C132CA
+:109FE0000C94F46080915E0890915F086AE270E0E2
+:109FF00004960E9423B68C010097D9F0209168083E
+:10A000003091690840E6429FC001439F900D1124A2
+:10A010006EE470E08259974F0E9423B660E270E0D0
+:10A020000E9423B6019690935F0880935E08F80122
+:10A03000108260915E0870915F086C5F7F4F21E035
+:10A0400040E08DE59AE00E94EC340C94F46080913D
+:10A05000600A882311F40C94F46060E08DE59AE0C6
+:10A060000E947D3480915E0890915F086AE270E002
+:10A0700004960E9423B68C010097D9F020916808BD
+:10A080003091690840E6429FC001439F900D112422
+:10A090006EE470E08259974F0E9423B660E270E050
+:10A0A0000E9423B6019690935F0880935E08F801A2
+:10A0B000108260915E0870915F086C5F7F4F8DE544
+:10A0C0009AE00E9481310C94F46080915F0A8111C2
+:10A0D0000E943D9300915E0810915F080C5F1F4F36
+:10A0E0006AE270E0C8010E9423B67C0161E270E080
+:10A0F000C8010E9423B6009719F08C010F5F1F4F13
+:10A10000E114F10411F0F701108280E50E94434050
+:10A11000F82E20915E0830915F080217130708F4AB
+:10A12000F12C8091600A882311F40C94F46021E0F2
+:10A130002F2541E0B8018DE59AE00E94EC3483E5DB
+:10A140000E9443408823B9F020915E0830915F0857
+:10A150002017310780F40E943840AB01BC014093C6
+:10A16000FA0C5093FB0C6093FC0C7093FD0C85E48F
+:10A170009CE00E94A9128DE59AE00E941631F11030
+:10A180000C94F4600E9431A96093520870935308B4
+:10A1900080935408909355080C94F46080915E0865
+:10A1A00090915F086AE270E005960E9423B68C01E8
+:10A1B0000097D9F0209168083091690840E6429FE5
+:10A1C000C001439F900D11246EE470E08259974FB7
+:10A1D0000E9423B660E270E00E9423B6019690933D
+:10A1E0005F0880935E08F801108260915E087091AC
+:10A1F0005F086B5F7F4F8DE59AE00E9416380C94E4
+:10A20000F4600E9431A960934E0870934F088093C8
+:10A2100050089093510800915208109153082091D2
+:10A22000540830915508601B710B820B930B28EE7C
+:10A2300033E040E050E00E947EB2CA01B9012CE355
+:10A2400030E040E050E00E947EB27F936F933F93F6
+:10A250002F938BE19BE09F938F93CE0101969F9369
+:10A260008F930E945BB6EFE2FEE084910FB6F89404
+:10A27000DEBF0FBECDBF882349F09091C00095FF8F
+:10A28000FCCF8093C60031968491F5CFFE013196C4
+:10A290008191882339F09091C00095FFFCCF809385
+:10A2A000C600F6CF8091C00085FFFCCF8AE0809386
+:10A2B000C600CE0101960E9448720C94F46083E5BA
+:10A2C0000E944340882311F40C94F4600E942F40B4
+:10A2D0000E940FAFF62EE72E862F9E2D8C0180E573
+:10A2E0000E944340882331F00F3F110509F010F41C
+:10A2F0000C9452610DE010E0EFE8F4E0819191914F
+:10A300008017910711F40C94F46034E0E73CF307F4
+:10A31000A9F70830110539F48F2D9E2D90932F0A3F
+:10A3200080932E0A04C017FF02C00C94F46061E011
+:10A33000802F0E9451A86F2D802F0E948AA86F2D18
+:10A340007E2D802F0E9447A70C94F46088E690E051
+:10A3500043D881110C94F46083E50E944340882324
+:10A3600071F000914D080E942F4010E0000F111F66
+:10A37000085B174F0E940FAFF801718360830E9442
+:10A3800044210C94F4600E94224583E50E944340DE
+:10A39000882311F40C94F4600E942F400E940FAFA8
+:10A3A00070934708609346080C94F46089E690E047
+:10A3B00013D881110C94F460E5E1FBE084918823CB
+:10A3C00041F09091C00095FFFCCF8093C60031967C
+:10A3D000F5CFE0914D0824E0E29FF0011124E05C0C
+:10A3E000F74F408151816281738121E030E08CE937
+:10A3F0009DE00E94308BE2E1FBE08491882341F0F4
+:10A400009091C00095FFFCCF8093C6003196F5CFA8
+:10A41000E0914D08F0E0EE0FFF1FE85BF74F608121
+:10A420007181882777FD8095982F0E9442AFAB01FC
+:10A43000BC0121E030E08CE99DE00E94308BEEE031
+:10A44000FBE08491882341F09091C00095FFFCCF00
+:10A450008093C6003196F5CF40913A0850913B0861
+:10A4600060913C0870913D0821E030E08CE99DE06E
+:10A470000E94308BEBE0FBE08491882341F09091C7
+:10A48000C00095FFFCCF8093C6003196F5CF609158
+:10A49000460870914708882777FD8095982F0E947D
+:10A4A00042AFAB01BC0121E030E08CE99DE00E94AD
+:10A4B000308BE8E0FBE08491882341F09091C0006C
+:10A4C00095FFFCCF8093C6003196F5CF4AE050E06F
+:10A4D00060E070E08CE99DE00E945A8AE6E0FBE0D3
+:10A4E0008491882341F09091C00095FFFCCF809328
+:10A4F000C6003196F5CF40914008509141086091D7
+:10A5000042087091430821E030E08CE99DE00E9410
+:10A51000308BE3E0FBE08491882341F09091C00010
+:10A5200095FFFCCF8093C6003196F5CF6091480827
+:10A5300070914908882777FD8095982F0E9442AF37
+:10A54000AB01BC0121E030E08CE99DE00E94308B42
+:10A55000EFEFFAE08491882341F09091C00095FFDD
+:10A56000FCCF8093C6003196F5CF80914D0890E0E6
+:10A570000E943C1E4AE050E0BC018CE99DE00E9434
+:10A580005A8AEAEFFAE08491882341F09091C00062
+:10A5900095FFFCCF8093C6003196F5CF8FEF9FEFEC
+:10A5A0000E943C1E4AE050E0BC018CE99DE00E9404
+:10A5B0005A8A8091C00085FFFCCF8AE08093C60054
+:10A5C0000C94B0628DE690E00E94EC4981110C94ED
+:10A5D000F4608FEE9AE00E94007683E50E9443408B
+:10A5E000882391F000914D080E942F4010E0000F49
+:10A5F000111F085B174F0E940FAFF8017183608332
+:10A6000081E080931C0215C082E50E9443408823AC
+:10A6100081F000914D080E942F4010E0000F111FA3
+:10A62000085B174F0E940FAFF8017183608310928F
+:10A630001C020E9444210E9431A94B015C0100913F
+:10A640004D0810E0F801EE0FFF1FE85BF74F608147
+:10A650007181882777FD8095982F0E9442AFF8017D
+:10A66000EE0FFF1FEE0FFF1FE05CF74F11E02081A0
+:10A670003181428153810E94A3B018160CF010E082
+:10A6800010934B0810921F0ACC24CA94DC2C76013C
+:10A6900048EE442E43E0542E612C712C5AE0352EA6
+:10A6A00080911F0A81110C946D62FFEFCF16DF06B7
+:10A6B000EF06FF0611F40C945961F7FE02C00C94EA
+:10A6C0006D620E9431A96C197D09683B7B4010F4D2
+:10A6D0000C9459610C946D6289EC9AE00E940076AA
+:10A6E00083E50E944340882361F00E942F400E942E
+:10A6F0000FAF709347086093460881E080931C0277
+:10A700000FC082E50E944340882351F00E942F40F1
+:10A710000E940FAF709347086093460810921C0286
+:10A720000E9431A94B015C0110921F0A60914608FA
+:10A7300070914708882777FD8095982F0E9442AF37
+:10A7400011E020913A0830913B0840913C0850912B
+:10A750003D080E94A3B018160CF010E010934B08AF
+:10A7600006EC1AE0E2ECEE2EEAE0FE2EFEEBCF2E37
+:10A77000FAE0DF2EAAE07A2E80914B08609146081D
+:10A7800070914708882309F48BC080911F0A8111BA
+:10A7900087C0882777FD8095982F0E9442AF20912F
+:10A7A0003A0830913B0840913C0850913D080E9486
+:10A7B000A3B018160CF08BC00E9431A96819790952
+:10A7C0008A099B09693E73408105910508F460C0C0
+:10A7D000E091300A84E0E89FF0011124E05CF74F3B
+:10A7E0004081518162817381F8018491E6ECFAE045
+:10A7F000882349F09091C00095FFFCCF8093C6005C
+:10A8000031968491F5CF22E030E08CE99DE00E9402
+:10A81000308BF7018491E2ECFAE0882349F09091C3
+:10A82000C00095FFFCCF8093C60031968491F5CF90
+:10A830006091300A70E04AE050E08CE99DE00E94AF
+:10A840005A8AF6018491EEEBFAE0882349F0909160
+:10A85000C00095FFFCCF8093C60031968491F5CF60
+:10A8600040913A0850913B0860913C0870913D0836
+:10A8700021E030E08CE99DE00E94308B8091C000A7
+:10A8800085FFFCCF7092C6000E9431A94B015C018C
+:10A890000E94721E80E00E9438490E949C766CCF14
+:10A8A000882777FD8095982F0E9442AF20913A0823
+:10A8B00030913B0840913C0850913D080E94A0AE69
+:10A8C00087FF05C080911C02882309F475CF84EBB3
+:10A8D0009AE00E94007680915F0A882321F08EE73B
+:10A8E00093E00E9448720E9431A960935A087093C5
+:10A8F0005B0880935C0890935D080C94F46083E59A
+:10A900000E944340882319F10E942F4020E030E04C
+:10A91000A9010E94A0AE87FD0FC00E942F4020E039
+:10A9200030E04FE753E40E94A3B0181644F00E94B1
+:10A930002F400E940FAF05C060E070E002C06FEFD3
+:10A9400070E070932F0A60932E0A0C94F4608FEFDE
+:10A9500090E090932F0A80932E0A0C94F46010924A
+:10A960002F0A10922E0A0C94F4609B9AA39881E00F
+:10A970008093260284EA9AE00E9400760E949C76E8
+:10A980000C94F4600E9445210E943D93149A0E9409
+:10A99000A79310922F0A10922E0A68EE73E080E0BF
+:10A9A00090E00E9460A99B9AA39A1092260286E9E1
+:10A9B0009AE00E9400760E949C760C94F4601092BB
+:10A9C0005C0A0C94F46081E080935C0A0C94F4605F
+:10A9D00083E50E9443408823A1F00E942F4020E09D
+:10A9E00030E04AE754E40E9475B10E9414AF6093CE
+:10A9F0001D0270931E0280931F02909320020C94FC
+:10AA0000F46088E50E94434081110C948E6289E5D0
+:10AA10000E94434081110C948E628AE50E9443405B
+:10AA200081110C948E6285E40E94434081110C9444
+:10AA30008E620E943D93149A0E94A7930C94F46036
+:10AA400083E50E944340882311F40C94F4600E9433
+:10AA50002F4020E030E04AE754E40E9475B10E94A4
+:10AA600014AF6093560870935708809358089093DA
+:10AA700059080C94F46027EC34E039AF28AF01EAB0
+:10AA800013E161EB862E63E1962E75E6A72E73E146
+:10AA9000B72E312CE8ADF9AD8191F9AFE8AF0E9446
+:10AAA0004340882309F45BC0F3E03F1251C00E9489
+:10AAB0002F406B017C0120E030E040EA51E40E942D
+:10AAC000A0AE87FF3FC0A7019601F80160817181A8
+:10AAD000828193810E94A7AE2B013C019B01AC01B6
+:10AAE0006091791370917A1380917B1390917C130C
+:10AAF0000E9475B16093791370937A1380937B13DE
+:10AB000090937C13A3019201F40160817181828191
+:10AB100093810E9475B1F401608371838283938372
+:10AB2000F50160817181828193810E9440AFA30110
+:10AB300092010E9475B10E9414AFF5016083718388
+:10AB400082839383F801C082D182E282F38207C0BC
+:10AB50000E942F40F8016083718382839383339432
+:10AB60000C5F1F4FF4E08F0E911C24E0A20EB11C6D
+:10AB700034E033128FCF0C94F4609091C00095FFB5
+:10AB8000FCCF8093C600319684918111F6CF0C944E
+:10AB9000F46000915E0810915F080B5F1F4F6AE23E
+:10ABA00070E0C8010E9423B6009711F0FC011082EA
+:10ABB000C8010E9448720C94F460EBEBF9E08491B8
+:10ABC000882341F09091C00095FFFCCF8093C60090
+:10ABD0003196F5CF4091440A5091450A6091460A5A
+:10ABE0007091470A22E030E08CE99DE00E94308BB2
+:10ABF000E7EBF9E08491882341F09091C00095FF44
+:10AC0000FCCF8093C6003196F5CF4091480A509111
+:10AC1000490A60914A0A70914B0A22E030E08CE9BF
+:10AC20009DE00E94308BE3EBF9E08491882341F0B2
+:10AC30009091C00095FFFCCF8093C6003196F5CF70
+:10AC400040914C0A50914D0A60914E0A70914F0A02
+:10AC500022E030E08CE99DE00E94308BEFEAF9E0E1
+:10AC60008491882341F09091C00095FFFCCF8093A0
+:10AC7000C6003196F5CF4091500A5091510A60912B
+:10AC8000520A7091530A22E030E08CE99DE00E9464
+:10AC9000308BE4EAF9E08491882341F09091C00080
+:10ACA00095FFFCCF8093C6003196F5CF0E94999313
+:10ACB0000E9442AF2091A1133091A2134091A3139F
+:10ACC0005091A4130E94A7AEAB01BC0122E030E07A
+:10ACD0008CE99DE00E94308BE0EAF9E084918823C2
+:10ACE00041F09091C00095FFFCCF8093C600319653
+:10ACF000F5CF81E00E9499930E9442AF2091A51365
+:10AD00003091A6134091A7135091A8130E94A7AEAB
+:10AD1000AB01BC0122E030E08CE99DE00E94308B69
+:10AD2000ECE9F9E08491882341F09091C00095FF0F
+:10AD3000FCCF8093C6003196F5CF82E00E949993B4
+:10AD40000E9442AF2091A9133091AA134091AB13F6
+:10AD50005091AC130E94A7AEAB01BC0122E030E0E1
+:10AD60008CE99DE00E94308B8091C00085FFFCCF74
+:10AD70008AE08093C6000C94F46080E00E94F18B1E
+:10AD80000C94F46081E00E94F18B0C94F46090913B
+:10AD9000C00095FFFCCF8093C60081918111F7CF51
+:10ADA0008091C00085FFFCCF8AE08093C600E4E973
+:10ADB000F9E08491882341F09091C00095FFFCCF89
+:10ADC0008093C6003196F5CF1E9B03C0EBE0F4E004
+:10ADD00009C0E5E1F4E006C09091C00095FFFCCF0A
+:10ADE0008093C60081918111F7CF8091C00085FFCB
+:10ADF000FCCF8AE08093C600ECE8F9E084918823D8
+:10AE000041F09091C00095FFFCCF8093C600319631
+:10AE1000F5CF029903C0EBE0F4E009C0E5E1F4E00E
+:10AE200006C09091C00095FFFCCF8093C600819131
+:10AE30008111F7CF8091C00085FFFCCF8AE080931D
+:10AE4000C600E4E8F9E08491882341F09091C000C5
+:10AE500095FFFCCF8093C6003196F5CF1D9B03C0B4
+:10AE6000EBE0F4E009C0E5E1F4E006C09091C00039
+:10AE700095FFFCCF8093C60081918111F7CF80911F
+:10AE8000C00085FFFCCF8AE08093C600ECE7F9E0C4
+:10AE90008491882341F09091C00095FFFCCF80936E
+:10AEA000C6003196F5CF019903C0EBE0F4E009C08C
+:10AEB000E5E1F4E006C09091C00095FFFCCF8093DF
+:10AEC000C60081918111F7CF8091C00085FFFCCF32
+:10AED0008AE08093C600E4E7F9E08491882341F09A
+:10AEE0009091C00095FFFCCF8093C6003196F5CFBE
+:10AEF0001C9B03C0EBE0F4E009C0E5E1F4E006C010
+:10AF00009091C00095FFFCCF8093C6008191811184
+:10AF1000F7CF8091C00085FFFCCF8AE08093C60008
+:10AF2000ECE6F9E08491882341F09091C00095FF10
+:10AF3000FCCF8093C6003196F5CF379903C0EBE084
+:10AF4000F4E009C0E5E1F4E006C09091C00095FF8F
+:10AF5000FCCF8093C60081918111F7CF8091C00012
+:10AF600085FFFCCF8AE08093C6000C94F46080914A
+:10AF7000300A80934D0884E50E944340882319F1EC
+:10AF80000E942F400E9414AF60934D086623D9F0B1
+:10AF9000EFE2FEE08491882341F09091C00095FF9C
+:10AFA000FCCF8093C6003196F5CFE0E4F4E08191C8
+:10AFB000882311F40C94F4609091C00095FFFCCFAD
+:10AFC0008093C600F4CF84E40E944340882311F4A8
+:10AFD0000C94F4600E942F4020E030E0A9010E9410
+:10AFE000A0AE811103C01092540A32C000914D08E6
+:10AFF00010E00E942F40F801EE0FFF1FEE0FFF1F21
+:10B00000ED5AFD4F6083718382839383E0905302F6
+:10B01000F0905402009155021091560220E030E069
+:10B02000A901B701C8010E94A0AE811104C0E12CA2
+:10B03000F12C00E410E4C701D801809353029093EF
+:10B040005402A0935502B093560281E08093540AB3
+:10B050000E94A74A0C94F46007EC14E041E9E42E46
+:10B0600043E1F42EF80181918F010E94434088232F
+:10B0700049F00E942F400E9414AFF7016083718352
+:10B0800082839383F4E0EF0EF11C24E00B3C120763
+:10B0900049F70E9410A50C94F46007EC14E031EB22
+:10B0A000E32E33E1F32EF80181918F010E9443409A
+:10B0B000882339F00E942F40F701608371838283D7
+:10B0C0009383F4E0EF0EF11C24E00B3C120759F7D8
+:10B0D0000C94F46083E50E944340882351F00E9461
+:10B0E0002F406093891370938A1380938B139093EE
+:10B0F0008C1384E50E944340882311F40C94F4607F
+:10B100000E942F406093851370938613809387135A
+:10B11000909388130C94F46083E50E944340882345
+:10B1200051F00E942F4060938D1370938E13809383
+:10B130008F139093901384E50E944340882351F02D
+:10B140000E942F406093751370937613809377134A
+:10B150009093781382E40E944340882361F00E9418
+:10B160002F400E9414AF6093C1137093C213809359
+:10B17000C3139093C41388E50E944340882351F081
+:10B180000E942F40609381137093821380938313E6
+:10B19000909384138AE50E944340882351F00E94D3
+:10B1A0002F4060937D1370937E1380937F13909351
+:10B1B000801385E40E944340882311F40C94F460CA
+:10B1C0000E942F406093791370937A1380937B13BE
+:10B1D00090937C130C94F46007EC14E028E3E22EC7
+:10B1E0002AE0F22EF80181918F010E9443408823CA
+:10B1F00039F00E942F40F70160837183828393832B
+:10B20000F4E0EF0EF11C24E00A3C120709F4ECC74D
+:10B21000E9CF83E50E944340882351F00E942F40EC
+:10B220006093330270933402809335029093360218
+:10B2300086E40E944340882381F00E942F4020E052
+:10B2400030E040E752E40E94A7AE60932B02709377
+:10B250002C0280932D0290932E028AE50E94434097
+:10B26000882309F4C1C70E942F406093280A709375
+:10B27000290A80932A0A90932B0AB6C783E50E9475
+:10B280004340882351F00E942F406093240A70931A
+:10B29000250A8093260A9093270A86E40E94434059
+:10B2A000882309F4A1C70E942F4020E030E040E746
+:10B2B00052E40E94A7AE6093270270932802809305
+:10B2C000290290932A0290C783E50E944340882375
+:10B2D00009F48AC70E942F400E940FAF61157105C3
+:10B2E00049F06130710559F481E080932D0A109284
+:10B2F0002C0A7AC710922D0A10922C0A75C7EFE219
+:10B30000FEE08491882341F09091C00095FFFCCF2E
+:10B310008093C6003196F5CFE9E5F9E08491882362
+:10B3200041F09091C00095FFFCCF8093C60031960C
+:10B33000F5CF809168089091690820E6289FF00178
+:10B34000299FF00D1124E259F74F8191882339F09C
+:10B350009091C00095FFFCCF8093C600F6CFE7E543
+:10B36000F9E08491882341F09091C00095FFFCCFD3
+:10B370008093C6003196F5CF8091C00085FFFCCF49
+:10B380008AE08093C60030C783E50E94434088234B
+:10B3900009F42AC70E942F400E940FAF70935E02EB
+:10B3A00060935D0221C783E50E944340882309F42E
+:10B3B0001BC70E942F400E940FAF6B017C0184E5E8
+:10B3C0000E944340882381F08DED90E00E94EC497B
+:10B3D00081110AC7E0914D08F0E0EE0FFF1FE75A18
+:10B3E000FD4FD182C08200C7D0925C02C0925B0246
+:10B3F000FBC680E50E944340882309F4F5C60E94FD
+:10B400002F400E940FAFD62E062F172F83E50E94E4
+:10B410004340882331F00E942F400E940FAF7B01F0
+:10B4200003C0EE24EA94FE2CC7010196039708F0AE
+:10B43000DBC6EFE8F4E0819191918017910709F460
+:10B44000D3C634E0E73CF307B1F717FDCDC60E9441
+:10B450003D93CD2C60E08D2D0E9451A88FEFE81612
+:10B46000F80631F0EA94EF2871F000E010E00DC02A
+:10B470008D2D0E94BFA831E020E0892B09F030E03B
+:10B48000032F122F02C001E010E08C2D0E94BFA8F4
+:10B490008017910709F4A8C60E94721E80E00E94DE
+:10B4A00038490E949C76F1CF83E50E94434088236F
+:10B4B00031F00E942F400E940FAF8B0102C00EE6B8
+:10B4C00010E080E50E944340882331F00E942F4025
+:10B4D0000E940FAFCB0102C088EE93E06C01EE2416
+:10B4E000D7FCE094FE2C101611067CF420E030E02E
+:10B4F000A901B80184E50E94FDA9C701B6010E9417
+:10B5000060A984E50E940EAD6FC6C701B6010E9416
+:10B5100060A96AC680E50E944340882351F00E94DA
+:10B520002F40609318027093190280931A0290932F
+:10B530001B0289E40E944340882361F00E942F404F
+:10B540000E94B7276093140270931502809316022D
+:10B550009093170284E40E944340882361F00E9484
+:10B560002F400E94C32760931002709311028093B2
+:10B5700012029093130283E40E944340882351F007
+:10B580000E942F4060930C0270930D0280930E0274
+:10B5900090930F020E94251EE7E5F4E08191882335
+:10B5A00039F09091C00095FFFCCF8093C600F6CF94
+:10B5B000EAE5F4E08191882339F09091C00095FF8D
+:10B5C000FCCF8093C600F6CF40911802509119022B
+:10B5D00060911A0270911B0222E030E08CE99DE03C
+:10B5E0000E94308BEEE5F4E08191882339F0909150
+:10B5F000C00095FFFCCF8093C600F6CF6091140287
+:10B600007091150280911602909117020E94BD2739
+:10B61000AB01BC0122E030E08CE99DE00E94308B60
+:10B62000E2E6F4E08191882339F09091C00095FF23
+:10B63000FCCF8093C600F6CF60911002709111028A
+:10B6400080911202909113020E94C927AB01BC01A4
+:10B6500022E030E08CE99DE00E94308BE6E6F4E0E9
+:10B660008191882339F09091C00095FFFCCF8093A1
+:10B67000C600F6CF40910C0250910D0260910E026F
+:10B6800070910F0222E030E08CE99DE00E94308B47
+:10B690008091C00085FFFCCF8AE08093C600A4C5DE
+:10B6A00083E50E944340882319F00E942F4003C085
+:10B6B00060E070E0CB010E9407A596C585E40E947A
+:10B6C0004340882341F00E942F400E940FAF8B011E
+:10B6D00077FF03C009C000E010E0C12CD12CB6E117
+:10B6E000EB2EB3E4FB2E06C0C12CD12CACE8EA2E25
+:10B6F000A2E4FA2E83E50E944340882321F00E94B1
+:10B700002F406B017C0183E40E944340882331F089
+:10B710000E942F400E940FAF9B0102C025E030E045
+:10B72000A801C701B6010E9458215EC50E943D9341
+:10B730005BC50E94678758C50E94398355C58AE555
+:10B740000E944340882309F497C00E942F406B0158
+:10B750007C0120E030E040E751EC0E94A3B087FD7F
+:10B760003FC020E030E040EA50ECC701B6010E9443
+:10B77000A0AE1816ACF1F7FAF094F7F8F094C09276
+:10B78000310AD092320AE092330AF092340AEFE2A0
+:10B79000FEE08491882341F09091C00095FFFCCF9A
+:10B7A0008093C6003196F5CFEBE4F9E084918823CD
+:10B7B00041F09091C00095FFFCCF8093C600319678
+:10B7C000F5CF8091C00085FFFCCF8AE08093C60052
+:10B7D0008091C00085FFFCCF8AE08093C60004C53D
+:10B7E000EFE2FEE08491882341F09091C00095FF44
+:10B7F000FCCF8093C6003196F5CFE2E4F9E0849166
+:10B80000882341F09091C00095FFFCCF8093C60043
+:10B810003196F5CFEAE3F9E08491882341F09091E5
+:10B82000C00095FFFCCF8093C6003196F5CF4AE06B
+:10B8300050E061EF7FEF8CE99DE00E945A8AE2E3DD
+:10B84000F9E08491882341F09091C00095FFFCCFEE
+:10B850008093C6003196F5CF4AE050E06BEF7FEF62
+:10B860008CE99DE00E945A8A8091C00085FFFCCF40
+:10B870008AE08093C600B8C4EFE2FEE0849188239A
+:10B8800041F09091C00095FFFCCF8093C6003196A7
+:10B89000F5CFE6E2F9E08491882341F09091C00071
+:10B8A00095FFFCCF8093C6003196F5CF8091C00004
+:10B8B00085FFFCCF8AE08093C6004091310A509109
+:10B8C000320A6091330A7091340A705822E030E0F5
+:10B8D0008CE99DE00E94308B8091C00085FFFCCFF9
+:10B8E0008AE08093C60080C480915D0290915E02E0
+:10B8F0009093580280935702C090440AD090450A12
+:10B90000E090460AF090470ACF8ED8A2E9A2FAA2A8
+:10B910000091480A1091490A20914A0A30914B0A35
+:10B920000BA31CA32DA33EA340914C0A50914D0A9A
+:10B9300060914E0A70914F0A4FA358A769A77AA742
+:10B940008091500A9091510AA091520AB091530AE5
+:10B950008BA79CA7ADA7BEA7C982DA82EB82FC8227
+:10B960000D831E832F83388749875A876B877C878F
+:10B970008D879E87AF87B88B85E40E9443408823DC
+:10B9800059F00E942F409B01AC016BA57CA58DA5B1
+:10B990009EA50E94C7AD0AC020E030E040E050E420
+:10B9A0006BA57CA58DA59EA50E94C6AD6BA77CA7A7
+:10B9B0008DA79EA7E0E3CE2EEAE0DE2EE12CF12C4F
+:10B9C00008EC13E49E01255D3F4FAE01495D5F4FDA
+:10B9D000BE016D5D7F4FCE014F960E94779A8AE53A
+:10B9E0000E944340882349F00E942F409B01AC01F4
+:10B9F0006FA178A589A59AA51EC020E030E040E09F
+:10BA000050E46FA178A589A59AA50E94C7AD6B01E6
+:10BA10007C016FA378A789A79AA720E030E040E2D5
+:10BA200051E40E94A0AE87FF0CC020E030E040E26D
+:10BA300051E4C701B6010E94C7AD6FA378A789A7DB
+:10BA40009AA760E3C62E6AE0D62EE12CF12C06E917
+:10BA500013E49E01255D3F4FAE01495D5F4FBE017E
+:10BA60006D5D7F4FCE014F960E94779A88E50E94C8
+:10BA70004340882379F00E942F409B01AC016F8DD9
+:10BA800078A189A19AA10E94C7AD6F8F78A389A3DD
+:10BA90009AA308C080E090E0A3E5B3E48F8F98A359
+:10BAA000A9A3BAA389E50E944340882339F00E94E4
+:10BAB0002F406BA37CA38DA39EA304C01BA21CA23A
+:10BAC0001DA21EA240E3C42E4AE0D42EE12CF12C8C
+:10BAD0000CE812E49E01255D3F4FAE01495D5F4FCA
+:10BAE000BE016D5D7F4FCE014F960E94779A8CE428
+:10BAF0000E944340882359F00E942F409B01AC01D3
+:10BB00006BA57CA58DA59EA50E94C7AD0AC020E0AF
+:10BB100030E040EA52E46BA57CA58DA59EA50E946D
+:10BB2000C6AD6BA77CA78DA79EA720E3C22E2AE0F7
+:10BB3000D22EE12CF12C00EA11E49E01255D3F4F4D
+:10BB4000AE01495D5F4FBE016D5D7F4FCE014F96E7
+:10BB50000E94779A0E943D93149A64E670E080E018
+:10BB600090E00E9460A90E94827100E010E0F12C38
+:10BB70000E94627781112AC0F3940E94721E81E0B4
+:10BB80000E943849F110F4CF043FE1E01E0711F4A0
+:10BB900000E010E0809101018460809301010115B3
+:10BBA000110531F49FB7F89480910201846008C0B8
+:10BBB0000431110541F49FB7F894809102018B7F05
+:10BBC000809302019FBF0F5F1F4FD2CF9FB7F894A2
+:10BBD000809102018B7F809302019FBF20E030E0C3
+:10BBE0004CE852E46BA57CA58DA59EA50E94C7AD2F
+:10BBF0006BA77CA78DA79EA710E3C12E1AE0D12EBC
+:10BC0000E12CF12C00EA11E49E01255D3F4FAE01CD
+:10BC1000495D5F4FBE016D5D7F4FCE014F960E9423
+:10BC2000779A20E030E048E452E46BA57CA58DA52E
+:10BC30009EA50E94C7AD6BA77CA78DA79EA7E12CF0
+:10BC4000F12C00E010E49E01255D3F4FAE01495DFF
+:10BC50005F4FBE016D5D7F4FCE014F960E94779A78
+:10BC60001092560A1092550A0E94E8718091550A66
+:10BC70009091560A019709F47CC01092560A1092CE
+:10BC8000550A0E9468778091550A9091560A823031
+:10BC9000910549F1039709F069C020E030E048E4DC
+:10BCA00052E46BA57CA58DA59EA50E94C7AD6BA790
+:10BCB0007CA78DA79EA770E3C72E7AE0D72EE12C34
+:10BCC000F12C00E010E49E01255D3F4FAE01495D7F
+:10BCD0005F4FBE016D5D7F4FCE014F960E94779AF8
+:10BCE0000E94A871C3CF20E030E04CE852E46BA57D
+:10BCF0007CA58DA59EA50E94C7AD6BA77CA78DA72F
+:10BD00009EA7F0E3CF2EFAE0DF2EE12CF12C00EA23
+:10BD100011E49E01255D3F4FAE01495D5F4FBE01BD
+:10BD20006D5D7F4FCE014F960E94779A20E030E004
+:10BD300048E452E46BA57CA58DA59EA50E94C7ADE5
+:10BD40006BA77CA78DA79EA7E12CF12C00E010E447
+:10BD50009E01255D3F4FAE01495D5F4FBE016D5DA8
+:10BD60007F4FCE014F960E94779A7ECF0E949B71A3
+:10BD70007DCF20E030E040EA50E46BA57CA58DA5A6
+:10BD80009EA50E94C7AD6BA77CA78DA79EA790E339
+:10BD9000C92E9AE0D92EE12CF12C00E010E49E018E
+:10BDA000255D3F4FAE01495D5F4FBE016D5D7F4F29
+:10BDB000CE014F960E94779AA80197016BA57CA5AA
+:10BDC0008DA59EA50E94C6AD6BA77CA78DA79EA73B
+:10BDD000E12CF12C08EC13E49E01255D3F4FAE01F0
+:10BDE000495D5F4FBE016D5D7F4FCE014F960E9452
+:10BDF000779AE12CF12C0CE812E49E01255D3F4F6F
+:10BE0000AE01495D5F4FBE016D5D7F4FCE014F9624
+:10BE10000E94779A9E01255D3F4FAE01495D5F4FBD
+:10BE2000BE016B5F7F4FCE0101960E94779AE12C95
+:10BE3000F12C08E413E49E01255D3F4FAE01475FFE
+:10BE40005F4FBE016B5F7F4FCE0101960E94779AD4
+:10BE500020E030E040E050E46BA57CA58DA59EA5D8
+:10BE60000E94C7AD6BA77CA78DA79EA7E12CF12CE4
+:10BE700000EA10E49E01255D3F4FAE01475F5F4F32
+:10BE8000BE016B5F7F4FCE0101960E94779ACE0173
+:10BE90000D960E94E3A480915702909158028093DE
+:10BEA0005D0290935E029F938F938DE199E09F9343
+:10BEB0008F938E01015D1F4F1F930F930E945BB6FE
+:10BEC000C8010E94C03D0F900F900F900F900F90EF
+:10BED0000F908AC188E50E944340882339F00E9470
+:10BEE0002F400E940FAF80E00E9445948AE50E9497
+:10BEF0004340882339F00E942F400E940FAF81E019
+:10BF00000E94459485E40E944340882309F46CC153
+:10BF10000E942F400E940FAF82E00E94459464C1AE
+:10BF200083E50E944340811104C007EC14E0F12C2A
+:10BF300010C010E00E942F400E9414AF812F0E9479
+:10BF4000E4941F5F1530B1F7F0CFF394F4E0FF16DF
+:10BF500079F0F80181918F010E9443408823A9F371
+:10BF60000E942F400E9414AF8F2D0E94E494EDCFC9
+:10BF700082E40E944340882339F00E942F400E94AF
+:10BF800014AF84E00E94E4940E94AA952DC183E539
+:10BF90000E944340882309F453C00E942F400E940E
+:10BFA0000FAF6130710541F06230710509F048C092
+:10BFB00007EC14E0F12C25C007EC14E0F12CF8019B
+:10BFC00081918F010E944340882341F00E942F40BD
+:10BFD0000E940FAF4FEF8F2D0E94A694F394F4E0D0
+:10BFE000FF12EDCF82E40E944340882349F10E9472
+:10BFF0002F400E940FAF4FEF20C0F394F4E0FF16E4
+:10C0000089F0F80181918F010E9443408823A9F3B0
+:10C010000E942F400E940FAF462F6FEF8F2D0E947E
+:10C02000A694EBCF82E40E944340882349F00E940B
+:10C030002F400E940FAF462F6FEF84E00E94A6941E
+:10C040000E94AA95D1C084E50E944340882309F448
+:10C0500087C00E942F400E9414AF60934D08662352
+:10C06000A9F1EFE2FEE08491882341F09091C000B5
+:10C0700095FFFCCF8093C6003196F5CFEAE6F4E059
+:10C080008191882339F09091C00095FFFCCF809377
+:10C09000C600F6CF40E050E060914D088CE99DE08D
+:10C0A0000E94918AECE6F4E08191882339F0909126
+:10C0B000C00095FFFCCF8093C600F6CF8091C000F2
+:10C0C00085FFFCCF8AE08093C6008EC086E40E9484
+:10C0D00043408823D9F00E942F406B017C0160937C
+:10C0E000FF097093000A8093010A9093020A20E0EE
+:10C0F00030E0A9010E94A3B0181644F4C0922102B6
+:10C10000D0922202E0922302F0922402EFE2FEE0BB
+:10C110008491882341F09091C00095FFFCCF8093DB
+:10C12000C6003196F5CFEDE7F4E08191882339F030
+:10C130009091C00095FFFCCF8093C600F6CF609130
+:10C14000300A70E04AE050E08CE99DE00E945A8A93
+:10C150008091C00085FFFCCF8AE08093C60044C078
+:10C16000EFE2FEE08491882341F09091C00095FFBA
+:10C17000FCCF8093C6003196F5CFEAE0F9E08491D8
+:10C18000882341F09091C00095FFFCCF8093C600BA
+:10C190003196F5CF809168089091690820E6289F34
+:10C1A000F001299FF00D1124E259F74F8191882366
+:10C1B00039F09091C00095FFFCCF8093C600F6CF78
+:10C1C000E8E0F9E08491882341F09091C00095FF68
+:10C1D000FCCF8093C6003196F5CF8091C00085FFDB
+:10C1E000FCCF8AE08093C6000E946A40B9C1C0902B
+:10C1F0001B0AD0901C0AE0901D0AF0901E0A2091A4
+:10C20000500A3091510A4091520A5091530AC70185
+:10C21000B6010E94C6AD2DEC3CEC4CEC5DE30E94F7
+:10C22000A3B0181614F00C94684BC092500AD09228
+:10C23000510AE092520AF092530A80E59AE00E9475
+:10C24000E3A460E080E00E94C2428AC180E090E006
+:10C250000E942E3C0C94654C81E090E00E942E3CA4
+:10C260000C94704C82E090E00E942E3C0C94B94CEF
+:10C270000E94721E80E00E9438490E949C760C94B5
+:10C28000584F0E943840AB01BC014093FA0C5093C8
+:10C29000FB0C6093FC0C7093FD0C85E49CE00E9409
+:10C2A000A912A2CF0E942F400E940FAF8B010C94C5
+:10C2B0007C510E9431A9681979098A099B09693E54
+:10C2C00073408105910508F479C0ECEEFAE08491A1
+:10C2D000882341F09091C00095FFFCCF8093C60069
+:10C2E0003196F5CFE0914D0824E0E29FF001112452
+:10C2F000E05CF74F408151816281738121E030E041
+:10C300008CE99DE00E94308BE8EEFAE0849188236E
+:10C3100041F09091C00095FFFCCF8093C60031960C
+:10C32000F5CF60914D0870E04AE050E08CE99DE067
+:10C330000E945A8AE4EEFAE08491882341F09091B9
+:10C34000C00095FFFCCF8093C6003196F5CFF7FE75
+:10C3500003C0E6E7F5E025C00E9431A98B019C01EE
+:10C36000C701B6016854744F8F4F9F4F601B710B0C
+:10C37000820B930BA30192010E947EB2BA01A90124
+:10C380002AE030E08CE99DE00E94868A8091C0001E
+:10C3900085FFFCCF0DC09091C00095FFFCCF80932E
+:10C3A000C60081918111F7CF8091C00085FFFCCF3D
+:10C3B0003092C6000E9431A94B015C010E94721E9E
+:10C3C00080E00E9438490E949C76FFEFCF16DF067E
+:10C3D000EF06FF0609F046C080914B08E0914D083A
+:10C3E000F0E08F01000F111F000F111F005C174FAD
+:10C3F000EE0FFF1FE85BF74F608171818823C9F062
+:10C40000882777FD8095982F0E9442AF20E030E08A
+:10C4100040E85FE30E94C6AD9B01AC01F80160817A
+:10C420007181828193810E94A3B087FF50C00C94D8
+:10C430005053882777FD8095982F0E9442AF20E0C7
+:10C4400030E040E85FE30E94C7AD9B01AC01F8011A
+:10C4500060817181828193810E94A0AE1816BCF523
+:10C460000C945053F7FE02C00C945053E0914D08C9
+:10C47000F0E08F01000F111F000F111F005C174F1C
+:10C48000EE0FFF1FE85BF74F60817181882777FD12
+:10C490008095982F0E9442AF9B01AC01F80160810A
+:10C4A0007181828193810E94C6AD0E940FAF97FF78
+:10C4B00007C090958095709561957F4F8F4F9F4FE6
+:10C4C000663071058105910514F40C9450530E9457
+:10C4D00031A96B017C010C94505386ED9AE00E94C7
+:10C4E000007680915F0A882321F08EE793E00E9416
+:10C4F00048720E9431A96093520870935308809348
+:10C500005408909355080E9431A960935A0870937B
+:10C510005B0880935C0890935D0866CE0E943D9313
+:10C5200088E50E944340882319F0179A1092350A33
+:10C5300089E50E944340882319F0169A1092360A22
+:10C540008AE50E944340882319F0159A1092370A11
+:10C5500085E40E944340882309F446CE149A44CED1
+:10C56000E9960FB6F894DEBF0FBECDBFDF91CF9135
+:10C570001F910F91FF90EF90DF90CF90BF90AF9001
+:10C580009F908F907F906F905F904F903F90089515
+:10C59000CF93DF938091640890916508039714F41A
+:10C5A0000E94694560E08DE59AE00E9487338091A2
+:10C5B000640890916508892B09F464C080915D0A34
+:10C5C0008823E1F0809168089091690820E6289F0F
+:10C5D000E001299FD00D1124C259D74F61EF7CE0B3
+:10C5E000CE010E94CEB5892BF1F4BE018DE59AE013
+:10C5F0000E94163380915E0A882319F00E94B94A7E
+:10C600002BC0EEEEFCE08491882341F09091C000B5
+:10C6100095FFFCCF8093C6003196F5CF8091C00086
+:10C6200085FFFCCF16C060E08DE59AE00E947D3466
+:10C63000ECEDFCE08491882341F09091C00095FFDF
+:10C64000FCCF8093C6003196F5CF8091C00085FF66
+:10C65000FCCF8AE08093C6008091640890916508C1
+:10C660000197909365088093640880916808909181
+:10C670006908019664E070E00E946BB290936908CB
+:10C68000809368080E94721E80E00E9438490E94D0
+:10C690004F8BDF91CF910C949C768F929F92AF92AB
+:10C6A000BF92CF92DF92EF92FF920F931F93CF939F
+:10C6B000DF938C018C519E4F0E94B72D680189E851
+:10C6C000C80ED11C21F1780181E4E81A8EEFF80A36
+:10C6D000E70157018FE1A81AB1087AEB872E75E0C0
+:10C6E000972ECC15DD0599F0FE01EE19FF09EA0D34
+:10C6F000FB1D91828082FE0178978081811102C0AA
+:10C700006F97EFCFCE014B970E948C13F9CFC801E2
+:10C7100086599F4F0E94B72DC801875B9F4FDF91BD
+:10C72000CF911F910F91FF90EF90DF90CF90BF902E
+:10C73000AF909F908F900C94B72D8DE59AE00C945C
+:10C74000C32D8DE59AE0A9CFFB0160917002709135
+:10C75000710270932C0D60932B0D6091350D7091CB
+:10C76000360D70932A0D6093290D62E060936F027D
+:10C7700064EC7EE770937102609370029093280DD1
+:10C780008093270DF093260DE093250D662757FD26
+:10C790006095762F4093210D5093220D6093230DC9
+:10C7A0007093240DC901AA2797FDA095BA2F841B69
+:10C7B000950BA60BB70B80931D0D90931E0DA093A8
+:10C7C0001F0DB093200D80819181AA2797FDA09520
+:10C7D000BA2F841B950BA60BB70B8093350D909346
+:10C7E000360DA093370DB093380D08950F931F9316
+:10C7F000CF93DF93EB01142F022F482F60E080E4EA
+:10C800009DE00E947E28612F80E49DE00E94BFADE4
+:10C8100011E1FE016491662311F0111117C011237B
+:10C8200039F060E280E49DE00E94BFAD1150F7CF87
+:10C83000602F80E49DE00E94BFAD60E280E49DE057
+:10C84000DF91CF911F910F910C94BFAD80E49DE0DB
+:10C850000E94BFAD21961150DCCFEF92FF920F9353
+:10C860001F93CF93DF93EB01E42E8901F90101902F
+:10C870000020E9F7F22EFE1A92E1F90E482F60E04F
+:10C8800080E49DE00E947E286E2D80E49DE00E9461
+:10C89000BFADFE016491662311F0F11019C06AE387
+:10C8A00080E49DE00E94BFADFF2039F060E280E4AB
+:10C8B0009DE00E94BFADFA94F7CFB80180E49DE0FF
+:10C8C000DF91CF911F910F91FF90EF900C94BEAD2F
+:10C8D00080E49DE00E94BFAD2196FA94DACF1092D9
+:10C8E000990D8DE59AE00E94273910923E0D08952A
+:10C8F0008DE59AE00C9416318DE59AE00C941D318B
+:10C90000CF93DF93CDB7DEB7C054D1090FB6F894FB
+:10C91000DEBF0FBECDBF88E0EFEAF2E0DE01D996C0
+:10C9200001900D928A95E1F788E0E7EBF2E0DE01F5
+:10C93000D19601900D928A95E1F788E0EFEBF2E055
+:10C94000DE01999601900D928A95E1F788E0E7EC77
+:10C95000F2E0DE01919601900D928A95E1F788E070
+:10C96000EFECF2E0DE01599601900D928A95E1F725
+:10C9700088E0E7EDF2E0DE01519601900D928A9594
+:10C98000E1F788E0EFEDF2E0DE01199601900D92FB
+:10C990008A95E1F788E0E7EEF2E0DE01119601907A
+:10C9A0000D928A95E1F7AE01475C5F4F60E080E44D
+:10C9B0009DE00E94FC29AE014F5C5F4F61E080E486
+:10C9C0009DE00E94FC29AE01475D5F4F62E080E47C
+:10C9D0009DE00E94FC29AE014F5D5F4F63E080E463
+:10C9E0009DE00E94FC29AE01475E5F4F64E080E459
+:10C9F0009DE00E94FC29AE014F5E5F4F65E080E440
+:10CA00009DE00E94FC29AE01475F5F4F66E080E435
+:10CA10009DE00E94FC29AE014F5F5F4F67E080E41C
+:10CA20009DE00E94FC29C05CDF4F0FB6F894DEBF8A
+:10CA30000FBECDBFDF91CF910895CF9382E0809359
+:10CA40006F020E9431A96C507E4F8F4F9F4F6093B1
+:10CA50003A0D70933B0D80933C0D90933D0D80916A
+:10CA60000101846080930101CAE09FB7F89480912E
+:10CA700002018460809302019FBF84E690E00E94DF
+:10CA800084A99FB7F894809102018B7F8093020163
+:10CA90009FBF84E690E00E9484A9C15031F7CF91F6
+:10CAA0000895E0917002F0917102E817F90771F0B2
+:10CAB00090937102809370024093350D5093360D20
+:10CAC0006093370D7093380D2111B7CF089521E091
+:10CAD00040E050E0BA01E5CF21E040E050E0BA018B
+:10CAE000E0CF8F929F92AF92BF92CF92DF92EF9260
+:10CAF000FF920F931F93CF93DF938091350D909109
+:10CB0000360DA091370DB091380D81309048A105B8
+:10CB1000B10540F01092350D1092360D1092370D80
+:10CB20001092380D6091350D7091360D8091370D52
+:10CB30009091380D25E030E040E050E00E947EB258
+:10CB400080913E0D90E0A0E0B0E0281739074A0739
+:10CB50005B0710F420933E0DD0913E0D10913F0DD8
+:10CB600012FB112710F9C0E085E0C82ED12CE12C72
+:10CB7000F12C9DE1892E912CA12CB12C01E060912A
+:10CB8000350D7091360D8091370D9091380DD11182
+:10CB900031C020916F02222369F023E065307105D6
+:10CBA0008105910510F443E001C040E266E870E1C0
+:10CBB0008C2F1CDE112309F400C18091350D90915A
+:10CBC000360DA091370DB091380D0597A105B1052F
+:10CBD00008F0F3C032DF8CE692E7DF91CF911F912E
+:10CBE0000F91FF90EF90DF90CF90BF90AF909F900C
+:10CBF0008F906DCFD13061F520916F02222391F09B
+:10CC0000A70196010E947EB22130310541055105F0
+:10CC100019F423E043E002C023E040E265E770E15D
+:10CC20008C2FE4DD112309F4C8C06091350D70919B
+:10CC3000360D8091370D9091380DA70196010E9415
+:10CC40007EB2213031054105510509F0B6C0C2CF91
+:10CC5000D23061F520916F02222391F0A701960155
+:10CC60000E947EB2223031054105510519F423E0BE
+:10CC700043E002C023E040E269E670E18C2FB6DDBC
+:10CC8000112309F49AC06091350D7091360D809191
+:10CC9000370D9091380DA70196010E947EB2223087
+:10CCA00031054105510509F088C094CFD33061F5B5
+:10CCB00020916F02222391F0A70196010E947EB27B
+:10CCC000233031054105510519F423E043E002C04A
+:10CCD00023E040E267E570E18C2F88DD112309F441
+:10CCE0006CC06091350D7091360D8091370D90912B
+:10CCF000380DA70196010E947EB22330310541050F
+:10CD0000510509F05AC066CFD43059F520916F0211
+:10CD1000222391F0A70196010E947EB224303105B2
+:10CD20004105510519F423E043E002C023E040E24D
+:10CD300065E470E18C2F5ADD112309F43EC0609147
+:10CD4000350D7091360D8091370D9091380DA701FA
+:10CD500096010E947EB2243031054105510569F5E6
+:10CD600039CFD53051F520916F02222391F0A701E0
+:10CD700096010E947EB2253031054105510519F416
+:10CD800023E043E002C023E040E269E370E18C2F3E
+:10CD90002DDD112391F06091350D7091360D80914C
+:10CDA000370D9091380DA70196010E947EB2253073
+:10CDB00031054105510509F40DCF8091350D909154
+:10CDC000360DA091370DB091380D4E97A105B105E4
+:10CDD00040F08092350D9092360DA092370DB092B2
+:10CDE000380D6091350D7091360D8091370D909111
+:10CDF000380DA70196010E947EB280913E0D90E011
+:10CE00000396422F50E0841795074CF48DEF820F64
+:10CE100080933E0D00936F02DCEFD20FCFEFCF5F18
+:10CE2000DF5FC43008F4ABCEDF91CF911F910F913B
+:10CE3000FF90EF90DF90CF90BF90AF909F908F903A
+:10CE400008958F929F92AF92BF92CF92DF92EF920E
+:10CE5000FF920F931F93CF93DF938091350D9091A5
+:10CE6000360DA091370DB091380D81309048A10555
+:10CE7000B10540F01092350D1092360D1092370D1D
+:10CE80001092380D6091350D7091360D8091370DEF
+:10CE90009091380D25E030E040E050E00E947EB2F5
+:10CEA00080913E0D90E0A0E0B0E0281739074A07D6
+:10CEB0005B0710F420933E0DD0913E0D10913F0D75
+:10CEC00012FB112710F9C0E025E0C22ED12CE12C75
+:10CED000F12C3DE1832E912CA12CB12C01E060912D
+:10CEE000350D7091360D8091370D9091380DD1111F
+:10CEF00031C020916F02222369F023E06530710573
+:10CF00008105910510F443E001C040E264E370E163
+:10CF10008C2F6CDC112309F429C18091350D90917F
+:10CF2000360DA091370DB091380D0597A105B105CB
+:10CF300008F01CC182DD8CE692E7DF91CF911F9152
+:10CF40000F91FF90EF90DF90CF90BF90AF909F90A8
+:10CF50008F90BDCDD13079F520916F02222391F0D1
+:10CF6000A70196010E947EB221303105410551058D
+:10CF700019F42EE74EE302C02EE740E268E270E1CA
+:10CF80008C2F34DC112309F4F1C06091350D7091C0
+:10CF9000360D8091370D9091380DA70196010E94B2
+:10CFA0007EB2213031054105510509F0DFC045DD74
+:10CFB0008BEA99E730C0D230D9F520916F02222355
+:10CFC00091F0A70196010E947EB222303105410501
+:10CFD000510519F42EE74EE302C02EE740E26EE160
+:10CFE00070E18C2F03DC112309F4C0C06091350D72
+:10CFF0007091360D8091370D9091380DA7019601F3
+:10D000000E947EB2223031054105510509F0AEC0C3
+:10D0100014DD8FEA9AE6DF91CF911F910F91FF9077
+:10D02000EF90DF90CF90BF90AF909F908F9054CDB6
+:10D03000D33079F520916F02222391F0A701960158
+:10D040000E947EB2233031054105510519F420E2DA
+:10D050004EE302C020E240E262E170E18C2FC6DBC9
+:10D06000112309F483C06091350D7091360D8091C4
+:10D07000370D9091380DA70196010E947EB22330A2
+:10D0800031054105510509F071C0D7DC8CE090E114
+:10D090005FC0D43079F520916F02222391F0A7016F
+:10D0A00096010E947EB2243031054105510519F4E4
+:10D0B00020E24EE302C020E240E26BEF7FE08C2FE3
+:10D0C00095DB112309F452C06091350D7091360D36
+:10D0D0008091370D9091380DA70196010E947EB284
+:10D0E000243031054105510509F040C0A6DC87EF29
+:10D0F0009FE02EC0D530D1F520916F02222391F010
+:10D10000A70196010E947EB22530310541055105E7
+:10D1100019F420E24EE302C020E240E26DEE7FE02F
+:10D120008C2F64DB112311F16091350D7091360D58
+:10D130008091370D9091380DA70196010E947EB223
+:10D14000253031054105510589F477DC89EE9FE0F2
+:10D15000DF91CF911F910F91FF90EF90DF90CF90D3
+:10D16000BF90AF909F908F900C94333E8091350D7F
+:10D170009091360DA091370DB091380D4E97A105C5
+:10D18000B10540F08092350D9092360DA092370D8A
+:10D19000B092380D6091350D7091360D8091370D3C
+:10D1A0009091380DA70196010E947EB280913E0DAC
+:10D1B00090E00396422F50E0841795074CF48DEFD2
+:10D1C000820F80933E0D00936F02DCEFD20FCFEF02
+:10D1D000CF5FDF5FC43008F482CEDF91CF911F9123
+:10D1E0000F91FF90EF90DF90CF90BF90AF909F9006
+:10D1F0008F900895BF92CF92DF92EF92FF920F939C
+:10D200001F93CF93DF938091350D9091360DA091B0
+:10D21000370DB091380D81309048A105B10540F02F
+:10D220001092350D1092360D1092370D1092380D68
+:10D230006091350D7091360D8091370D9091380DBC
+:10D2400025E030E040E050E00E947EB280913E0D4B
+:10D2500090E0A0E0B0E0281739074A075B0710F418
+:10D2600020933E0DD0913E0D10913F0D12FB1127E2
+:10D2700010F9C0E065E0C62ED12CE12CF12C01E0C4
+:10D280006091350D7091360D8091370D9091380D6C
+:10D29000D1112EC020916F02222369F023E0653066
+:10D2A00071058105910510F443E001C040E260EE94
+:10D2B0007FE08C2F9BDA112309F479C08091350D22
+:10D2C0009091360DA091370DB091380D0597A105BD
+:10D2D000B10508F06CC0B1DB81E297E6DF91CF9138
+:10D2E0001F910F91FF90EF90DF90CF90BF90EFCB09
+:10D2F000D13071F520916F02222391F0A7019601A0
+:10D300000E947EB2213031054105510519F42EE706
+:10D310004EE302C02EE740E269ED7FE08C2F66DA33
+:10D32000112309F444C06091350D7091360D809140
+:10D33000370D9091380DA70196010E947EB22130E1
+:10D3400031054105510599F578DB8FE090E8A8C0DB
+:10D35000D23069F520916F02222391F0A701960146
+:10D360000E947EB2223031054105510519F42EE7A5
+:10D370004EE302C02EE740E262ED7FE08C2F36DA0A
+:10D380001123A9F06091350D7091360D8091370D04
+:10D390009091380DA70196010E947EB2223031058E
+:10D3A0004105510521F449DB86E190E879C020E090
+:10D3B00030E040E251E46091110D7091120D8091C6
+:10D3C000130D9091140D0E94A0AE87FF73C0609161
+:10D3D000350D7091360D8091370D9091380DD33009
+:10D3E00081F520916F02222391F0A70196010E94FE
+:10D3F0007EB2233031054105510519F42EE74EE385
+:10D4000002C02EE740E26BEC7FE08C2FEFD91111C8
+:10D4100003C055E0B52E50C06091350D7091360DAA
+:10D420008091370D9091380DA70196010E947EB230
+:10D43000233031054105510561F7FFDA8DE190E8B0
+:10D440002FC0D43031F720916F02222391F0A70131
+:10D4500096010E947EB2243031054105510519F430
+:10D460002EE74EE302C02EE740E262EC7FE08C2F15
+:10D47000BDD9112371F26091350D7091360D8091F7
+:10D48000370D9091380DA70196010E947EB224308D
+:10D4900031054105510509F0BCCFCFDA8BE49EE799
+:10D4A000DF91CF911F910F91FF90EF90DF90CF9080
+:10D4B000BF9012CB43E0B42E6091350D7091360DC4
+:10D4C0008091370D9091380DA70196010E947EB290
+:10D4D0008B2D90E0A0E0B0E0281739074A075B07E2
+:10D4E00088F025E0B29EC00111240197AA2797FD7C
+:10D4F000A095BA2F8093350D9093360DA093370DDC
+:10D50000B093380D6091350D7091360D8091370DC7
+:10D510009091380DA70196010E947EB280913E0D38
+:10D5200090E00396422F50E0841795074CF48DEF5E
+:10D53000820F80933E0D00936F02DCEFD20FCFEF8E
+:10D54000CF5FDF5FC43008F49BCEDF91CF911F9196
+:10D550000F91FF90EF90DF90CF90BF90089580E003
+:10D5600090E0A0E8BFE38093110D9093120DA0937B
+:10D57000130DB093140D3ECE20E044E064E180E44E
+:10D580009DE00E94B128BCD980E49DE00C947228F3
+:10D59000F3DF20E040E050E0BA0184E290E881CA85
+:10D5A00010924908109248081092470810924608B5
+:10D5B00010922F0A10922E0AEBCF80E49DE00C947B
+:10D5C000722820E030E04EE353E46091400870910F
+:10D5D000410880914208909143080E94A3B0181618
+:10D5E0004CF480E89EE00E94333E83E79EE00E9478
+:10D5F000333E20C0E2DF40E060E080E49DE00E9436
+:10D600007E286BEC74E080E49DE00E94BEAD42E0B9
+:10D6100060E080E49DE00E947E2862ED74E080E49A
+:10D620009DE00E94BEAD60ED77E080E090E00E945A
+:10D6300060A9C3DFADCF20E030E04EE353E460915A
+:10D6400040087091410880914208909143080E94DF
+:10D65000A3B018166CF48FE69EE00E94333E83E67A
+:10D660009EE00E94333E87E59EE00E94333E20C04C
+:10D67000A4DF40E060E080E49DE00E947E286BEC47
+:10D6800074E080E49DE00E94BEAD42E060E080E492
+:10D690009DE00E947E2862ED74E080E49DE00E949F
+:10D6A000BEAD60ED77E080E090E00E9460A985DF8C
+:10D6B0006FCF8091970D9091980D9093490880932A
+:10D6C00048088091950D9091960D9093470880930E
+:10D6D000460810922F0A10922E0A5ADF0C94442109
+:10D6E0008091910D9091920D9093490880934808F4
+:10D6F00080918F0D9091900D9093470880934608EC
+:10D7000010922F0A10922E0A43DF0C94442180912C
+:10D7100095029091960290934908809348088091D1
+:10D720009302909194029093470880934608109238
+:10D730002F0A10922E0A2CDF0C9444218091910222
+:10D7400090919202909349088093480880918F02AB
+:10D7500090919002909347088093460810922F0A68
+:10D7600010922E0A15DF0C94442180918D02909125
+:10D770008E02909349088093480880918B02909183
+:10D780008C02909347088093460810922F0A1092BB
+:10D790002E0AFEDE0C9444218091890290918A0227
+:10D7A000909349088093480880918702909188025D
+:10D7B000909347088093460810922F0A10922E0AE1
+:10D7C000E7DE0C9444212F923F924F925F926F922A
+:10D7D0007F928F929F92AF92BF92CF92DF92EF9201
+:10D7E000FF920F931F93CF93DF93CDB7DEB7A89728
+:10D7F0000FB6F894DEBF0FBECDBF80916F028111CE
+:10D8000004C080913F0D82FFEBC28DE59AE00E943B
+:10D810001B389DA38CA38091350D9091360DA0915E
+:10D82000370DB091380D81309048A105B10540F019
+:10D830001092350D1092360D1092370D1092380D52
+:10D840006091350D7091360D8091370D9091380DA6
+:10D8500025E030E040E050E00E947EB280913E0D35
+:10D8600090E0A0E0B0E0281739074A075B0710F402
+:10D8700020933E0D40903E0D80913F0D82FB882706
+:10D8800080F98F8F512C35E0C32ED12CE12CF12C57
+:10D8900041102DC080916F028823A9F08091350D31
+:10D8A0009091360DA091370DB091380D23E005977A
+:10D8B000A105B10510F443E001C040E26BE77FE051
+:10D8C000852D0E94F6632F8D222389F08091350DDE
+:10D8D0009091360DA091370DB091380D0597A105A7
+:10D8E000B10528F4AAD88CE692E7F1D879C261E6AE
+:10D8F0007AE08BEC9AE00E9440108091610A8F32AE
+:10D9000031F041E0441671F022E0722E02C077241B
+:10D9100073940CA11DA101501109842C912CA12CF0
+:10D92000B12C52C080916F028823D9F06091350DDF
+:10D930007091360D8091370D9091380DA7019601A9
+:10D940000E947EB2213031054105510519F420E2D3
+:10D950004EE302C020E240E267E77FE0852D0E94AF
+:10D96000F6638F8D882381F26091350D7091360DAD
+:10D970008091370D9091380DA70196010E947EB2DB
+:10D98000213031054105510509F0BECF56D80E941E
+:10D990006F6426C2741088C140E050E0B8018DE584
+:10D9A0009AE00E9492349091A30A80916F02992389
+:10D9B00009F4A1C081110DC09F8D911179C0772408
+:10D9C0007394740C015011090F3FFFEF1F0711F7FB
+:10D9D0006DC16091350D7091360D8091370D90912C
+:10D9E000380DA70196010E947EB2281539054A0517
+:10D9F0005B0579F5452D60E080E49DE00E947E287E
+:10DA00006EE380E49DE00E94BFAD65E080E49DE0B0
+:10DA10000E94BFAD80916E0A882329F01092800A7F
+:10DA20008EE69AE002C081E69AE03C0192E1392E4E
+:10DA3000F30161913F01662311F0311085C133205C
+:10DA400009F4BACF60E280E49DE00E94BFAD3A9451
+:10DA5000F6CF452D60E080E49DE00E947E2860E2E4
+:10DA600080E49DE00E94BFAD65E080E49DE00E94FF
+:10DA7000BFAD80916E0A882329F01092800A8EE64D
+:10DA80009AE002C081E69AE03C0182E1382EF3017F
+:10DA900061913F01662311F031105CC1332009F41C
+:10DAA0008BCF60E280E49DE00E94BFAD3A94F6CF58
+:10DAB0006091350D7091360D8091370D9091380D34
+:10DAC000A70196010E947EB2281539054A055B051B
+:10DAD00009F075CF0E941D6561E67AE08DE59AE058
+:10DAE0000E947E381092350D1092360D1092370D2F
+:10DAF0001092380D75C1811104C0FF8DF11191C0D4
+:10DB00005ECF6091350D7091360D8091370D9091FB
+:10DB1000380DA70196010E947EB2281539054A05E5
+:10DB20005B0509F054C020919B0D2EA3712C472D4D
+:10DB300060E080E49DE00E947E2860E280E49DE059
+:10DB40000E94BFAD739444E07412F1CF452D60E0A4
+:10DB500080E49DE00E947E286EE380E49DE00E94C8
+:10DB6000BFADBFE62B2EBAE03B2E2EE63AE0612C8D
+:10DB7000712C39A328A361E070E0E8A1F9A12191FB
+:10DB8000F9A3E8A32223B1F0CB0101969BA38AA3BA
+:10DB9000452D80E49DE028A76114710409F4E0C0DC
+:10DBA0000E947E2828A5622F80E49DE00E94BFADE0
+:10DBB0006AA17BA1F4E17F2E761A772009F49DCF2C
+:10DBC00060E280E49DE00E94BFAD7A94F6CF452DDF
+:10DBD00060E080E49DE00E947E2860E280E49DE0B9
+:10DBE0000E94BFAD80916E0A882329F01092810AAD
+:10DBF0008EE69AE002C081E69AE03C01E3E13E2E27
+:10DC0000F30161913F01662311F03110E3C033202D
+:10DC100009F473CF60E280E49DE00E94BFAD3A94C6
+:10DC2000F6CF6091350D7091360D8091370D909142
+:10DC3000380DA70196010E947EB2281539054A05C4
+:10DC40005B0509F0BCCE0E941D6581E69AE09F93BA
+:10DC50008F9380E79FE09F938F938E010F5F1F4FFD
+:10DC60001F930F930E945BB60F900F900F900F9031
+:10DC70000F900F907E01F5E0EF0EF11CF70180810F
+:10DC8000882349F0992787FD90950E9498B5F70160
+:10DC900081937F01F3CFC8010E94C03D8CE69FE0D5
+:10DCA0000E94333E75DC9CC073948CCE6091350D20
+:10DCB0007091360D8091370D9091380DA701960126
+:10DCC0000E947EB2872D90E0A0E0B0E028173907CF
+:10DCD0004A075B0788F025E0729EC0011124019776
+:10DCE000AA2797FDA095BA2F8093350D9093360DF6
+:10DCF000A093370DB093380D6091350D7091360DAE
+:10DD00008091370D9091380DA70196010E947EB247
+:10DD100080913E0D90E00396422F50E084179507C6
+:10DD200064F48DEF820F80933E0D81E080936F024B
+:10DD30007CEF472E420E55245A945394439443E06B
+:10DD4000451508F0A5CD4CC080E49DE00E94BFAD14
+:10DD50003A946ECE80E49DE00E94BFAD3A9497CE97
+:10DD60000E947E2828A5622F80E49DE00E94BFAD1E
+:10DD70006AA17BA16431710509F0FFCE9101ACE28B
+:10DD80006A2E7724739480913F0D82FD05C08091A7
+:10DD90009B0D9EA1981789F081E090E0E1E06E1A5A
+:10DDA00071086114710421F0892B69F381E090E01E
+:10DDB000FFEF2F1A3F0A3C01DCCE61E070E080E00B
+:10DDC00090E028A73FA30E9460A980E090E028A5EA
+:10DDD0003FA1E4CF80E49DE00E94BFAD3A9410CF14
+:10DDE000A8960FB6F894DEBF0FBECDBFDF91CF91DE
+:10DDF0001F910F91FF90EF90DF90CF90BF90AF9069
+:10DE00009F908F907F906F905F904F903F902F905A
+:10DE100008958F929F92AF92BF92CF92DF92EF922E
+:10DE2000FF920F931F93CF93DF938091350D9091C5
+:10DE3000360DA091370DB091380D81309048A10575
+:10DE4000B10540F01092350D1092360D1092370D3D
+:10DE50001092380D6091350D7091360D8091370D0F
+:10DE60009091380D25E030E040E050E00E947EB215
+:10DE700080913E0D90E0A0E0B0E0281739074A07F6
+:10DE80005B0710F420933E0DD0913E0D10913F0D95
+:10DE900012FB112710F9C0E045E0C42ED12CE12C73
+:10DEA000F12C57E2852E912CA12CB12C01E0609130
+:10DEB000350D7091360D8091370D9091380DD1113F
+:10DEC00034C020916F02222371F023E06530710588
+:10DED0008105910510F443E001C040E267E57FE071
+:10DEE0008C2F0E94F663112309F4C8C18091350D6F
+:10DEF0009091360DA091370DB091380D0597A10581
+:10DF0000B10508F0BBC10E941D658CE692E7DF9168
+:10DF1000CF911F910F91FF90EF90DF90CF90BF9026
+:10DF2000AF909F908F900C946765D130D9F5209178
+:10DF30006F02222399F0A70196010E947EB2213040
+:10DF400031054105510519F420E24EE302C020E2FB
+:10DF500040E267E47FE08C2F0E94F663112309F40E
+:10DF60008DC16091350D7091360D8091370D909176
+:10DF7000380DA70196010E947EB22130310541057E
+:10DF8000510509F07BC10E941D65DF91CF911F9162
+:10DF90000F91FF90EF90DF90CF90BF90AF909F9048
+:10DFA0008F909ECBD230D9F520916F02222399F029
+:10DFB000A70196010E947EB222303105410551052C
+:10DFC00019F420E24EE302C020E240E268E37FE081
+:10DFD0008C2F0E94F663112309F450C16091350D16
+:10DFE0007091360D8091370D9091380DA7019601F3
+:10DFF0000E947EB2223031054105510509F03EC133
+:10E000000E941D65DF91CF911F910F91FF90EF90BE
+:10E01000DF90CF90BF90AF909F908F904ACBD3303E
+:10E02000D9F520916F02222399F0A70196010E9451
+:10E030007EB2233031054105510519F420E24EE34B
+:10E0400002C020E240E269E27FE08C2F0E94F6638A
+:10E05000112309F413C16091350D7091360D809133
+:10E06000370D9091380DA70196010E947EB22330A2
+:10E0700031054105510509F001C10E941D65DF917F
+:10E08000CF911F910F91FF90EF90DF90CF90BF90B5
+:10E09000AF909F908F9052CBD430D9F520916F02E2
+:10E0A000222399F0A70196010E947EB22430310507
+:10E0B0004105510519F420E24EE302C020E240E29E
+:10E0C00069E17FE08C2F0E94F663112309F4D6C02A
+:10E0D0006091350D7091360D8091370D9091380D0E
+:10E0E000A70196010E947EB22430310541055105F9
+:10E0F00009F0C4C00E941D65DF91CF911F910F915F
+:10E10000FF90EF90DF90CF90BF90AF909F908F9057
+:10E110002CCBD530D9F520916F02222399F0A7019D
+:10E1200096010E947EB2253031054105510519F452
+:10E1300020E24EE302C020E240E269E07FE08C2F63
+:10E140000E94F663112309F499C06091350D709116
+:10E15000360D8091370D9091380DA70196010E94E0
+:10E160007EB2253031054105510509F087C00E9476
+:10E170001D65DF91CF911F910F91FF90EF90DF9080
+:10E18000CF90BF90AF909F908F90C1CAD630D9F5F5
+:10E1900020916F02222399F0A70196010E947EB27E
+:10E1A000263031054105510519F420E24EE302C045
+:10E1B00020E240E26AEF7EE08C2F0E94F66311239A
+:10E1C00009F45CC06091350D7091360D8091370D6A
+:10E1D0009091380DA70196010E947EB2263031053C
+:10E1E0004105510509F04AC00E941D65DF91CF919C
+:10E1F0001F910F91FF90EF90DF90CF90BF90AF9065
+:10E200009F908F90C9CAD730C9F520916F02222301
+:10E2100099F0A70196010E947EB227303105410591
+:10E22000510519F420E24EE302C020E240E261EF22
+:10E230007EE08C2F0E94F663112301F16091350D71
+:10E240007091360D8091370D9091380DA701960190
+:10E250000E947EB2273031054105510579F40E94B4
+:10E260001D65DF91CF911F910F91FF90EF90DF908F
+:10E27000CF90BF90AF909F908F9092C98091350DB5
+:10E280009091360DA091370DB091380D8897A1056A
+:10E29000B10540F08092350D9092360DA092370D69
+:10E2A000B092380D6091350D7091360D8091370D1B
+:10E2B0009091380DA70196010E947EB280913E0D8B
+:10E2C00090E00396422F50E0841795074CF48DEFB1
+:10E2D000820F80933E0D00936F02DCEFD20FCFEFE1
+:10E2E000CF5FDF5FC43008F4E2CDDF91CF911F91A3
+:10E2F0000F91FF90EF90DF90CF90BF90AF909F90E5
+:10E300008F9008955AD941E060E080E49DE00E943A
+:10E310007E2869EF74E080E49DE00E94BEAD42E09B
+:10E3200060E080E49DE00E947E2869E075E080E482
+:10E330009DE00C94BEAD41D942E060E080E49DE0F8
+:10E340000E947E286CE175E080E49DE00C94BEADF7
+:10E350001F93CF93DF9331D940E060E080E49DE0EC
+:10E360000E947E286CE275E080E49DE00E94BEADD4
+:10E3700042E060E080E49DE00E947E286AE375E070
+:10E3800080E49DE00E94BEAD10E043E0612F80E498
+:10E390009DE00E947E286FE573E080E49DE00E948E
+:10E3A000BEADCAE0D0E00E94721E81E00E943849F2
+:10E3B00065E570E080E090E00E9460A921972097D9
+:10E3C00091F71F5F143109F7DF91CF911F910895E5
+:10E3D0001F93CF93DF93F1D840E060E080E49DE0AD
+:10E3E0000E947E2866E475E080E49DE00E94BEAD58
+:10E3F00042E060E080E49DE00E947E286AE375E0F0
+:10E4000080E49DE00E94BEAD10E043E0612F80E417
+:10E410009DE00E947E286FE573E080E49DE00E940D
+:10E42000BEADCAE0D0E00E94721E81E00E94384971
+:10E430006EE670E080E090E00E9460A9219720974E
+:10E4400091F71F5F143109F7DF91CF911F91089564
+:10E4500080932E0D10922D0D0895E2E7F2E00190C9
+:10E460000020E9F73197E257F2401E161F0634F0FC
+:10E470001092860282E080936F02089580E2E43178
+:10E48000F105B4F7DF01AE58BD4F8C933196F7CF4D
+:10E4900020918C0D211108C044E150E0BC0182E7BD
+:10E4A00092E00E944CB6D9CF089510925F0A60E0C6
+:10E4B0008DE59AE00E947D340E94B39380E69FE050
+:10E4C0000E94333E81E080931F0A87E595E0E0DFFC
+:10E4D0008CE59FE00C94333EAF92BF92CF92DF92D7
+:10E4E000EF92FF920F931F93CF93DF931092990DAA
+:10E4F0008091350D9091360DA091370DB091380D6A
+:10E5000081309048A105B10540F01092350D109270
+:10E51000360D1092370D1092380D6091350D7091B7
+:10E52000360D8091370D9091380D25E030E040E0B8
+:10E5300050E00E947EB280913E0D90E0A0E0B0E0FD
+:10E54000281739074A075B0710F420933E0DD09136
+:10E550003E0D10913F0D12FB112710F9C0E075E040
+:10E56000C72ED12CE12CF12CAA24A394D11137C0B1
+:10E5700080916F028823A9F08091350D9091360D1E
+:10E58000A091370DB091380D23E00597A105B10595
+:10E5900010F443E001C040E264E071E18C2F0E947E
+:10E5A000F6631123E1F08091350D9091360DA09125
+:10E5B000370DB091380D0597A105B10580F40E9483
+:10E5C0001D6584E290E8DF91CF911F910F91FF903C
+:10E5D000EF90DF90CF90BF90AF900C9467650E9452
+:10E5E00000A54091350D5091360D6091370D709119
+:10E5F000380D811104C080915F0A882399F1D130D0
+:10E60000C9F580916F028823A9F0CB01BA01A70157
+:10E6100096010E947EB2213031054105510519F461
+:10E620002EE74EE302C02EE740E26FEF70E18C2F41
+:10E630000E94F6631123F1F06091350D7091360D53
+:10E640008091370D9091380DA70196010E947EB2FE
+:10E65000213031054105510569F40E941D6582E6AE
+:10E660009BE73EC2D13031F480916F0281119BC291
+:10E670001111AFC22091600A6091350D7091360D75
+:10E680008091370D9091380D222309F4F1C020912B
+:10E69000480C222309F4B9C020915F0A2223E9F132
+:10E6A000D23009F076C020916F02222399F0A701A1
+:10E6B00096010E947EB2223031054105510519F4C0
+:10E6C00020E24EE302C020E240E26BEE70E18C2FCC
+:10E6D0000E94F663112309F4E2C06091350D709138
+:10E6E000360D8091370D9091380DA70196010E944B
+:10E6F0007EB2223031054105510509F0D0C00E949B
+:10E700001D65DF91CF911F910F91FF90EF90DF90EA
+:10E71000CF90BF90AF900C947C64D230D1F5209113
+:10E720006F02222399F0A70196010E947EB2223047
+:10E7300031054105510519F420E24EE302C020E203
+:10E7400040E26EED70E18C2F0E94F663112309F414
+:10E75000A6C06091350D7091360D8091370D909166
+:10E76000380DA70196010E947EB222303105410585
+:10E77000510509F094C00E941D65DF91CF911F9152
+:10E780000F91FF90EF90DF90CF90BF90AF900C94DF
+:10E790007864D33009F083C020916F02222399F06E
+:10E7A000A70196010E947EB2233031054105510533
+:10E7B00019F420E24EE302C020E240E263ED70E192
+:10E7C0008C2F0E94F663112309F469C06091350D06
+:10E7D0007091360D8091370D9091380DA7019601FB
+:10E7E0000E947EB2233031054105510509F057C022
+:10E7F0000E941D65DF91CF911F910F91FF90EF90C7
+:10E80000DF90CF90BF90AF9050CED23011F003E0A8
+:10E8100047C020916F02222399F0A70196010E9420
+:10E820007EB2223031054105510519F42EE74EE341
+:10E8300002C02EE740E265EC70E18C2F0E94F66387
+:10E84000112329F36091350D7091360D8091370DAC
+:10E850009091380DA70196010E947EB222303105B9
+:10E8600041055105A1F60E941D6583EE9BE638C166
+:10E87000D23069F620916F02222311F3A70196018D
+:10E880000E947EB2223031054105510519F42EE770
+:10E890004EE302C02EE740E26AEB70E1CECF04E027
+:10E8A00080915F0A8111DCC00D1348C080916F0216
+:10E8B0008823F9F06091350D7091360D8091370DF8
+:10E8C0009091380DA70196010E947EB2802F90E0B2
+:10E8D000A0E0B0E0281739074A075B0719F420E2E7
+:10E8E0004EE302C020E240E26CEA70E18C2F0E940D
+:10E8F000F663112319F16091350D7091360D8091F9
+:10E90000370D9091380DA70196010E947EB2802F9D
+:10E9100090E0A0E0B0E0281739074A075B0771F4E0
+:10E920000E941D65DF91CF911F910F91FF90EF9095
+:10E93000DF90CF90BF90AF900C941B6BBB24B3942F
+:10E94000B00EBD1248C080916F028823F9F060912B
+:10E95000350D7091360D8091370D9091380DA701CE
+:10E9600096010E947EB28D2F90E0A0E0B0E02817C3
+:10E9700039074A075B0719F420E24EE302C020E2A0
+:10E9800040E26CE970E18C2F0E94F663112319F1CB
+:10E990006091350D7091360D8091370D9091380D45
+:10E9A000A70196010E947EB28B2D90E0A0E0B0E01E
+:10E9B000281739074A075B0771F40E941D65DF912C
+:10E9C000CF911F910F91FF90EF90DF90CF90BF906C
+:10E9D000AF900C94E16A62E0B62EB00EBD123FC05B
+:10E9E00080916F028823F9F06091350D7091360D9A
+:10E9F0008091370D9091380DA70196010E947EB24B
+:10EA00008D2F90E0A0E0B0E0281739074A075B0798
+:10EA100019F42EE74EE302C02EE740E263E970E10D
+:10EA20008C2F0E94F6631123D1F06091350D709107
+:10EA3000360D8091370D9091380DA70196010E94F7
+:10EA40007EB28B2D90E0A0E0B0E0281739074A078E
+:10EA50005B0729F40E941D6581E297E641C00D5FC6
+:10EA60000D134AC080916F028823F9F06091350D33
+:10EA70007091360D8091370D9091380DA701960158
+:10EA80000E947EB2802F90E0A0E0B0E02817390706
+:10EA90004A075B0719F42EE74EE302C02EE740E277
+:10EAA0006BE870E18C2F0E94F663112329F16091CD
+:10EAB000350D7091360D8091370D9091380DA7016D
+:10EAC00096010E947EB2802F90E0A0E0B0E028176F
+:10EAD00039074A075B0781F40E941D6581E795E6C7
+:10EAE000DF91CF911F910F91FF90EF90DF90CF902A
+:10EAF000BF90AF900C946C65BB24B394B00E609142
+:10EB0000350D7091360D8091370D9091380DA7011C
+:10EB100096010E947EB28B2D90E0A0E0B0E0281715
+:10EB200039074A075B0788F025E0B29EC00111242F
+:10EB30000197AA2797FDA095BA2F8093350D909342
+:10EB4000360DA093370DB093380D6091350D70914F
+:10EB5000360D8091370D9091380DA70196010E94D6
+:10EB60007EB280913E0D90E00396422F50E08417D4
+:10EB700095074CF48DEF820F80933E0DA0926F02AB
+:10EB8000DCEFD20FCFEFCF5FDF5FC43008F4EECC05
+:10EB9000DF91CF911F910F91FF90EF90DF90CF9079
+:10EBA000BF90AF900895CB01BA01A70196010E94D2
+:10EBB0007EB2213031054105510519F42EE74EE3AF
+:10EBC00002C02EE740E267EF70E18C2F0E94F663EF
+:10EBD0004FCD6091350D7091360D8091370D90912C
+:10EBE000380DA70196010E947EB221303105410502
+:10EBF000510509F03FCD0E941D6589E09FE670CF69
+:10EC000020918C0D211108C044E150E0BC0182E745
+:10EC100092E00E94BFB521CC0895F2DF81E080939D
+:10EC20008C0D0C94C86A10928C0D0895CF92DF92CF
+:10EC3000EF92FF92CF93CCB1C095CC1FCC27CC1FC5
+:10EC40008091030183FFC260C0903A0DD0903B0DCC
+:10EC5000E0903C0DF0903D0D0E9431A9C616D706FC
+:10EC6000E806F90610F4489B39C0C0933F0D809127
+:10EC70003F0D817090913F0D91FD82609091390D13
+:10EC8000891721F18130F1F028F0823089F083304A
+:10EC9000A1F01CC0913021F490919B0D9F5F05C0A5
+:10ECA0009230A1F490919B0D915090939B0D0EC0CA
+:10ECB000992391F3933051F4F5CF923069F3913069
+:10ECC00029F4F0CF933041F3992361F38093390D08
+:10ECD000CF91FF90EF90DF90CF900895C460C5CFA3
+:10ECE0000E94BC6A6F98E4E0F1E08081877F8083B6
+:10ECF000779A9FB7F894E5E0F1E08081886080839F
+:10ED00009FBF5098589A60E088E40E9451A89FB72E
+:10ED1000F894E5E0F1E08081846080839FBF80917A
+:10ED2000030182FB882780F991E089278093340DC5
+:10ED30007DDF10929B0D0895CF92DF92EF92FF92AC
+:10ED400075DF8091030191E082FB882780F9892794
+:10ED50002091340D8217C9F082E080936F02809178
+:10ED6000030182FB882780F989278093340D0E9454
+:10ED7000BC6A8091340D882309F490C08DE59AE037
+:10ED80000E94473089E49EE03BDFC090300DD09078
+:10ED9000310DE090320DF090330D0E9431A9C6166E
+:10EDA000D706E806F90608F086C040919B0D44237B
+:10EDB00061F181E080936F02552747FD5095652FE3
+:10EDC000752F8091350D9091360DA091370DB09132
+:10EDD000380D840F951FA61FB71F8093350D909394
+:10EDE000360DA093370DB093380D10929B0D0E94F5
+:10EDF00031A96856754C8F4F9F4F6093050D7093E6
+:10EE0000060D8093070D9093080D80913F0D82FFB2
+:10EE10000EC00E9431A96856754C8F4F9F4F60936A
+:10EE2000050D7093060D8093070D9093080DE091EA
+:10EE30007002F09171021995C090050DD090060DE9
+:10EE4000E090070DF090080D0E9431A9C616D70674
+:10EE5000E806F90638F480917002909171028452AC
+:10EE6000904819F580916F02823011F40E94DD6A9A
+:10EE700080916F02882319F0815080936F020E9465
+:10EE800031A96C597F4F8F4F9F4F6093300D709316
+:10EE9000310D8093320D9093330D0DC08DE59AE0C6
+:10EEA0000E9412318CE39EE06FCF0E94C86A82E01C
+:10EEB00080936F02D7CFFF90EF90DF90CF900895AF
+:10EEC00081E0089580913F0D82FB882780F90895A5
+:10EED0000F931F93CF93DF930E94DD6A40E060E0C1
+:10EEE00080E49DE00E947E2865E675E080E49DE078
+:10EEF0000E94BEAD41E061E080E49DE00E947E287A
+:10EF000068E775E080E49DE00E94BEAD42E061E00C
+:10EF100080E49DE00E947E286CE775E080E49DE03F
+:10EF20000E94BEAD43E061E080E49DE00E947E2847
+:10EF300060E975E080E49DE00E94BEAD41E060E0E4
+:10EF400080E49DE00E947E2860EA75E080E49DE018
+:10EF50000E94BEAD00919B0D112707FD1095C1E0E9
+:10EF6000D0E08091550A9091560A892B09F076C01D
+:10EF70000E94721E81E00E94384980919B0D992762
+:10EF800087FD90950817190709F459C09801281BA7
+:10EF9000390B37FF03C031952195310922303105F6
+:10EFA0000CF44DC0801791070CF42197081719072E
+:10EFB0000CF42196C430D1052CF4209729F4C1E03B
+:10EFC000D0E002C0C3E0D0E041E060E080E49DE03A
+:10EFD0000E947E2861E973E080E49DE00E94BEAD5E
+:10EFE00042E060E080E49DE00E947E2861E973E0F9
+:10EFF00080E49DE00E94BEAD43E060E080E49DE0DF
+:10F000000E947E2861E973E080E49DE00E94BEAD2D
+:10F010004C2F60E080E49DE00E947E2860EA75E06D
+:10F0200080E49DE00E94BEAD00919B0D112707FD7D
+:10F03000109564E670E080E090E00E9460A942DFF5
+:10F04000882309F48ECFD093560AC093550A64EFF3
+:10F0500071E080E090E00E9460A983CF0E94DD6AA9
+:10F06000DF91CF911F910F910C94C86AFC018081B0
+:10F0700090E02AE030E0B9010E946BB2482FCB014A
+:10F08000B9010E946BB2805D8093090D405D409391
+:10F090000A0D10920B0D89E09DE0089520E030E00C
+:10F0A00040E251E4FC0160817181828193810E9480
+:10F0B00075B10E940FAF77FD02C02BE201C02DE2B7
+:10F0C0002093090D9B0177FF04C022273327261BBD
+:10F0D000370BC90168EE73E00E946BB2CB01EAE026
+:10F0E000F0E0BF010E946BB2805D80930A0DC90100
+:10F0F00064E670E00E946BB2CB01BF010E946BB26C
+:10F10000805D80930B0DC901BF010E946BB2282F57
+:10F11000CB01BF010E946BB2805D80930C0D8EE22B
+:10F1200080930D0D205D20930E0D10920F0D89E040
+:10F130009DE008958F929F92AF92BF92CF92DF92FF
+:10F14000EF92FF92FC0180809180A280B38020E04A
+:10F1500030E048EC52E4C501B4010E9475B16B0186
+:10F160007C0120E030E0A9010E94A3B018161CF435
+:10F17000C701B60103C0C701B60190580E940FAF86
+:10F180006B017C0120E030E0A901C501B4010E94BF
+:10F19000A0AE87FF12C08DE28093090DC701B601B2
+:10F1A00028EE33E040E050E00E94A0B2CA01B9016D
+:10F1B0002AE030E040E050E036C0C701B60120E16F
+:10F1C00037E240E050E00E94A0B28AE0882E912C05
+:10F1D000A12CB12CCA01B901A50194010E94A0B2D1
+:10F1E000662391F0605D6093090DC701B60128EEBA
+:10F1F00033E040E050E00E94A0B2CA01B901A5018D
+:10F2000094010E94A0B213C080E28093090DC7014F
+:10F21000B60128EE33E040E050E00E94A0B2CA01FF
+:10F22000B901A50194010E94A0B2662311F0605DAE
+:10F2300001C060E260930A0DC701B60124E630E028
+:10F2400040E050E00E94A0B2BAE08B2E912CA12C9D
+:10F25000B12CCA01B901A50194010E94A0B2605D60
+:10F2600060930B0DC701B601A50194010E94A0B2E5
+:10F27000662381F0605D60930E0DCA01B901A5019E
+:10F2800094010E94A0B2605D60930D0D8EE28093A8
+:10F290000C0D15C0CA01B901A50194010E94A0B2CC
+:10F2A000662329F0605D60930D0D8EE203C080E25D
+:10F2B00080930D0D80930C0D80E280930E0D1092C3
+:10F2C0000F0D89E09DE0FF90EF90DF90CF90BF9011
+:10F2D000AF909F908F900895FC012081318137FF7E
+:10F2E00007C08DE28093090D31952195310914C035
+:10F2F0002436310574F0C90164E670E00E946BB2F7
+:10F30000CB016AE070E00E946BB2805D8093090DD2
+:10F3100006C080E28093090D2A30310564F0EAE0EE
+:10F32000F0E0C901BF010E946BB2CB01BF010E9496
+:10F330006BB2805D01C080E280930A0DC9016AE072
+:10F3400070E00E946BB2805D80930B0D10920C0DEB
+:10F3500089E09DE008958F929F92AF92BF92CF92E5
+:10F36000DF92EF92FF920F931F93CF93DF93609101
+:10F3700014027091150280911602909117020E945A
+:10F38000BD276093190D70931A0D80931B0D9093F8
+:10F390001C0D6091100270911102809112029091E7
+:10F3A00013020E94C9276093150D7093160D809368
+:10F3B000170D9093180D8091350D9091360DA091F9
+:10F3C000370DB091380D81309048A105B10540F05E
+:10F3D0001092350D1092360D1092370D1092380D97
+:10F3E0006091350D7091360D8091370D9091380DEB
+:10F3F00025E030E040E050E00E947EB280913E0D7A
+:10F4000090E0A0E0B0E0281739074A075B0710F446
+:10F4100020933E0DD0913E0D10913F0D12FB112710
+:10F4200010F9C0E095E0C92ED12CE12CF12C23E19C
+:10F43000822E912CA12CB12C01E06091350D7091A0
+:10F44000360D8091370D9091380DD11134C0209137
+:10F450006F02222371F023E065307105810591056B
+:10F4600010F443E001C040E26AEA7FE08C2F0E9482
+:10F47000F663112309F4E2C08091350D9091360DA9
+:10F48000A091370DB091380D0597A105B10508F091
+:10F49000D5C00E941D6581E297E6DF91CF911F9153
+:10F4A0000F91FF90EF90DF90CF90BF90AF909F9023
+:10F4B0008F900C946765D130D9F520916F0222238B
+:10F4C000B9F0A70196010E947EB288E498E021304D
+:10F4D00031054105510521F4FFDE9C014EE303C0D7
+:10F4E000FBDE9C0140E263EA7FE08C2F0E942D64EA
+:10F4F000112309F4A3C06091350D7091360D8091F0
+:10F50000370D9091380DA70196010E947EB22130EF
+:10F5100031054105510509F091C00E941D6528E3A0
+:10F5200031E040E050E068E478E08CE99FE078C0AA
+:10F53000D230D9F520916F022223B9F0A7019601AC
+:10F540000E947EB286E498E02230310541055105E3
+:10F5500021F4C2DE9C014EE303C0BEDE9C0140E20A
+:10F5600068E97FE08C2F0E942D64112309F466C0A6
+:10F570006091350D7091360D8091370D9091380D59
+:10F58000A70196010E947EB2223031054105510546
+:10F5900009F054C00E941D6523E930E040E050E0CE
+:10F5A00066E478E084E99FE03BC0D33009F046C0D0
+:10F5B00020916F022223B9F0A70196010E947EB22A
+:10F5C0008EE29AE0233031054105510521F484DEB5
+:10F5D0009C014EE303C080DE9C0140E26AE87FE0CC
+:10F5E0008C2F0E942D64112349F16091350D70918B
+:10F5F000360D8091370D9091380DA70196010E942C
+:10F600007EB22330310541055105C1F40E941D65CC
+:10F610002FEF30E040E050E06EE27AE080E89FE0DB
+:10F62000DF91CF911F910F91FF90EF90DF90CF90DE
+:10F63000BF90AF909F908F900C94A4638091350DF4
+:10F640009091360DA091370DB091380D4497A105DA
+:10F65000B10540F08092350D9092360DA092370D95
+:10F66000B092380D6091350D7091360D8091370D47
+:10F670009091380DA70196010E947EB280913E0DB7
+:10F6800090E00396422F50E0841795074CF48DEFDD
+:10F69000820F80933E0D00936F02DCEFD20FCFEF0D
+:10F6A000CF5FDF5FC43008F4C8CEDF91CF911F91E8
+:10F6B0000F91FF90EF90DF90CF90BF90AF909F9011
+:10F6C0008F9008958F929F92AF92BF92CF92DF92C8
+:10F6D000EF92FF920F931F93CF93DF938091350D9D
+:10F6E0009091360DA091370DB091380D8130904832
+:10F6F000A105B10540F01092350D1092360D109213
+:10F70000370D1092380D6091350D7091360D809146
+:10F71000370D9091380D25E030E040E050E00E9438
+:10F720007EB280913E0D90E0A0E0B0E0281739074E
+:10F730004A075B0710F420933E0DD0913E0D1091C7
+:10F740003F0D12FB112710F9C0E035E0C32ED12C7C
+:10F75000E12CF12C42E2842E912CA12CB12C01E061
+:10F760006091350D7091360D8091370D9091380D67
+:10F77000D11134C020916F02222371F023E0653053
+:10F7800071058105910510F443E001C040E26CEE83
+:10F790007EE08C2F0E94F663112309F49CC18091B6
+:10F7A000350D9091360DA091370DB091380D05971C
+:10F7B000A105B10508F08FC10E941D658CE692E796
+:10F7C000DF91CF911F910F91FF90EF90DF90CF903D
+:10F7D000BF90AF909F908F900C946765D130D9F512
+:10F7E00020916F022223B9F0A70196010E947EB2F8
+:10F7F0008DE592E0213031054105510521F46CDDA4
+:10F800009C014EE303C068DD9C0140E266EE7EE0B1
+:10F810008C2F0E942D64112309F45DC16091350D78
+:10F820007091360D8091370D9091380DA70196019A
+:10F830000E947EB2213031054105510509F04BC1CE
+:10F840000E941D6527EE33E04AE050E06DE572E06E
+:10F8500080EE9EE03DC0D23009F048C020916F029A
+:10F860002223B9F0A70196010E947EB288E498E0B5
+:10F87000223031054105510521F42EDD9C014EE376
+:10F8800003C02ADD9C0140E269ED7EE08C2F0E94DE
+:10F890002D64112309F41FC16091350D7091360D4F
+:10F8A0008091370D9091380DA70196010E947EB28C
+:10F8B000223031054105510509F00DC10E941D6539
+:10F8C00028E331E040E050E068E478E082ED9EE03B
+:10F8D000DF91CF911F910F91FF90EF90DF90CF902C
+:10F8E000BF90AF909F908F900C94A463D330D9F5C4
+:10F8F00020916F022223B9F0A70196010E947EB2E7
+:10F9000086E498E0233031054105510521F4E4DC1B
+:10F910009C014EE303C0E0DC9C0140E26EEC7EE023
+:10F920008C2F0E942D64112309F4D5C06091350DF0
+:10F930007091360D8091370D9091380DA701960189
+:10F940000E947EB2233031054105510509F0C3C044
+:10F950000E941D6523E930E040E050E066E478E075
+:10F960008AEC9EE0B5CFD430D9F520916F022223E6
+:10F97000B9F0A70196010E947EB28EE29AE024308F
+:10F9800031054105510521F4A7DC9C014EE303C07C
+:10F99000A3DC9C0140E260EC7EE08C2F0E942D6491
+:10F9A000112309F498C06091350D7091360D809146
+:10F9B000370D9091380DA70196010E947EB2243038
+:10F9C00031054105510509F086C00E941D652FEFE4
+:10F9D00030E040E050E06EE27AE086EB9EE078CFE7
+:10F9E000D530D9F520916F022223B9F0A7019601F5
+:10F9F0000E947EB28BE592E025303105410551052C
+:10FA000021F46ADC9C014EE303C066DC9C0140E209
+:10FA100061EB7EE08C2F0E942D64112309F45BC002
+:10FA20006091350D7091360D8091370D9091380DA4
+:10FA3000A70196010E947EB225303105410551058E
+:10FA400009F049C00E941D6527EE33E04AE050E00E
+:10FA50006BE572E08CEA9EE03BCFD630E1F5209179
+:10FA60006F02222399F0A70196010E947EB22630F0
+:10FA700031054105510519F420E24EE302C020E2B0
+:10FA800040E26CE97EE08C2F0E94F663112319F1AD
+:10FA90006091350D7091360D8091370D9091380D34
+:10FAA000A70196010E947EB226303105410551051D
+:10FAB00091F40E941D6587E99EE0DF91CF911F912F
+:10FAC0000F91FF90EF90DF90CF90BF90AF909F90FD
+:10FAD0008F900C94333E8091350D9091360DA0910E
+:10FAE000370DB091380D8397A105B10540F0809294
+:10FAF000350D9092360DA092370DB092380D609171
+:10FB0000350D7091360D8091370D9091380DA7010C
+:10FB100096010E947EB280913E0D90E00396422FA6
+:10FB200050E0841795074CF48DEF820F80933E0DC3
+:10FB300000936F02DCEFD20FCFEFCF5FDF5FC430F7
+:10FB400008F40ECEDF91CF911F910F91FF90EF90AF
+:10FB5000DF90CF90BF90AF909F908F900895FC0161
+:10FB6000808191818436910524F164E670E00E94E1
+:10FB70006BB2CB012AE030E0B9010E946BB2805D2C
+:10FB80008093090D80819181B9010E946BB2CB01F4
+:10FB9000B9010E946BB2805D80930A0D80819181D2
+:10FBA000B9010E946BB2805D80930B0D10920C0D19
+:10FBB00023C08A309105BCF02AE030E0B9010E94F0
+:10FBC0006BB2CB01B9010E946BB2805D8093090DCD
+:10FBD00080819181B9010E946BB2805D80930A0D92
+:10FBE00010920B0D09C06AE070E00E946BB2805D5C
+:10FBF0008093090D10920A0D89E09DE00895CF923F
+:10FC0000EF920F93EFE1CE2EF0E2EF2E0FE02EE019
+:10FC100045E066E280E49DE00E9459290F91EF9053
+:10FC2000CF900895CF93DF93FC016491EC0121966E
+:10FC3000662331F080E49DE00E94362ACE01F4CFA5
+:10FC4000DF91CF9108950F931F93CF93DF938C0192
+:10FC5000EB0141E061E080E49DE00E947E28C80164
+:10FC6000E1DF6AE380E49DE00E94BFADFE01019008
+:10FC70000020E9F76C2F6E1B6C5E41E080E49DE094
+:10FC80000E947E28BE0180E49DE0DF91CF911F910C
+:10FC90000F910C94BEADCF92DF92EF92FF920F9333
+:10FCA0001F938091350D9091360DA091370DB09135
+:10FCB000380D0097A105B10509F442C0BC018827A1
+:10FCC00077FD8095982F0E9442AF2091110D3091C1
+:10FCD000120D4091130D5091140D0E9475B19B01AE
+:10FCE000AC016091500A7091510A8091520A909132
+:10FCF000530A0E94C7AD6093500A7093510A8093D3
+:10FD0000520A9093530A1092350D1092360D1092AC
+:10FD1000370D1092380DA0E3CA2EAAE0DA2EE12C9E
+:10FD2000F12C00E81FE320E53AE04CE45AE068E4F7
+:10FD30007AE084E49AE00E94779A81E080936F02EF
+:10FD400080916F02882339F080E59AE0A7D9BC0141
+:10FD500089EB9FE078DF80913F0D82FF0EC021E0AC
+:10FD600040E050E0BA018AEF98E61F910F91FF90B2
+:10FD7000EF90DF90CF900C9451651F910F91FF9001
+:10FD8000EF90DF90CF900895CF93DF931F921F9253
+:10FD9000CDB7DEB78091350D9091360DA091370D1E
+:10FDA000B091380DB7FF08C01092350D1092360D86
+:10FDB0001092370D1092380D80911D0D90911E0DEF
+:10FDC000A0911F0DB091200D4091350D5091360D31
+:10FDD0006091370D7091380D84179507A607B70706
+:10FDE00044F48093350D9093360DA093370DB09366
+:10FDF000380D80916F028823A9F08091210D909198
+:10FE0000220D2091350D3091360D820F931F9A836C
+:10FE10008983CE01019660DABC018091270D909113
+:10FE2000280D11DF80913F0D82FF1DC0E091250D4F
+:10FE3000F091260D8091210D9091220D2091350D8C
+:10FE40003091360D820F931F918380834091290D4D
+:10FE500050912A0D60E070E021E080912B0D90918F
+:10FE60002C0D0E9451650F900F90DF91CF91089556
+:10FE70004F925F926F927F928F929F92AF92BF92BA
+:10FE8000CF92DF92EF92FF920F931F93CF93DF9366
+:10FE90004C015B017A018091350D9091360DA09156
+:10FEA000370DB091380D892B8A2B8B2B09F47BC031
+:10FEB0000E945F40E501CC0FDD1FCC0FDD1F8E01DE
+:10FEC0000C5B154F6091350D7091360D882777FDCD
+:10FED0008095982F0E9442AF2091110D3091120D04
+:10FEE0004091130D5091140D0E9475B1F8012081BD
+:10FEF0003181428153810E94C7AD2B013C0120E03A
+:10FF000030E0A9010E94A0AEF80187FD05C0408243
+:10FF100051826282738204C0108211821282138223
+:10FF2000B701882777FD8095982F0E9442AF6B011B
+:10FF30007C018E010C5B154F9B01AC01F8016081C7
+:10FF40007181828193810E94A3B018162CF4F8016C
+:10FF5000C082D182E282F3821092350D1092360D6A
+:10FF60001092370D1092380DCA55DA4F20E030E06C
+:10FF700040E752E4688179818A819B810E94A7AE23
+:10FF8000D0E3CD2EDAE0DD2E7B018C0120E53AE0D6
+:10FF90004CE45AE068E47AE084E49AE00E94779ABC
+:10FFA00081E080936F0280916F02882359F0C50130
+:10FFB000880F991F880F991F8C5B954F6FD8BC01D4
+:10FFC000C40141DE80913F0D82FF18C021E040E076
+:10FFD00050E0BA018AEF98E6DF91CF911F910F911F
+:10FFE000FF90EF90DF90CF90BF90AF909F908F9059
+:10FFF0007F906F905F904F900C945165DF91CF91FF
+:020000021000EC
+:100000001F910F91FF90EF90DF90CF90BF90AF9036
+:100010009F908F907F906F905F904F90089546EDE6
+:1000200050E060E070E083EB9FE022CF46EC50E0D0
+:1000300061E070E085EB9FE01BCF49EC50E062E0AF
+:1000400070E087EB9FE014CF8F929F92AF92BF92A8
+:10005000CF92DF92EF92FF920F931F93CF93DF9394
+:10006000CDB7DEB728970FB6F894DEBF0FBECDBF71
+:1000700080912F0D882321F0815080932F0D03C094
+:1000800081E080936F0280916F02882309F456C249
+:1000900080919A0D8F5F80939A0D8E3129F40E9482
+:1000A000BC6A10929A0D0EC06AE00E944AB2911189
+:1000B00009C020E044E064E180E49DE00E947E29E4
+:1000C0000E94806420E030E040E05FE360914008FF
+:1000D0007091410880914208909143080E94C7ADF9
+:1000E0000E940FAF78876F8360914808709149082C
+:1000F000882777FD8095982F0E9442AF20E030E05E
+:1001000040E05FE30E94C7AD0E940FAF7E836D8326
+:1001100040E060E080E49DE00E947E2862E080E4B0
+:100120009DE00E94BFADCE010796D6D8BC0180E409
+:100130009DE00E94BEAD6FE280E49DE00E94BFADF5
+:10014000CE0105960CDDBC0180E49DE00E94BEADB1
+:1001500084E99EE067DD60E973E080E49DE00E9451
+:10016000BEAD40E06AE080E49DE00E947E2862EA45
+:1001700075E080E49DE00E94BEAD2CEA35EC47E2DC
+:1001800057E360914C0A70914D0A80914E0A90910C
+:100190004F0A0E94C7AD69837A838B839C83CE010B
+:1001A00001960E949A78BC0180E49DE00E94BEAD59
+:1001B00060E280E49DE00E94BFAD41E060E080E449
+:1001C0009DE00E947E2820E030E040E05FE3609107
+:1001D0003A0870913B0880913C0890913D080E943C
+:1001E000C7AD0E940FAF78876F836091460870910A
+:1001F0004708882777FD8095982F0E9442AF20E01E
+:1002000030E040E05FE30E94C7AD0E940FAF7E8305
+:100210006D8360E080E49DE00E94BFADCE01079653
+:100220005BD8BC0180E49DE00E94BEAD6FE280E43B
+:100230009DE00E94BFADCE01059691DCBC0180E43B
+:100240009DE00E94BEAD81E99EE0ECDC60E973E0D8
+:1002500080E49DE00E94BEAD41E06AE080E49DE064
+:100260000E947E2860E973E080E49DE00E94BEADBC
+:1002700066E080E49DE00E94BFAD8DE592E02CD861
+:10028000BC0180E49DE00E94BEAD65E280E49DE09B
+:100290000E94BFAD6DE873E080E49DE00E94BEADBA
+:1002A00042E060E080E49DE00E947E288EE89EE0CF
+:1002B000B9DC80915F0A8823A9F18091480C8823DA
+:1002C00019F18091F20C9091F30CA091F40CB09183
+:1002D000F50C0097A105B105B9F0BC01CD016D5930
+:1002E0007F4F8F4F9F4F24E630E040E050E00E9468
+:1002F0007EB26091FA0C7091FB0C8091FC0C909195
+:10030000FD0C0E947EB201C020E030E03A832983D8
+:10031000CE0101960E946C79BC0180E49DE00E94B0
+:10032000BEAD03C08AE89EE07DDC65E280E49DE02E
+:100330000E94BFAD6CE873E080E49DE00E94BEAD1A
+:1003400042E06AE080E49DE00E947E2860E973E07C
+:1003500080E49DE00E94BEAD67E080E49DE00E94E5
+:10036000BFAD8091520890915308A0915408B0916C
+:100370005508892B8A2B8B2BE1F10E9431A920E6AD
+:10038000C22E2AEED22EE12CF12CA70196010E945A
+:100390007EB249015A0160915208709153088091D0
+:1003A000540890915508A70196010E947EB2C4019D
+:1003B000821B930B6CE370E00E9457B2182F698385
+:1003C000CE0101960E943678BC0180E49DE00E9437
+:1003D000BEAD6AE380E49DE00E94BFAD1983CE010B
+:1003E00001960E943678BC0180E49DE00E94BEAD7B
+:1003F00003C084E89EE016DC60E973E080E49DE0E1
+:100400000E94BEAD43E060E080E49DE00E947E2853
+:100410006EE773E082E792E00E942EB6892B09F026
+:1004200074C06EE67AE085E59DE00E942EB6892BC9
+:10043000D1F0E5E5FDE0DF010D900020E9F7AD0129
+:100440004150510945555D4060E070E0CF010E9488
+:10045000FEB56EE67AE085E59DE00E9437B6109223
+:100460008B0D10928A0DEEE6FAE001900020E9F77C
+:10047000EF56FA40759708F445C000918A0D109127
+:100480008B0DC12CD12C80918A0D90918B0D9801F0
+:10049000281B390B2431310534F0019690938B0DD4
+:1004A00080938A0D38C0C114D104B9F7F801E35A1A
+:1004B000F54F7F019189602F681B43E0911115C0B2
+:1004C00080E49DE00E947E28D70150966C9180E4E4
+:1004D0009DE00E94BFAD10928B0D10928A0D00E03E
+:1004E00010E0CC24C394D12CCECF80E49DE00E94B8
+:1004F0007E28F701608980E49DE00E94BFAD0F5F18
+:100500001F4FC1CF65E57DE002C062E772E080E485
+:100510009DE00E94BEAD02E712E0D8018D918D01F1
+:1005200080322CF460E280E49DE00E94BFADB2E036
+:1005300006381B0791F78AE080932F0D80913F0DBD
+:1005400082FB882780F990912E0D992399F0909144
+:100550002D0D992339F0811119C010922D0D109293
+:100560002E0D14C0882391F00E941D6581E08093B8
+:100570002D0D0CC0882351F021E040E050E0BA017D
+:100580008CE692E70E9451650E94BC6A80915D02F0
+:1005900090915E022091350D3091360D8436910593
+:1005A00034F4820F931F853691054CF416C08436BF
+:1005B000910599F0820F931F8436910574F410927F
+:1005C000350D1092360D1092370D1092380D84E6CD
+:1005D00090E090935E0280935D0220915D023091E5
+:1005E0005E028091350D9091360D2436310569F407
+:1005F0008B3091051CF0865A9F4F09C0863FEFEF64
+:100600009E078CF482599F4F02C0820F931F9093D4
+:100610005E0280935D021092350D1092360D10929D
+:10062000370D1092380D80915D0290915E028A30F4
+:1006300091051CF48AE090E005C0883E934034F0B8
+:1006400087EE93E090935E0280935D0228960FB64A
+:10065000F894DEBF0FBECDBFDF91CF911F910F91F8
+:10066000FF90EF90DF90CF90BF90AF909F908F90D2
+:100670000895CF93DF93CFE2DEE0FE0184918823DB
+:1006800041F09091C00095FFFCCF8093C600319659
+:10069000F5CFE4E0F4E18491882341F09091C0002B
+:1006A00095FFFCCF8093C6003196F5CF8091C000B6
+:1006B00085FFFCCF8AE08093C600FE018491EFE2C3
+:1006C000FEE0882349F09091C00095FFFCCF809315
+:1006D000C60031968491F5CF4091A1135091A21399
+:1006E0006091A3137091A4138CEF93E10E949C3D41
+:1006F0004091A5135091A6136091A7137091A81370
+:1007000089EF93E10E949C3D4091A9135091AA1357
+:100710006091AB137091AC1386EF93E10E949C3D06
+:100720004091AD135091AE136091AF137091B0131F
+:1007300083EF93E10E949C3D8091C00085FFFCCF38
+:100740008AE08093C600FE018491EFE2FEE08823F8
+:1007500049F09091C00095FFFCCF8093C600319680
+:100760008491F5CFE9EDF3E18491882341F09091F4
+:10077000C00095FFFCCF8093C6003196F5CF8091E5
+:10078000C00085FFFCCF8AE08093C600FE01849103
+:10079000EFE2FEE0882349F09091C00095FFFCCF86
+:1007A0008093C60031968491F5CF4091B11350915A
+:1007B000B2136091B3137091B41380ED93E10E9472
+:1007C0009C3D4091B5135091B6136091B713709151
+:1007D000B8138DEC93E10E949C3D4091B913509168
+:1007E000BA136091BB137091BC138AEC93E10E9421
+:1007F0009C3D4091BD135091BE136091BF13709109
+:10080000C01387EC93E10E949C3D8091C00085FF5E
+:10081000FCCF8AE08093C600FE018491EFE2FEE007
+:10082000882349F09091C00095FFFCCF8093C600CB
+:1008300031968491F5CFE9EAF3E18491882341F080
+:100840009091C00095FFFCCF8093C6003196F5CF04
+:100850008091C00085FFFCCF8AE08093C600FE0136
+:100860008491EFE2FEE0882349F09091C00095FF6B
+:10087000FCCF8093C60031968491F5CF40919113BF
+:1008800050919213609193137091941380EA93E1C5
+:100890000E94AE3D4091951350919613609197132D
+:1008A000709198138DE993E10E94AE3D40919913A8
+:1008B00050919A1360919B1370919C138AE993E174
+:1008C0000E94AE3D40919D1350919E1360919F13E5
+:1008D0007091A01387E993E10E94AE3D8091C00022
+:1008E00085FFFCCF8AE08093C600FE018491EFE291
+:1008F000FEE0882349F09091C00095FFFCCF8093E3
+:10090000C60031968491F5CFE2E6F3E18491882325
+:1009100041F09091C00095FFFCCF8093C6003196C6
+:10092000F5CF8091C00085FFFCCF8AE08093C600A0
+:10093000FE018491EFE2FEE0882349F09091C0002F
+:1009400095FFFCCF8093C60031968491F5CF4091FE
+:10095000891350918A1360918B1370918C1389E5E0
+:1009600093E10E949C3D40918513509186136091C4
+:1009700087137091881386E593E10E949C3D8091D6
+:10098000C00085FFFCCF8AE08093C600FE01849101
+:10099000EFE2FEE0882349F09091C00095FFFCCF84
+:1009A0008093C60031968491F5CFE3EAF2E1849119
+:1009B000882341F09091C00095FFFCCF8093C60042
+:1009C0003196F5CF8091C00085FFFCCF8AE08093FF
+:1009D000C600FE018491EFE2FEE0882349F0909189
+:1009E000C00095FFFCCF8093C60031968491F5CF6F
+:1009F00040918D1350918E1360918F1370919013CD
+:100A00008AE992E10E949C3D4091751350917613C2
+:100A1000609177137091781387E992E10E949C3D71
+:100A20004091C1135091C2136091C3137091C413CC
+:100A300084E992E10E94AE3D40918113509182136E
+:100A4000609183137091841381E992E10E949C3D2F
+:100A500040917D1350917E1360917F1370918013AC
+:100A60008EE892E10E949C3D4091791350917A1357
+:100A700060917B1370917C138BE892E10E949C3D06
+:100A80008091C00085FFFCCF8AE08093C600FE0104
+:100A90008491EFE2FEE0882349F09091C00095FF39
+:100AA000FCCF8093C60031968491F5CFE9E7F2E15F
+:100AB0008491882341F09091C00095FFFCCF8093F2
+:100AC000C6003196F5CF8091C00085FFFCCF8AE04B
+:100AD0008093C600FE018491EFE2FEE0882349F096
+:100AE0009091C00095FFFCCF8093C6003196849111
+:100AF000F5CF4091380A5091390A60913A0A7091C5
+:100B00003B0A80E792E10E949C3D40913C0A509153
+:100B10003D0A60913E0A70913F0A8DE692E10E9483
+:100B20009C3D4091400A5091410A6091420A709167
+:100B3000430A8AE692E10E949C3D8091C00085FFB5
+:100B4000FCCF8AE08093C600FE018491EFE2FEE0D4
+:100B5000882349F09091C00095FFFCCF8093C60098
+:100B600031968491F5CFECE5F2E18491882341F050
+:100B70009091C00095FFFCCF8093C6003196F5CFD1
+:100B80008091C00085FFFCCF8AE08093C600FE0103
+:100B90008491EFE2FEE0882349F09091C00095FF38
+:100BA000FCCF8093C60031968491F5CF4091180216
+:100BB0005091190260911A0270911B0282E592E134
+:100BC0000E949C3D60911402709115028091160262
+:100BD000909117020E94BD27AB01BC018FE492E106
+:100BE0000E949C3D6091100270911102809112024E
+:100BF000909113020E94C927AB01BC018CE492E1E1
+:100C00000E949C3D8091C00085FFFCCF8AE08093CC
+:100C1000C600FE018491EFE2FEE0882349F0909146
+:100C2000C00095FFFCCF8093C60031968491F5CF2C
+:100C3000E8E1F2E18491882341F09091C00095FFB2
+:100C4000FCCF8093C6003196F5CF8091C00085FF20
+:100C5000FCCF8AE08093C600FE018491EFE2FEE0C3
+:100C6000882349F09091C00095FFFCCF8093C60087
+:100C700031968491F5CF40913302509134026091C6
+:100C80003502709136028EE092E10E949C3D20E098
+:100C900030E040E752E460912B0270912C02809189
+:100CA0002D0290912E020E9475B1AB01BC018BE028
+:100CB00092E10E949C3D4091280A5091290A60913E
+:100CC0002A0A70912B0A88E092E10E949C3D809153
+:100CD000C00085FFFCCF8AE08093C600FE018491AE
+:100CE000EFE2FEE0882349F09091C00095FFFCCF31
+:100CF0008093C60031968491F5CFECEDF1E18491BB
+:100D0000882341F09091C00095FFFCCF8093C600EE
+:100D10003196F5CF8091C00085FFFCCF8AE08093AB
+:100D2000C600FE018491EFE2FEE0882349F0909135
+:100D3000C00095FFFCCF8093C60031968491F5CF1B
+:100D40004091240A5091250A6091260A7091270A41
+:100D500082ED91E10E949C3D20E030E040E752E4CA
+:100D600060912702709128028091290290912A02B5
+:100D70000E9475B1AB01BC018FEC91E10E949C3DDA
+:100D80008091C00085FFFCCF8AE08093C600FE0101
+:100D90008491EFE2FEE0882349F09091C00095FF36
+:100DA000FCCF8093C60031968491F5CFE5E7F1E161
+:100DB0008491882341F09091C00095FFFCCF8093EF
+:100DC000C6003196F5CF8091C00085FFFCCF8AE048
+:100DD0008093C600FE018491EFE2FEE0882349F093
+:100DE0009091C00095FFFCCF8093C600319684910E
+:100DF000F5CF40912D0A50E060E070E08BE691E184
+:100E00000E94AE3D8091C00085FFFCCF8AE08093B8
+:100E1000C600FE018491EFE2FEE0882349F0909144
+:100E2000C00095FFFCCF8093C60031968491F5CF2A
+:100E30008091540A8823A1F1E8E5F1E184918823A7
+:100E400041F09091C00095FFFCCF8093C600319691
+:100E5000F5CF8091C00085FFFCCF8AE08093C6006B
+:100E6000FE01C491EFE2FEE0CC2349F08091C00086
+:100E700085FFFCCFC093C6003196C491F5CF409159
+:100E800053025091540260915502709156028EE4C3
+:100E900091E10E949C3D8091C00085FFFCCF11C074
+:100EA000E2E3F1E18491882341F09091C00095FF45
+:100EB000FCCF8093C6003196F5CF8091C00085FFAE
+:100EC000FCCF8AE08093C600DF91CF910895AF9266
+:100ED000BF92CF92DF92EF92FF920F931F93CF9327
+:100EE000DF93CDB7DEB7E0970FB6F894DEBF0FBE45
+:100EF000CDBF80E1EFEEF2E0DE01919601900D9220
+:100F00008A95E1F780E1EFEFF2E0DE015196019082
+:100F10000D928A95E1F780E1EFE0F3E0DE011196B2
+:100F200001900D928A95E1F76E0181E2C80ED11C05
+:100F300081EAE82E83E1F82E8E010F5E1F4F61EBF0
+:100F400073E1AE014F5F5F4F91E9A92E93E1B92E96
+:100F500020E030E0F60181919191A191B1916F0172
+:100F6000F70181939193A193B1937F01F80181914E
+:100F70009191A191B1918F01FB0181939193A193E3
+:100F8000B193BF01FA0181919191A191B191AF010A
+:100F9000F50181939193A193B1935F012F5F3F4F2F
+:100FA00024303105B9F60E9410A580E090E8ABE34B
+:100FB000B5E48093891390938A13A0938B13B09315
+:100FC0008C138093851390938613A0938713B0930B
+:100FD000881310928D1310928E1310928F1310920B
+:100FE000901380E29EE4A0E0B0E08093C113909360
+:100FF000C213A093C313B093C4131092751310922D
+:101000007613109277131092781380E090E0A0EAA4
+:10101000B1E48093811390938213A0938313B093D0
+:1010200084138DEC9CECACECBEE380937D13909329
+:101030007E13A0937F13B093801380E090E0A0EA2A
+:10104000B0E48093791390937A13A0937B13B093B9
+:101050007C131092400A1092410A1092420A109298
+:10106000430A10923C0A10923D0A10923E0A1092D6
+:101070003F0A1092380A1092390A10923A0A1092D6
+:101080003B0A8CED90E09093980D8093970D82E34E
+:1010900090E09093960D8093950D8FEF90E0909354
+:1010A000940D8093930D2DE131E03093920D2093B8
+:1010B000910D24E630E03093900D20938F0D9093A6
+:1010C0008E0D80938D0D83E393E3ABE4B1E48093C5
+:1010D000180290931902A0931A02B0931B026FE1B9
+:1010E00075E88BE89FE30E94B72760931402709322
+:1010F000150280931602909317026AE979E985E157
+:1011000092E40E94C32760931002709311028093AF
+:101110001202909313020E94251E80E090E0A0E846
+:10112000BFE380930C0290930D02A0930E02B09344
+:101130000F0210922D0A80E090E0A0E4B0E48093CA
+:10114000330290933402A0933502B093360240E00C
+:1011500050E064E372E440932B0250932C026093BE
+:101160002D0270932E021092280A1092290A1092D2
+:101170002A0A10922B0A1092240A1092250A109221
+:10118000260A1092270A40E050E060E071E44093A4
+:101190002702509328026093290270932A0210922A
+:1011A000540A8093530290935402A0935502B09333
+:1011B00056020E94A74AEFE2FEE08491882341F0A4
+:1011C0009091C00095FFFCCF8093C6003196F5CF7B
+:1011D000E0E1F1E18491882341F09091C00095FF16
+:1011E000FCCF8093C6003196F5CF8091C00085FF7B
+:1011F000FCCF8AE08093C600E0960FB6F894DEBF7D
+:101200000FBECDBFDF91CF911F910F91FF90EF9057
+:10121000DF90CF90BF90AF9008951F920F920FB6BE
+:101220000F9211240BB60F922F933F934F935F931E
+:101230006F938F939F93EF93FF936091C6002091DC
+:101240001D0E30911E0EC90101968F77992740918E
+:101250001F0E5091200E8417950741F0F901E356B7
+:10126000F24F608390931E0E80931D0EFF91EF91BD
+:101270009F918F916F915F914F913F912F910F901F
+:101280000BBE0F900FBE0F901F9018959A01AB01E7
+:10129000211581EE38074105510549F182E080931F
+:1012A000C00060E079E08DE390E00E94A0B22150A0
+:1012B000310941095109CA01B90122E030E040E099
+:1012C00050E00E94A0B23093C5002093C4008091EA
+:1012D000C10080618093C1008091C10088608093CB
+:1012E000C1008091C10080688093C1000895109270
+:1012F000C00020E130E0E7CF20911F0E3091200E9A
+:1013000080911D0E90911E0E8217930771F0F901C6
+:10131000E356F24F80812F5F3F4F2F773327309373
+:10132000200E20931F0E90E008958FEF9FEF0895F9
+:1013300080911F0E9091200E90931E0E80931D0E93
+:1013400008954F925F926F927F928F929F92AF9289
+:10135000BF92CF92DF92EF92FF920F931F93CF93A2
+:10136000DF93CDB7DEB7A0970FB6F894DEBF0FBE00
+:10137000CDBF5C014115510561057105E9F420E01F
+:1013800030E040E350E060E070E0A0960FB6F894E3
+:10139000DEBF0FBECDBFDF91CF911F910F91FF90A8
+:1013A000EF90DF90CF90BF90AF909F908F907F9005
+:1013B0006F905F904F905BC08E010F5F1F4FC12CED
+:1013C000D12C76014801422E512C612C712C8FEFCB
+:1013D000C81AD80AE80AF80ACB01BA01A301920197
+:1013E0000E947EB2CA01F80161938F01A901BC017C
+:1013F000411551056105710551F7F1E0CF1AD1088A
+:10140000E108F108F401EC0DFD1D80818A3010F433
+:1014100040E301C047E3480F552747FD5095652F2E
+:10142000752F20E030E0C50122D081E0C81AD10834
+:10143000E108F108EFEFCE16DE06EE06FE0611F724
+:10144000A0960FB6F894DEBF0FBECDBFDF91CF914F
+:101450001F910F91FF90EF90DF90CF90BF90AF90D2
+:101460009F908F907F906F905F904F90089521157F
+:10147000310539F48091C00085FFFCCF4093C60050
+:1014800008952A30310509F41CC05BCFCF93DF9358
+:10149000EC0120E030E04DE050E060E070E0E7DF9C
+:1014A00020E030E04AE050E060E070E0CE01DF9103
+:1014B000CF91DDCF9A01AB01662757FD6095762F5E
+:1014C000D6CFCF92DF92EF92FF92CF93DF93EC01D2
+:1014D0006A017B0177FF0FC020E030E04DE250E071
+:1014E00060E070E0C4DFF094E094D094C094C11C3C
+:1014F000D11CE11CF11C2AE0B701A601CE01DF914D
+:10150000CF91FF90EF90DF90CF901BCF2115310549
+:1015100039F48091C00085FFFCCF4093C600089548
+:1015200010CF9A01462F50E060E070E0EFCFCF93EC
+:10153000DF93EC019A01AB0160E070E0E7DFCE01E0
+:10154000DF91CF91A3CF8F929F92AF92BF92CF9214
+:10155000DF92EF92FF921F93CF93DF93EC016A012A
+:101560007B01122F20E030E0A901C701B6010E94E3
+:10157000A0AE87FF0CC020E030E04DE250E060E01C
+:1015800070E0CE0174DFF7FAF094F7F8F094B12C24
+:1015900060E070E080E09FE3B11641F020E030E0D1
+:1015A00040E251E40E94A7AEB394F6CF9B01AC0198
+:1015B000C701B6010E94C7AD6B017C010E9414AF48
+:1015C0004B015C010E9440AF9B01AC01C701B60119
+:1015D0000E94C6AD6B017C012AE0B501A401CE01D9
+:1015E000B0DE112361F0EFE5F3E08191882339F05B
+:1015F0009091C00095FFFCCF8093C600F6CF1123D9
+:1016000019F120E030E040E251E4C701B6010E9448
+:1016100075B16B017C010E940FAF4B01AA2497FCAE
+:10162000A094BA2CB501A401CE014BDFC501B401D1
+:101630000E9442AF9B01AC01C701B6010E94C6AD3A
+:101640006B017C011150DBCFDF91CF911F91FF9097
+:10165000EF90DF90CF90BF90AF909F908F900895C4
+:1016600072CFCF93DF931F92CDB7DEB7698341E08E
+:1016700050E0BE016F5F7F4F04960E9481160F906D
+:10168000DF91CF910895FB0101900020E9F7AF01B0
+:1016900041505109461B570B04960C9481168091BA
+:1016A000390E811109C08091380E811105C08091D9
+:1016B000370E811101C00895EFE2FEE08491882386
+:1016C00041F09091C00095FFFCCF8093C600319609
+:1016D000F5CFEFE6F4E18491882341F09091C000CA
+:1016E00095FFFCCF8093C6003196F5CF8091390EDF
+:1016F0008823F1F060913A0E70913B0E80913C0E80
+:1017000090913D0E0E9442AF2091A1133091A213FF
+:101710004091A3135091A4130E94A7AEAB01BC014A
+:101720008BE694E10E949C3D8BE594E10E9400765B
+:101730008091380E8823F1F060913E0E70913F0E3B
+:101740008091400E9091410E0E9442AF2091A513CE
+:101750003091A6134091A7135091A8130E94A7AEF1
+:10176000AB01BC0187E594E10E949C3D87E494E1D4
+:101770000E9400768091370E8823F1F06091420E2E
+:101780007091430E8091440E9091450E0E9442AF9D
+:101790002091A9133091AA134091AB135091AC132F
+:1017A0000E94A7AEAB01BC0183E494E10E949C3D82
+:1017B00083E394E10E9400768091C00085FFFCCF16
+:1017C0008AE08093C6001092390E1092380E109263
+:1017D000370E08951092390E1092380E1092370E6F
+:1017E000089580939B020895EFE6F0E08081826087
+:1017F000808308951F920F920FB60F9211240BB69B
+:101800000F920F931F932F933F934F935F936F9379
+:101810007F938F939F93AF93BF93EF93FF938091A9
+:101820006A0E90916B0E892B09F084C190916D0E18
+:1018300080916C0E981771F0E0916C0E8DE4E89F2A
+:10184000F0011124E259F14FDF01A45BBF4F81E0A9
+:101850008C9302C0E0E0F0E0F0936B0EE0936A0E30
+:10186000309709F461C1DF01A45BBF4F81E08C9325
+:1018700010924D0E10924E0E10924F0E1092500E6E
+:1018800060AD71AD61349CE9790728F461329EE462
+:10189000790748F002C060E47CE976956795769513
+:1018A000679584E007C0613197E2790730F076955B
+:1018B000679582E080934A0E07C080934A0E60329B
+:1018C000710510F460E270E060527109611588E002
+:1018D0007807D0F0872F9927880F991F880F991FB5
+:1018E0008258974EFC01329645915491AA27659FE4
+:1018F0009001649F210D3A1F06942A1F3A1F11245C
+:10190000FC01859194911DC0CB01969587958C7FA4
+:1019100082589B4EFC01459154910296FC018591A1
+:101920009491FB01E770FF278E9F90018F9F300DF0
+:101930009E9F300D1124E3E036952795EA95E1F757
+:10194000CA01821B930B8436910598F4EEEBF5E007
+:101950008191882339F09091C00095FFFCCF80934E
+:10196000C600F6CF4AE050E08CE99DE0E0DD84E679
+:1019700090E09093490E8093480E80914A0E9927EB
+:1019800087FD90959093470E8093460EE0916A0EE6
+:10199000F0916B0E64AD75AD70934C0E60934B0E71
+:1019A00061349CE9790728F461328EE4780748F0C5
+:1019B00002C060E47CE9769567957695679584E04A
+:1019C00007C0613197E2790730F07695679582E03C
+:1019D00080934A0E08C081E080934A0E6032710500
+:1019E00010F460E270E060527109611588E07807D8
+:1019F000E0F0872F9927880F991F880F991F825829
+:101A0000974EFC01329625913491AA27639FA0013D
+:101A1000629F410D5A1F06944A1F5A1F1124FC0150
+:101A200025913491241B350B1EC0CB0196958795CB
+:101A30008C7F82589B4EFC01259134910296FC01CB
+:101A400045915491FB01E770FF274E9FC0014F9FC6
+:101A5000900D5E9F900D1124F3E096958795FA9571
+:101A6000E1F7281B390B2436310598F4EEEBF5E04D
+:101A70008191882339F09091C00095FFFCCF80932D
+:101A8000C600F6CF4AE050E08CE99DE050DD24E648
+:101A900030E0C901A0E0B0E08093510E9093520E67
+:101AA000A093530EB093540E309389002093880076
+:101AB000E0916A0EF0916B0E80899189A289B389B9
+:101AC000B695A79597958795B095A0959095819592
+:101AD0009F4FAF4FBF4F8093650E9093660EA093BC
+:101AE000670EB093680E8093610E9093620EA09380
+:101AF000630EB093640E80935D0E90935E0EA09380
+:101B00005F0EB093600E8093590E90935A0EA0937F
+:101B10005B0EB0935C0E1092550E1092560E109202
+:101B2000570E1092580E06C080ED97E090938900F2
+:101B300080938800E0916A0EF0916B0E309709F463
+:101B400087C580A18093690E9FB780FF09C0F89474
+:101B500080910B018D7F80930B019FBF8FEF08C099
+:101B6000F89480910B01826080930B019FBF81E00C
+:101B7000809397028091690E9FB781FF09C0F89406
+:101B800080910B018E7F80930B019FBF8FEF08C068
+:101B9000F89480910B01816080930B019FBF81E0DD
+:101BA000809398022091690E30919B0220FF3BC0E8
+:101BB000332309F472C01E9902C080E031C08091C5
+:101BC000360E882361F1E0916A0EF0916B0E8081F0
+:101BD0009181A281B381181619061A061B06FCF41E
+:101BE0008091210E9091220EA091230EB091240E8F
+:101BF00080933A0E90933B0EA0933C0EB0933D0E13
+:101C000081E08093390E80899189A289B38980937C
+:101C1000550E9093560EA093570EB093580E81E038
+:101C20008093360E3AC03323C1F140B151E042FBFC
+:101C3000442740F9452779F18091350E882359F1E1
+:101C4000E0916A0EF0916B0E80819181A281B38147
+:101C5000181619061A061B06F4F48091210E9091AD
+:101C6000220EA091230EB091240E80933A0E9093F1
+:101C70003B0EA0933C0EB0933D0E5093390E8089DD
+:101C80009189A289B3898093550E9093560EA093A3
+:101C9000570EB093580E4093350E21FF3BC03323AF
+:101CA00009F471C01D9902C080E031C08091340EEA
+:101CB000882361F1E0916A0EF0916B0E8481958129
+:101CC000A681B781181619061A061B06FCF4809126
+:101CD000250E9091260EA091270EB091280E80938C
+:101CE0003E0E90933F0EA093400EB093410E81E0C4
+:101CF0008093380E80899189A289B3898093550E8B
+:101D00009093560EA093570EB093580E81E0809397
+:101D1000340E39C03323B9F130B141E0369531701A
+:101D2000342779F18091330E882359F1E0916A0EBE
+:101D3000F0916B0E84819581A681B78118161906E2
+:101D40001A061B06F4F48091250E9091260EA091A0
+:101D5000270EB091280E80933E0E90933F0EA093D5
+:101D6000400EB093410E4093380E80899189A2892C
+:101D7000B3898093550E9093560EA093570EB0934F
+:101D8000580E3093330E9FB722FF47C0F8948091CE
+:101D90000B018B7F80930B019FBF8FEF8093990284
+:101DA00080919B02882309F47DC01C9902C080E0C9
+:101DB00031C08091320E882361F1E0916A0EF0917A
+:101DC0006B0E80859185A285B385181619061A06B3
+:101DD0001B06FCF48091290E90912A0EA0912B0EE7
+:101DE000B0912C0E8093420E9093430EA093440E1C
+:101DF000B093450E81E08093370E80899189A28946
+:101E0000B3898093550E9093560EA093570EB093BE
+:101E1000580E81E08093320E45C0F89480910B01FA
+:101E2000846080930B019FBF31E0309399028091D1
+:101E30009B028823B9F126B12095221F2227221F59
+:101E400079F18091310E882359F1E0916A0EF09179
+:101E50006B0E80859185A285B385181619061A0622
+:101E60001B06F4F48091290E90912A0EA0912B0E5E
+:101E7000B0912C0E8093420E9093430EA093440E8B
+:101E8000B093450E3093370E80899189A289B3892A
+:101E90008093550E9093560EA093570EB093580E04
+:101EA0002093310E8091690E9FB783FF09C0F8948B
+:101EB00080910B01806480930B019FBF8FEF08C05E
+:101EC000F89480910B018F7B80930B019FBF81E081
+:101ED00080939A0220E080914A0E28170CF0ADC141
+:101EE0008091C00087FF19C03091C60040911D0E3F
+:101EF00050911E0ECA0101968F77992760911F0E8F
+:101F00007091200E8617970741F0FA01E356F24FC1
+:101F1000308390931E0E80931D0EE0916A0EF09117
+:101F20006B0E8091650E9091660EA091670EB09138
+:101F3000680E4081518162817381840F951FA61FB5
+:101F4000B71F8093650E9093660EA093670EB093B3
+:101F5000680E181619061A061B06CCF5409AE09171
+:101F60006A0EF0916B0E8091650E9091660EA091B5
+:101F7000670EB091680E4089518962897389841B0C
+:101F8000950BA60BB70B8093650E9093660EA093EE
+:101F9000670EB093680E409197028091210E909148
+:101FA000220EA091230EB091240E552747FD509587
+:101FB000652F752F840F951FA61FB71F8093210EC5
+:101FC0009093220EA093230EB093240E4098E0919C
+:101FD0006A0EF0916B0E8091610E9091620EA0914D
+:101FE000630EB091640E4481558166817781840FC0
+:101FF000951FA61FB71F8093610E9093620EA0934A
+:10200000630EB093640E181619061A061B06CCF55B
+:10201000419AE0916A0EF0916B0E8091610E909161
+:10202000620EA091630EB091640E4089518962895D
+:102030007389841B950BA60BB70B8093610E90934D
+:10204000620EA093630EB093640E4091980280914B
+:10205000250E9091260EA091270EB091280E55279F
+:1020600047FD5095652F752F840F951FA61FB71F2D
+:102070008093250E9093260EA093270EB093280EE2
+:102080004198E0916A0EF0916B0E80915D0E9091F7
+:102090005E0EA0915F0EB091600E40855185628505
+:1020A0007385840F951FA61FB71F80935D0E9093B5
+:1020B0005E0EA0935F0EB093600E181619061A06F6
+:1020C0001B06CCF5429AE0916A0EF0916B0E80915E
+:1020D0005D0E90915E0EA0915F0EB091600E4089F2
+:1020E000518962897389841B950BA60BB70B80936A
+:1020F0005D0E90935E0EA0935F0EB093600E4091C4
+:1021000099028091290E90912A0EA0912B0EB091E8
+:102110002C0E552747FD5095652F752F840F951F61
+:10212000A61FB71F8093290E90932A0EA0932B0E03
+:10213000B0932C0E4298E0916A0EF0916B0E809154
+:10214000590E90915A0EA0915B0EB0915C0E448591
+:10215000558566857785840F951FA61FB71F8093C9
+:10216000590E90935A0EA0935B0EB0935C0E181606
+:1021700019061A061B06CCF5439AE0916A0EF091F7
+:102180006B0E8091590E90915A0EA0915B0EB091FA
+:102190005C0E4089518962897389841B950BA60B5B
+:1021A000B70B8093590E90935A0EA0935B0EB09389
+:1021B0005C0E40919A0280912D0E90912E0EA0916E
+:1021C0002F0EB091300E552747FD5095652F752F76
+:1021D000840F951FA61FB71F80932D0E90932E0E70
+:1021E000A0932F0EB093300E43988091550E90918E
+:1021F000560EA091570EB091580E0196A11DB11D1B
+:102200008093550E9093560EA093570EB093580E90
+:102210004091550E5091560E6091570E7091580E88
+:10222000E0916A0EF0916B0E80899189A289B38941
+:10223000481759076A077B07B0F04091550E509137
+:10224000560E6091570E7091580EE0916A0EF09103
+:102250006B0E84899589A689B78984179507A60787
+:10226000B70718F4D9C02F5F36CE4091510E509168
+:10227000520E6091530E7091540E048D158D268D63
+:10228000378DAA27419FB12D529FC001629F900DAB
+:10229000619F800D911D429FB00D811D9A1F519F1E
+:1022A000B00D811D9A1F609FB00D811D9A1F509F18
+:1022B000B10D8A1F9A1FB6958A1F9A1F112444AD2B
+:1022C00055AD480F591F50934C0E40934B0E80ADA7
+:1022D00091ADA2ADB3AD60E070E084179507A6079D
+:1022E000B70720F490934C0E80934B0E60914B0EE9
+:1022F00070914C0E61349CE9790728F461328EE4C8
+:10230000780748F002C060E47CE976956795769599
+:10231000679584E007C0613197E2790730F07695E0
+:10232000679582E080934A0E08C081E080934A0E50
+:102330006032710510F460E270E06052710961155D
+:1023400088E07807E0F0872F9927880F991F880F7A
+:10235000991F8258974EFC01329625913491AA27F5
+:10236000639FA001629F410D5A1F06944A1F5A1F86
+:102370001124FC0125913491241B350B1EC0CB0187
+:10238000969587958C7F82589B4EFC0125913491C0
+:102390000296FC0145915491FB01E770FF274E9F87
+:1023A000C0014F9F900D5E9F900D112413E09695F4
+:1023B00087951A95E1F7281B390B2436310598F4D7
+:1023C000EEEBF5E08191882339F09091C00095FF04
+:1023D000FCCF8093C600F6CF4AE050E08CE99DE048
+:1023E000A6D824E630E030938900209388008091BD
+:1023F000510E9091520EA091530EB091540E820F37
+:10240000931FA11DB11D8093510E9093520EA09366
+:10241000530EB093540EF7C04091550E5091560E86
+:102420006091570E7091580E808D918DA28DB38D55
+:1024300084179507A607B70708F0D9C040914D0E3D
+:1024400050914E0E60914F0E7091500E048D158D6F
+:10245000268D378DAA27419FB12D529FC001629FC3
+:10246000900D619F800D911D429FB00D811D9A1F9F
+:10247000519FB00D811D9A1F609FB00D811D9A1F45
+:10248000509FB10D8A1F9A1FB6958A1F9A1F11245B
+:1024900020914B0E30914C0EE05CFF4F281739070E
+:1024A00018F42081318102C0281B390B8081918171
+:1024B000A281B381A90160E070E0481759076A075B
+:1024C0007B0708F49C0121349CE9390728F4213268
+:1024D0008EE4380748F002C020E43CE936952795A1
+:1024E0003695279584E007C0213197E2390730F00F
+:1024F0003695279582E080934A0E08C081E080934C
+:102500004A0E2032310510F420E230E0B901605269
+:102510007109611588E07807E0F0872F9927880F07
+:10252000991F880F991F8258974EFC01329625916A
+:102530003491AA27639FA001629F410D5A1F069400
+:102540004A1F5A1F1124FC0125913491241B350B7D
+:102550001EC0CB01969587958C7F82589B4EFC01BF
+:10256000259134910296FC0145915491FB01E7704D
+:10257000FF274E9FC0014F9F900D5E9F900D11242D
+:1025800043E0969587954A95E1F7281B390B243649
+:102590003105A0F4EEEBF5E08191882339F09091BC
+:1025A000C00095FFFCCF8093C600F6CF4AE050E014
+:1025B0008CE99DE00E94978A24E630E03093890000
+:1025C0002093880080914D0E90914E0EA0914F0E59
+:1025D000B091500E820F931FA11DB11D80934D0E1F
+:1025E00090934E0EA0934F0EB093500E0CC080915E
+:1025F000480E9091490E90938900809388008091B5
+:10260000460E80934A0E4091550E5091560E6091A1
+:10261000570E7091580EE0916A0EF0916B0E808902
+:102620009189A289B389481759076A077B0780F007
+:1026300010926B0E10926A0E90916D0E80916C0E3E
+:10264000981731F080916C0E8F5F8F7080936C0EB5
+:10265000FF91EF91BF91AF919F918F917F916F917A
+:102660005F914F913F912F911F910F910F900BBE52
+:102670000F900FBE0F901F90189590916D0E809146
+:102680006C0E981741F00E94721E80E00E9438493B
+:102690000E949C76F2CF0895CF93DF93EFB7F89422
+:1026A000EC0188819981AA81BB818093210E90934E
+:1026B000220EA093230EB093240EEB018881998102
+:1026C000AA81BB818093250E9093260EA093270E9E
+:1026D000B093280EEA0188819981AA81BB818093F9
+:1026E000290E90932A0EA0932B0EB0932C0EE90185
+:1026F00088819981AA81BB8180932D0E90932E0EA3
+:10270000A0932F0EB093300EEFBFDF91CF910895BD
+:102710002FB7F894FC0180819181A281B3818093CD
+:102720002D0E90932E0EA0932F0EB093300E2FBF30
+:1027300008952FB7F89494E0899FF0011124EF5D7C
+:10274000F14F60817181828193812FBF089595DF60
+:10275000179A1092350A169A1092360A159A109204
+:10276000370A149A089580916F008D7F80936F00CF
+:1027700090916D0E80916C0E981769F090916D0E8E
+:1027800080916C0E9817A1F380916C0E8F5F8F7003
+:1027900080936C0EEDCF10926B0E10926A0E8091AA
+:1027A0006F00826080936F000895813039F120F0CE
+:1027B000823009F445C0089517988091090182700C
+:1027C0002FB7662329F0F89490910B01926004C012
+:1027D000F89490910B019D7F90930B012FBF409A2D
+:1027E00040989FB7882329F0F89480910B0182606C
+:1027F00048C0F89480910B018D7F43C0169880915A
+:10280000090181702FB7662329F0F89490910B018C
+:10281000916004C0F89490910B019E7F90930B01FE
+:102820002FBF419A41989FB7882329F0F89480914F
+:102830000B01816026C0F89480910B018E7F21C02E
+:1028400015988091090184702FB7662329F0F894B8
+:1028500090910B01946004C0F89490910B019B7FC0
+:1028600090930B012FBF429A42989FB7882329F07B
+:10287000F89480910B01846004C0F89480910B015E
+:102880008B7F80930B019FBF0895DB0181110DC0E9
+:102890002FEF30E00E94C2B220ED37E040E050E080
+:1028A0000E94A0B2B9018CE21DC0813069F42FEF03
+:1028B00030E00E94C2B220ED37E040E050E00E94DC
+:1028C000A0B2B9018DE20EC0823071F42FEF30E07A
+:1028D0000E94C2B220ED37E040E050E00E94A0B27A
+:1028E000B9018EE20C9447A7089561E08CE20E9442
+:1028F00051A861E08DE20E9451A861E08EE20E9441
+:1029000051A860919C0270919D0280E0BEDF6091B1
+:102910009E0270919F0281E0B8DFA091A002B09169
+:10292000A1022FEF30E00E94C2B220ED37E040E07C
+:1029300050E00E94A0B2B9018EE20E9447A7E1E2F6
+:10294000F1E08081887F816080830895CF93C42FD8
+:1029500067FD20C0813061F028F0823079F083304B
+:1029600099F018C088E20E948AA8C7FF1DC02AC03B
+:1029700085E40E948AA8C7FF1AC024C084E40E948C
+:102980008AA8C7FF17C01EC081E40E948AA8C7FF9B
+:1029900014C018C0C7FD16C0813049F028F082303D
+:1029A00049F0833051F00EC06C2F89E208C06C2FC3
+:1029B00087E205C06C2F83E402C06C2F82E4CF91C4
+:1029C0000C948AA8CF910895643079F028F461308E
+:1029D00041F0623041F00895683051F0603141F0CB
+:1029E000089540E003C040E004C041E060E002C060
+:1029F00041E061E0ABCFFF920F931F93CF93DF9342
+:102A000000D01F921F92CDB7DEB785E0EFE1F3E073
+:102A1000DE01119601900D928A95E1F761E088E25E
+:102A20000E9451A861E089E20E9451A861E085E41A
+:102A30000E9451A861E087E20E9451A861E084E40D
+:102A40000E9451A861E083E40E9451A861E081E402
+:102A50000E9451A861E082E40E9451A88E010F5F9C
+:102A60001F4FF12CF80161918F018F2DADDFF39491
+:102A7000F5E0FF12F7CF0F900F900F900F900F908F
+:102A8000DF91CF911F910F91FF9008952EDFB3DF5B
+:102A9000EAE0F1E0808182608083808181608083D0
+:102AA0008081846080838081806480830F9A179AFC
+:102AB0000E9A169A0D9A159A0C9A149A26982E9A8E
+:102AC00025982D9A24982C9A0A98129A0998119A66
+:102AD0003F98479A389A4098179A1092350A399A2F
+:102AE0004198169A1092360A3A9A4298159A10927C
+:102AF000370A3B9A4398149AA1E8B0E08C918F7EF4
+:102B00008C938C9188608C93E0E8F0E080818D7FDD
+:102B1000808380818E7F808380818F73808380819A
+:102B20008F7C80838C91887F82608C9380E090E49E
+:102B30009093890080938800109285001092840001
+:102B4000EFE6F0E080818260808381E080939B02E9
+:102B500078940895E5E2F4E18491882341F090911E
+:102B6000C00095FFFCCF8093C6003196F5CFE1E21F
+:102B7000F4E18491882341F09091C00095FFFCCF4F
+:102B80008093C6003196F5CF88E20E94BFA84AE044
+:102B900050E0BC018CE99DE00E945A8A89E20E94C3
+:102BA000BFA84AE050E0BC018CE99DE00E945A8A2F
+:102BB0008091C00085FFFCCF8AE08093C600EDE1E4
+:102BC000F4E18491882341F09091C00095FFFCCFFF
+:102BD0008093C6003196F5CF85E40E94BFA84AE0F5
+:102BE00050E0BC018CE99DE00E945A8A87E20E9475
+:102BF000BFA84AE050E0BC018CE99DE00E945A8ADF
+:102C00008091C00085FFFCCF8AE08093C600E9E197
+:102C1000F4E18491882341F09091C00095FFFCCFAE
+:102C20008093C6003196F5CF84E40E94BFA84AE0A5
+:102C300050E0BC018CE99DE00E945A8A83E40E9426
+:102C4000BFA84AE050E0BC018CE99DE00E945A8A8E
+:102C50008091C00085FFFCCF8AE08093C600E4E14C
+:102C6000F4E18491882341F09091C00095FFFCCF5E
+:102C70008093C6003196F5CF81E40E94BFA84AE058
+:102C800050E0BC018CE99DE00E945A8A82E40E94D7
+:102C9000BFA84AE050E0BC018CE99DE00E945A8A3E
+:102CA0008091C00085FFFCCF8AE08093C600089524
+:102CB000CF93DF931F92CDB7DEB72091B714309139
+:102CC000B814CE0101962115310519F0821B930B22
+:102CD00002C08D5B94410F90DF91CF9108952F92A8
+:102CE0003F924F925F926F927F928F929F92AF929C
+:102CF000BF92CF92DF92EF92FF920F931F93CF93E9
+:102D0000DF93CDB7DEB768970FB6F894DEBF0FBE7E
+:102D1000CDBF1C012A013B0148015901DC01D896B5
+:102D20006D917D918D919C91DB970E9440AF6B01DD
+:102D30007C01A30192010E9475B10E948DAE0E9498
+:102D400014AF69877A878B879C87A5019401C70197
+:102D5000B6010E9475B10E948DAE0E9414AF6D87BE
+:102D60007E878F87988B29853A854B855C852837A8
+:102D700031054105510540F488E790E0A0E0B0E05E
+:102D800089879A87AB87BC872D853E854F85588973
+:102D9000283731054105510540F488E790E0A0E06F
+:102DA000B0E08D879E87AF87B88B91012C5B3F4F3A
+:102DB000D9018D919D910D90BC91A02D8D839E8305
+:102DC000AF83B887BC01CD010E9442AF69837A838B
+:102DD0008B839C8369857A858B859C850E9440AF17
+:102DE000698B7A8B8B8B9C8B20E030E0A901698109
+:102DF0007A818B819C810E94A0AE882339F1A70142
+:102E00009601C701B6010E9475B14B015C01298989
+:102E10003A894B895C89CA01B9010E9475B19B014D
+:102E2000AC01C501B4010E94C6AD4B015C01298112
+:102E30003A814B815C81CA01B9010E94C7AD9B01F7
+:102E4000AC01C501B4010E94A7AE03C060E070E010
+:102E5000CB010E948DAE0E940FAF2B013C016D8112
+:102E60007E818F81988590958095709561957F4F33
+:102E70008F4F9F4F0E9442AF4B015C016D857E8555
+:102E80008F8598890E9440AF6D837E838F8398875A
+:102E900020E030E0A901C501B4010E94A0AE882362
+:102EA00049F12D813E814F815885CA01B9010E94A7
+:102EB00075B16D8B7E8B8F8B988FA7019601C701A3
+:102EC000B6010E9475B19B01AC016D897E898F8925
+:102ED000988D0E94C6AD6B017C01A5019401C501CE
+:102EE000B4010E94C7AD9B01AC01C701B6010E94AD
+:102EF000A7AE03C060E070E0CB010E947DAFF1019E
+:102F000080889188A288B38875016401C418D508A7
+:102F1000E608F7080E940FAFC61AD70AE80AF90AAE
+:102F2000F7FE6BC020E030E0A90169817A818B81D6
+:102F30009C810E94A0AE882309F447C029813A8170
+:102F40004B815C81CA01B9010E94C7AD6B017C0154
+:102F5000C501B4010E9440AF9B01AC01C701B6019D
+:102F60000E9475B16B017C0129893A894B895C8982
+:102F7000CA01B9010E9475B19B01AC01C701B6013C
+:102F80000E94C6AD6B017C012D813E814F81588529
+:102F9000CA01B9010E9475B19B01AC01C701B6011C
+:102FA0000E94C7AD6B017C0120E030E040E850E4B6
+:102FB00069817A818B819C810E9475B19B01AC01F2
+:102FC000C701B6010E94A7AE03C060E070E0CB016C
+:102FD0000E948DAE0E940FAF2B013C0197FF03C0F2
+:102FE000412C512C3201481459046A047B0410F01E
+:102FF00024013501C12CD12C76018FB7F894F10151
+:10300000E45BFF4F9081911125C0D10154964D9200
+:103010005D926D927C925797C40CD51CE61CF71CF0
+:10302000F101C08ED18EE28EF38E29853A854B85D3
+:103030005C85DC962D933D934D935C93DF97A05C6C
+:10304000BF4F2D853E854F8558892D933D934D93D8
+:103050005C9313978FBF68960FB6F894DEBF0FBED0
+:10306000CDBFDF91CF911F910F91FF90EF90DF9037
+:10307000CF90BF90AF909F908F907F906F905F9018
+:103080004F903F902F9008954F925F926F927F9252
+:10309000AF92BF92CF92DF92EF92FF920F931F9366
+:1030A000CF93DF93EB017A01209709F458C04115C3
+:1030B000510509F454C0AAA4BBA40CA51DA59501F3
+:1030C000A8016EA17FA188A599A50E94A0AE882322
+:1030D00009F445C08FA981113AC0F70146A057A055
+:1030E00060A471A4A3019201B501C8010E94A3B01C
+:1030F00018166CF5A3019201C301B2010E9475B1CB
+:103100006B017C018AA99BA9ACA9BDA9BC01CD0119
+:1031100090589B01AC010E94C7AD2EA53FA548A9C0
+:1031200059A90E9475B19B01AC01C701B6010E946B
+:10313000C6AD0E94E2B16B017C019B01AC01B501FF
+:10314000C8010E94A0AE87FD02C056018701A501FB
+:10315000B8014EA35FA368A779A781E08EABDF918A
+:10316000CF911F910F91FF90EF90DF90CF90BF9084
+:10317000AF907F906F905F904F900895DF92EF92A5
+:10318000FF920F931F93CF93DF9380916D0E8FB7B4
+:10319000F894E0906C0E8FBF80916D0E90E08E19C8
+:1031A00091098F7099270497F4F010916D0E1350C8
+:1031B0001F7040E050E000E0F12C8DE4D82E1E1589
+:1031C00091F0111101C010E11150D19EE0011124C4
+:1031D000C259D14F602F7F2DCE0156DF402F5F2D7A
+:1031E0000C2FFD2EECCFDF91CF911F910F91FF900F
+:1031F000EF90DF9008954F925F926F927F92AF921F
+:10320000BF92CF92DF92EF92FF920F931F93CF93D3
+:10321000DF938C01EB01009709F453C0FC0187A9EF
+:1032200081114FC046A057A060A471A4AEA0BFA05A
+:10323000C8A4D9A49501A601C301B2010E94A0AE01
+:1032400087FF3FC0A3019201C301B2010E9475B183
+:103250002B013C01F80182A993A9A4A9B5A9BC013D
+:10326000CD0190589B01AC010E94C7ADF80126A585
+:1032700037A540A951A90E9475B19B01AC01C301BA
+:10328000B2010E94C6AD0E94E2B17B018C019B019C
+:10329000AC01B501C6010E94A0AE87FF02C0750156
+:1032A00086019701A801B501C6010E94A0AE88233E
+:1032B00041F0A701B8014EA35FA368A779A781E0F9
+:1032C0008EABDF91CF911F910F91FF90EF90DF9028
+:1032D000CF90BF90AF907F906F905F904F90089588
+:1032E000EF92FF920F931F93CF93DF93F0906C0EAA
+:1032F00000E010E080E090E02DE4E22E20916D0EE1
+:10330000F21689F0EF9CE0011124C259D14FAE01B1
+:10331000B80171DF81E08F0D803109F480E0F82E73
+:10332000C8018E01EBCF40E050E0B801DF91CF91B2
+:103330001F910F91FF90EF905ECF4F925F926F922F
+:103340007F928F929F92AF92BF92CF92DF92EF9235
+:10335000FF920F931F93CF93DF9390906C0EC0E07A
+:10336000D0E03DE4832E892D992787FD909520910B
+:103370006D0E30E082179307B9F1889E5001899E47
+:10338000B00C1124C5018259914F5C01209729F19D
+:103390008EA9811104C0F50186A98823F1F0CAA085
+:1033A000DBA0ECA0FDA0A7019601F50166A177A125
+:1033B00080A591A50E94A7AE2B013C01A701960113
+:1033C0006EA17FA188A599A50E94A7AEAB01BC0103
+:1033D00093018201CE0183DC1EAA9394F0E19F1237
+:1033E00001C0912CE501BFCF2097E9F0CAA0DBA076
+:1033F000ECA0FDA0A70196016DEC7CEC8CE49DE3B4
+:103400000E94A7AE4B015C01A70196016EA17FA1AE
+:1034100088A599A50E94A7AEAB01BC0195018401C6
+:10342000CE015DDC1EAADF91CF911F910F91FF901D
+:10343000EF90DF90CF90BF90AF909F908F907F9054
+:103440006F905F904F90089599DE4ADF76CF10928B
+:103450006D0E10926C0E80E1E5E5F3E1DF011D9247
+:103460008A95E9F71092451310924613109247136C
+:10347000109248131092491310924A1310924B1352
+:1034800010924C1310924D1310924E1310924F1332
+:103490001092501310925113109252131092531312
+:1034A000109254131092411310924213109243132E
+:1034B00010924413089560912E0A90916C0E8091A1
+:1034C0006D0E981781F080916C0E9DE4899FF0013C
+:1034D0001124EA54F14F608190916D0E891719F013
+:1034E0008F5F8F70F9CF70E088E00C9447A72F9220
+:1034F0003F924F925F926F927F928F929F92AF9284
+:10350000BF92CF92DF92EF92FF920F931F93CF93D0
+:10351000DF93CDB7DEB7CC56D1090FB6F894DEBF36
+:103520000FBECDBF3C015B014A012901E8A6F8AE00
+:1035300025960FAF25971CAF860120916D0E2F5F4A
+:1035400029962FAF2997203119F429961FAE299774
+:1035500029963FAD2997E32EFF24E7FCF094809154
+:103560006C0E90E08E159F0541F40E94721E80E063
+:103570000E9438490E949C76F2CF2091A11330918D
+:10358000A2134091A3135091A413D3016D917D9187
+:103590008D919C910E9475B10E9445B169966CAF66
+:1035A0007DAF8EAF9FAF69972091A5133091A61381
+:1035B0004091A7135091A813F50160817181828118
+:1035C00093810E9475B10E9445B16D966CAF7DAF3D
+:1035D0008EAF9FAF6D972091A9133091AA134091A0
+:1035E000AB135091AC13D4016D917D918D919C9151
+:1035F0000E9475B10E9445B1A1966CAF7DAF8EAFB0
+:103600009FAFA1972091AD133091AE134091AF13AE
+:103610005091B013F20160817181828193810E9487
+:1036200075B10E9445B124966CAF7DAF8EAF9FAF50
+:1036300024978091611390916213A0916313B091CC
+:10364000641324962CAD3DAD4EAD5FAD2497281785
+:1036500039074A075B0709F4ADC0E091300A34E04E
+:10366000E39FF0011124E05CF74F2091A20230911A
+:10367000A3024091A4025091A502608171818281D0
+:1036800093810E94A0AE87FF2FC024968CAD9DAD84
+:10369000AEADBFAD24978093611390936213A09356
+:1036A0006313B0936413EFE2FEE08491882341F04A
+:1036B0009091C00095FFFCCF8093C6003196F5CF66
+:1036C000ECE9FCE18491882341F09091C00095FFE2
+:1036D000FCCF8093C6003196F5CF8091C00085FF66
+:1036E000FCCF8AE08093C6008091611390916213B1
+:1036F000A0916313B091641324962CAD3DAD4EADF3
+:103700005FAD2497281B390B4A0B5B0BCA01B9012B
+:1037100057FF07C090958095709561957F4F8F4FAB
+:103720009F4F0E9442AF6B017C0120E030E04EECE5
+:1037300053E46091AD137091AE138091AF139091EB
+:10374000B0130E9475B19B01AC01C701B6010E9484
+:10375000A3B018167CF524968CAD9DADAEADBFAD73
+:1037600024978093611390936213A0936313B09393
+:103770006413EFE2FEE08491882341F09091C00051
+:1037800095FFFCCF8093C6003196F5CFEEE7FCE1C4
+:103790008491882341F09091C00095FFFCCF8093E5
+:1037A000C6003196F5CF8091C00085FFFCCF8AE03E
+:1037B0008093C60080916D0E9DE4899F10011124B5
+:1037C000D101A259B14F1D01FD01E45BFF4F1082F1
+:1037D000209155133091561340915713509158131F
+:1037E0002BA33CA34DA35EA369964CAC5DAC6EAC21
+:1037F0007FAC6997421A530A640A750A77FE08C0BB
+:103800007094609450944094411C511C611C711C34
+:10381000D1014D925D926D927C9213972091591334
+:1038200030915A1340915B1350915C132CAB3DAB1C
+:103830004EAB5FAB6D968CAC9DACAEACBFAC6D9738
+:10384000821A930AA40AB50AB7FE08C0B094A094DD
+:1038500090948094811C911CA11CB11CD1011496E0
+:103860008D929D92AD92BC92179720915D133091ED
+:103870005E1340915F13509160132CA73DA74EA794
+:103880005FA7A196CCACDDACEEACFFACA197C21AA1
+:10389000D30AE40AF50AF7FE08C0F094E094D09445
+:1038A000C094C11CD11CE11CF11CD1011896CD9211
+:1038B000DD92ED92FC921B9720916113309162137F
+:1038C000409163135091641328AB39AB4AAB5BABA7
+:1038D00024966CAD7DAD8EAD9FAD2497621B730BAE
+:1038E000840B950B97FF07C0909580957095619517
+:1038F0007F4F8F4F9F4F0E9442AFE091300A34E0DC
+:10390000E39FF0011124E15BFD4F20813181428171
+:1039100053810E9475B10E940FAF9B01AC01A09131
+:103920005B02B0915C020E94D2B224E630E040E03B
+:1039300050E00E94A0B2D1011C962D933D934D936F
+:103940005C931F97C814D904EA04FB0414F47501AE
+:103950006401C216D306E406F50614F469017A017F
+:10396000D301C2014C145D046E047F0414F4D7012A
+:10397000C601F101808B918BA28BB38B0697A105B9
+:10398000B10508F461C7E85BFF4F80912E0A909162
+:103990002F0AAA2797FDA095BA2F80839183A2832F
+:1039A000B38369962CAD3DAD4EAD5FAD69978BA1EC
+:1039B0009CA1ADA1BEA1281739074A075B0724F0D7
+:1039C000D10190961C9203C081E0F10180A36D9615
+:1039D0002CAD3DAD4EAD5FAD6D978CA99DA9AEA947
+:1039E000BFA9281739074A075B073CF4D101909615
+:1039F0008C919097826090968C93A1962CAD3DAD62
+:103A00004EAD5FADA1978CA59DA5AEA5BFA528170E
+:103A100039074A075B073CF4D10190968C91909747
+:103A2000846090968C9324962CAD3DAD4EAD5FADE9
+:103A3000249788A999A9AAA9BBA9281739074A07D1
+:103A40005B073CF4D10190968C919097886090969A
+:103A50008C93F8018081D10191968C93452846285A
+:103A6000472809F01798F10184819581A681B781D3
+:103A7000892B8A2B8B2B09F01698F1018085918573
+:103A8000A285B385892B8A2B8B2B09F01598F10120
+:103A900084859585A685B785892B8A2B8B2B69F123
+:103AA00080913E13882319F0815080933E138091BA
+:103AB0003F13882319F0815080933F138091401366
+:103AC000882319F0815080934013D8018C91813064
+:103AD00061F030F0823089F480E28093401308C0B6
+:103AE000149880E280933E1308C080E280933F13D5
+:103AF00080913E13811101C0149AD1011C962D9121
+:103B00003D914D915C911F972D962CAF3DAF4EAFDF
+:103B10005FAF2D97232B242B252B09F5B09175131F
+:103B2000BBA3E0917613EFA3109177130091781364
+:103B30002B2F3E2F412F502F68A578AD25968FADA6
+:103B400025979CAD0E94A0AE87FD16C0F8A5FBA3EB
+:103B500028AD2FA325961FAD25970CAD0DC0309134
+:103B60008D133BA340918E134FA310918F1300919F
+:103B70009013232F342FDECF80915513909156133D
+:103B8000A0915713B091581369962CAD3DAD4EAD31
+:103B90005FAD6997281B390B4A0B5B0BCA01B90152
+:103BA0000E9442AF2091A1133091A2134091A31320
+:103BB0005091A4130E94A7AE68A779A78AA79BA7D4
+:103BC000698B7A8B8B8B9C8B6D966CAD7DAD8EAD3E
+:103BD0009FAD6D972CA93DA94EA95FA9621B730BE0
+:103BE000840B950B0E9442AF2091A5133091A61330
+:103BF0004091A7135091A8130E94A7AE4B015C01FE
+:103C00006D8B7E8B8F8B988FA1966CAD7DAD8EADBD
+:103C10009FADA1972CA53DA54EA55FA5621B730B7B
+:103C2000840B950B0E9442AF2091A9133091AA13E7
+:103C30004091AB135091AC130E94A7AE6B017C0175
+:103C4000698F7A8F8B8F9C8F24966CAD7DAD8EADF6
+:103C50009FAD249728A939A94AA95BA9621B730BB8
+:103C6000840B950B0E9442AF2091AD133091AE139F
+:103C70004091AF135091B0130E94A7AEE091300A6B
+:103C800034E0E39FF0011124E15BFD4F208131819D
+:103C9000428153810E9475B12B013C0160915B020E
+:103CA00070915C02882777FD8095982F0E9442AF23
+:103CB0009B01AC01C301B2010E9475B120E030E06C
+:103CC00048EC52E40E94A7AE6D8F7E8F8F8F98A331
+:103CD000D1012D913D914D915C91139728AF39AF52
+:103CE0004AAF5BAF263031054105510504F5149606
+:103CF0004D905D906D907C901797B6E04B165104F7
+:103D000061047104A4F4F1014084518462847384D9
+:103D1000F6E04F165104610471044CF4DC01CB0150
+:103D2000BF77F10186A797A7A0ABB1AB27C068A565
+:103D300079A58AA59BA50E9420B22B013C01C50153
+:103D4000B4010E9420B29B01AC01C301B2010E94E8
+:103D5000C7AD4B015C01C701B6010E9420B29B01B7
+:103D6000AC01C501B4010E94C7AD0E94E2B1D1010E
+:103D70009E966D937D938D939C93D197D1019E9642
+:103D80002D913D914D915C91D19728962CAF3DAFEF
+:103D90004EAF5FAF289760E070E080E89FE30E943D
+:103DA000A7AE9B01AC016BA17FA1812F902F0E9438
+:103DB00075B12B013C0190916D0E80916C0EE92F35
+:103DC000F0E0E81BF109EF70FF27FDABECABA301BE
+:103DD000920160E074E284E799E40E94A7AE0E9439
+:103DE00045B16B017C012CA93DA9223031050CF4B1
+:103DF00042C04901AA2497FCA094BA2CC501B40181
+:103E00000E9442AF20E030E040E051E40E94A0AECA
+:103E100087FF31C08091C1139091C213A091C31349
+:103E2000B091C413C816D906EA06FB0620F5BC01FA
+:103E3000CD016C197D098E099F09660F771F881FB8
+:103E4000991FA50194010E947EB2CA01B9010E9486
+:103E500040AF0E9445B16C0D7D1D8E1D9F1D0E94BF
+:103E600040AF9B01AC0160E074E284E799E40E94FA
+:103E7000A7AE2B013C01A301920128966CAD7DAD4C
+:103E80008EAD9FAD28970E9475B16CAF7DAF8EAFA0
+:103E90009FAFD10192966D937D938D939C9395974F
+:103EA00050966D917D918D919C9153970E9440AF5A
+:103EB0006BA37CA38DA39EA3A30192010E9475B165
+:103EC0000E948DAE0E9414AF6B017C01F10160AFC6
+:103ED00071AF82AF93AF8E010F5E1F4F21EB33E1C5
+:103EE00065963FAF2EAF6597AE014F5D5F4F5AA30A
+:103EF00049A3CE01019663969FAF8EAF63971FA231
+:103F00001CA690E898ABAFE3A8A7F8016191719166
+:103F1000819191918F01A30192010E9475B16396E5
+:103F2000AEADBFAD63976D937D938D939D93639677
+:103F3000BFAFAEAF63979B01AC015F7761962CAFCB
+:103F40003DAF4EAF5FAF61976596AEADBFAD6597C4
+:103F50008D909D90AD90BD906596BFAFAEAF6597CB
+:103F6000A501940161966CAD7DAD8EAD9FAD61975D
+:103F70000E94A3B01816F4F461962CAD3DAD4EAD81
+:103F80005FAD6197C501B4010E94A7AEB62EA72E02
+:103F9000982E892E262F372F482F592F6FA17CA5B9
+:103FA00088A998A50E94A0AE87FD04C0BFA2ACA6B8
+:103FB00098AA88A6E9A1FAA10E171F0709F0A5CFB4
+:103FC00020E030E040E85FE36FA17CA588A998A5D8
+:103FD0000E94A0AE87FF3DC05E01F1E1AF0EB11CB3
+:103FE0008E010F5F1F4F2FA13CA548A958A5D801EE
+:103FF0006D917D918D919C910E9475B1F8016193B5
+:104000007193819391938F01EA15FB0561F72FA1BD
+:104010003CA548A958A56CAD7DAD8EAD9FAD0E9465
+:1040200075B1D10192966D937D938D939C939597E5
+:10403000C701B6010E9440AF2FA13CA548A958A5D1
+:104040000E9475B10E9414AFF10160AF71AF82AFF1
+:1040500093AF28962CAD3DAD4EAD5FAD28976BA1CB
+:104060007CA18DA19EA10E94A7AE6B017C0128AD11
+:1040700039AD4AAD5BAD232B242B252B59F5F1012E
+:1040800084819581A681B781892B8A2B8B2B11F591
+:1040900080859185A285B385892B8A2B8B2BD1F4C2
+:1040A0002091851330918613409187135091881386
+:1040B000C701B6010E9475B10E948DAE81010C5BF3
+:1040C0001F4F0E9414AFD8016D937D938D939C93E5
+:1040D0001397F6C02091891330918A1340918B1366
+:1040E00050918C13C701B6010E9475B10E948DAE2C
+:1040F0000E9414AF81010C5B1F4FF8016083718334
+:104100008283938340906513509066136090671389
+:10411000709068130E9440AF4B015C0168AD79ADAF
+:104120008AAD9BAD0E9442AF9B01AC01C501B401B9
+:104130000E9475B12BA13CA14DA15EA10E94A7AE2A
+:104140004B015C01C301B2010E9440AF9B01AC0175
+:10415000C501B4010E94A3B0181634F4D8014D92E1
+:104160005D926D927C9213974090691350906A1300
+:1041700060906B1370906C13F80160817181828183
+:1041800093810E9440AF4B015C01D10114966D9167
+:104190007D918D919C9117970E9442AF9B01AC013C
+:1041A000C501B4010E9475B12BA13CA14DA15EA136
+:1041B0000E94A7AE4B015C01C301B2010E9440AF57
+:1041C0009B01AC01C501B4010E94A3B018162CF4E8
+:1041D000F801408251826282738240907113509044
+:1041E0007213609073137090741381010C5B1F4FF6
+:1041F000D8016D917D918D919C910E9440AF4B01B2
+:104200005C012D966CAD7DAD8EAD9FAD2D970E945E
+:1042100042AF9B01AC01C501B4010E9475B12BA155
+:104220003CA14DA15EA10E94A7AE4B015C01C30160
+:10423000B2010E9440AF9B01AC01C501B4010E94D4
+:10424000A3B018162CF4F801408251826282738266
+:1042500040906D1350906E1360906F1370907013B8
+:10426000D8016D917D918D919C910E9440AF4B0141
+:104270005C01F10160857185828593850E9442AF62
+:104280009B01AC01C501B4010E9475B12BA13CA1F9
+:104290004DA15EA10E94A7AE4B015C01C301B2011A
+:1042A0000E9440AF9B01AC01C501B4010E94A3B0C4
+:1042B000181634F4D8014D925D926D927C9213974A
+:1042C000F101EC5BFF4F60817181828193810E94DB
+:1042D00040AF4B015C01A70196010E94A7AEA596D5
+:1042E0006CAF7DAF8EAF9FAFA597F10162AB73ABA3
+:1042F00084AB95AB2DEB37E346E051E4C501B40147
+:104300000E9475B10E940FAFD1015C966D937D93B1
+:104310008D939C935F97C0908113D0908213E0900F
+:104320008313F090841320E030E040E05FE3C701A6
+:10433000B6010E9475B16BA37FA38C0129853A85D4
+:104340004B855C85A9962CAF3DAF4EAF5FAFA9976B
+:1043500080917D1390917E13A0917F13B091801373
+:104360008CAF9DAFAEAFBFAF20E030E040E05FE389
+:10437000BC01CD010E9475B1B62EA72E982E892EB4
+:10438000A9966CAD7DAD8EAD9FADA9979F772B2D76
+:104390003A2D492D582D0E94A3B018167CF42B2DD0
+:1043A0003A2D492D582D6BA17FA1C8010E94A0AEC6
+:1043B00087FD04C0BBA2AFA2092D182D2D853E8517
+:1043C0004F855889AD962CAF3DAF4EAF5FAFAD97DF
+:1043D0008091791390917A13A0917B13B0917C1303
+:1043E0002D968CAF9DAFAEAFBFAF2D9720E030E0E4
+:1043F00040E05FE3BC01CD010E9475B1B62EA72E4F
+:10440000982E892EAD966CAD7DAD8EAD9FADAD97DE
+:104410009F772B2D3A2D492D582D0E94A3B01816A9
+:104420007CF42B2D3A2D492D582D6BA17FA1C8016D
+:104430000E94A0AE87FD04C0BBA2AFA2092D182D1B
+:10444000D1019296BC91BCA7F101F3A1F8ABD101C7
+:104450009496BC91B8A7F101F5A1F8AF2CA538A9A5
+:104460004B2F5F2F6BA17FA1C8010E94A0AE87FDDB
+:1044700006C02CA52BA338A93FA308A518AD4CA9AD
+:104480005DA9423051050CF405C1509141135CAB5C
+:10449000809142132E968FAF2E9790914313629680
+:1044A0009FAF6297A09144136496AFAF649727E1E2
+:1044B00037EB41ED58E36CA9782F892F9A2F0E9492
+:1044C000A3B018160CF0E6C02091451330914613A6
+:1044D000409147135091481369817A818B819C8167
+:1044E0000E94C6AD2B013C012091491330914A1323
+:1044F00040914B1350914C136D817E818F81988533
+:104500000E94C6AD4B015C01A3019201C301B2013F
+:104510000E9475B12B013C01A5019401C501B401B4
+:104520000E9475B19B01AC01C301B2010E94C7ADED
+:104530000E94E2B14B015C01A70196010E94A3B069
+:1045400018164CF4A5019401C701B6010E94A7AE4C
+:104550005B014C0106C0A12CB12C40E8842E5FE326
+:10456000952E20914D1330914E1340914F13509141
+:104570005013A9966CAD7DAD8EAD9FADA9970E94ED
+:10458000C6AD6B017C01E894F7F82CAD3DAD4EADA6
+:104590005FADC701B6010E94A3B01816D4F4A701FD
+:1045A00096016CAD7DAD8EAD9FAD0E94A7AEF62E8F
+:1045B000E72ED82EC92E262F372F482F592FB50179
+:1045C000C4010E94A0AE87FD04C0AF2CBE2C8D2C70
+:1045D0009C2C2091511330915213409153135091C0
+:1045E0005413AD966CAD7DAD8EAD9FADAD970E9471
+:1045F000C6AD6B017C01E894F7F82D962CAD3DAD6E
+:104600004EAD5FAD2D97C701B6010E94A3B018163D
+:10461000E4F4A70196012D966CAD7DAD8EAD9FADF6
+:104620002D970E94A7AEF62EE72ED82EC92E262F44
+:10463000372F482F592FB501C4010E94A0AE87FD26
+:1046400004C0AF2CBE2C8D2C9C2C9501A4016CA514
+:1046500078A988A598AD0E9475B14B015C019B01BA
+:10466000AC016CA92E967FAD2E9762968FAD6297A6
+:1046700064969FAD64970E94A0AE87FF0EC08CA881
+:104680002E969FAC2E976296AFAC62976496BFACA5
+:10469000649703C08BA09FA05801C401D501F1010C
+:1046A00082A793A7A4A7B5A7A5966CAD7DAD8EAD47
+:1046B0009FADA59790589B01AC010E94C7AD28966D
+:1046C0002CAD3DAD4EAD5FAD28970E9475B19B01FD
+:1046D000AC016BE077ED83E29BE30E94C6AD0E94E4
+:1046E000E2B17B01D82EC92E9B01482F592FB4016E
+:1046F000C5010E94A0AE87FD03C04701AD2CBC2CB4
+:10470000C401D501F10186A397A3A0A7B1A7970182
+:104710004D2D5C2D6CA578A988A598AD0E94A0AE02
+:1047200018162CF081E0D101D7968C9302C0F101CC
+:1047300017AA81E0D101D6968C9380E1FE013196D3
+:10474000A5E4B3E101900D928A95E1F78CA598A9B3
+:10475000A8A5B8AD8093411390934213A09343133F
+:10476000B09344139C01AD016BA17FA1C8010E94CD
+:10477000A7AE6B017C012CA538A948A558ADB401A2
+:10478000C5010E94A7AEAB01BC0197018601C10122
+:104790000E946F962996BFAD2997B0936D0E6996CA
+:1047A0002CAD3DAD4EAD5FAD699720935513309361
+:1047B000561340935713509358136D968CAD9DAD7F
+:1047C000AEADBFAD6D978093591390935A13A093DC
+:1047D0005B13B0935C13A1962CAD3DAD4EAD5FADB8
+:1047E000A19720935D1330935E1340935F13509312
+:1047F000601324968CAD9DADAEADBFAD2497809374
+:10480000611390936213A0936313B09364130E9497
+:10481000249AC459DF4F0FB6F894DEBF0FBECDBF48
+:10482000DF91CF911F910F91FF90EF90DF90CF908C
+:10483000BF90AF909F908F907F906F905F904F90C0
+:104840003F902F900C94F48BC459DF4F0FB6F8941F
+:10485000DEBF0FBECDBFDF91CF911F910F91FF90B3
+:10486000EF90DF90CF90BF90AF909F908F907F9010
+:104870006F905F904F903F902F900895EF92FF922E
+:104880000F931F93CF93DF937B018A01E90120915E
+:10489000A1133091A2134091A3135091A413FC01D2
+:1048A00060817181828193810E9475B10E9445B1BE
+:1048B0006093551370935613809357139093581326
+:1048C0002091A5133091A6134091A7135091A813DE
+:1048D000F70160817181828193810E9475B10E948C
+:1048E00045B16093591370935A1380935B1390935F
+:1048F0005C132091A9133091AA134091AB135091EE
+:10490000AC13F80160817181828193810E9475B13D
+:104910000E9445B160935D1370935E1380935F13A3
+:10492000909360132091AD133091AE134091AF136B
+:104930005091B013688179818A819B810E9475B101
+:104940000E9445B160936113709362138093631367
+:104950009093641321E633E14DE553E169E573E19A
+:1049600085E593E10E944C931092411310924213FB
+:104970001092431310924413109245131092461351
+:1049800010924713109248131092491310924A1331
+:1049900010924B1310924C1310924D1310924E1311
+:1049A00010924F13109250131092511310925213F1
+:1049B0001092531310925413DF91CF911F910F91C6
+:1049C000FF90EF9008952091AD133091AE13409178
+:1049D000AF135091B013FC0160817181828193818A
+:1049E0000E9475B10E9445B1609361137093621388
+:1049F000809363139093641381E693E10C948893FE
+:104A000080916D0E90916C0E891B8F70089560934C
+:104A1000A2027093A3028093A4029093A50208952A
+:104A2000CF92DF92EF92FF920F931F93CF93DF937A
+:104A300000D01F92CDB7DEB7F1E9CF2EF3E1DF2E24
+:104A4000A1EAEA2EA3E1FA2E05E613E1F60161914F
+:104A50007191819191916F01F70121913191419172
+:104A600051917F0129833A834B835C830E9440AF3D
+:104A700029813A814B815C810E9475B10E9414AFFB
+:104A8000F80161937193819391938F01F1EACF16AD
+:104A9000F3E1DF06D9F60F900F900F900F90DF91A2
+:104AA000CF911F910F91FF90EF90DF90CF900895DD
+:104AB0008091F41390E02091F513821B91090895E1
+:104AC0002091F5138091F413281750F4E22FF0E0B1
+:104AD000EA50FC4E808190E02F5F2093F5130895FB
+:104AE0008FEF9FEF0895E091F5138091F413E8178D
+:104AF00030F4F0E0EA50FC4E808190E008958FEFB2
+:104B00009FEF08950895CF92DF92EF92FF920F9357
+:104B10001F93CF93DF937C01CB018A012091D113A6
+:104B2000222389F0EB016B01C40ED51ECC15DD05E7
+:104B300061F06991D701ED91FC910190F081E02D38
+:104B4000C7011995F3CF642F4BD0C801DF91CF91E6
+:104B50001F910F91FF90EF90DF90CF900895CF932A
+:104B6000DF931F92CDB7DEB769832091D113222343
+:104B7000D1F02091D213203240F021E030E0FC014E
+:104B80003383228380E090E014C08091D313E82F18
+:104B9000F0E0EC52FC4E998190838F5F8093D313A9
+:104BA0008093D21304C061E0CE01019619D081E058
+:104BB00090E00F90DF91CF910895FC011382128253
+:104BC00048EE53E060E070E044835583668377836A
+:104BD00086ED95E091838083089585EC93E1EDCF98
+:104BE000613298F420918314243089F4609338144E
+:104BF000FC018AE394E1DC012A2F281B261718F414
+:104C000021912D93F9CF80E0089581E0089582E00D
+:104C1000089585ED8093BC008091BC0084FDFCCF9D
+:104C200010928314089585EC8093BC001092831435
+:104C300008951F920F920FB60F9211240BB60F9288
+:104C40002F933F934F935F936F937F938F939F9394
+:104C5000AF93BF93EF93FF938091B900887F803625
+:104C600009F49CC068F5883209F45BC090F4803187
+:104C700009F454C038F4882309F4F3C0883009F4E7
+:104C80004DC0F2C0883109F44CC0803209F45DC0D7
+:104C9000EBC0803409F468C048F4803309F455C08F
+:104CA000883309F0E1C080931614A7C0803509F459
+:104CB0004FC0883509F45DC0883409F0D5C0D3C031
+:104CC000883909F4C4C0A8F4883709F467C038F4F7
+:104CD000883609F463C0803709F460C0C5C08838DD
+:104CE00009F4B5C0803909F45FC0803809F0BCC050
+:104CF0005BC0803B09F483C038F4803A09F466C095
+:104D0000883A09F47CC0B0C0803C09F4A4C0883C57
+:104D100009F4A1C0883B09F487C0A6C08091821421
+:104D200010C090915B1480915A14981770F5E0911F
+:104D30005B1481E08E0F80935B14F0E0E45AFB4E2D
+:104D400080818093BB0085EC83C0809316148BC058
+:104D5000E0915B1481E08E0F80935B148091BB0027
+:104D6000F0E0E45AFB4E808390915B1480915A14DA
+:104D70006BC0E0915B1481E08E0F80935B14809197
+:104D8000BB00F0E0E45AFB4E8083809181148111D6
+:104D90006AC081E08093801484EA5EC083E08093DF
+:104DA000831410921714CFCF80911714803208F01B
+:104DB0004EC0E091171481E08E0F809317148091FC
+:104DC000BB00F0E0E85EFB4E8083BDCF80911714FE
+:104DD000803230F4E0911714F0E0E85EFB4E108270
+:104DE00018DF6091171470E0E0917C14F0917D144D
+:104DF00088E194E119951092171415DF35C084E00D
+:104E0000809383141092391410923814E0917E1418
+:104E1000F0917F14199580913814811105C081E0BB
+:104E20008093381410923A14E091391481E08E0F77
+:104E300080933914F0E0E65CFB4E80818093BB00E8
+:104E40009091391480913814981708F47CCF85E834
+:104E50008093BC0009C085EC8093BC001092831441
+:104E600003C010921614D5DEFF91EF91BF91AF9160
+:104E70009F918F917F916F915F914F913F912F9172
+:104E80000F900BBE0F900FBE0F901F9018951F93A1
+:104E9000CF93DF93182FEB0161E003D1209711F43A
+:104EA00060E004C0CF3FD10531F461E0812FDF9194
+:104EB000CF911F912FC1E12FF0E0EA54F34E4491BE
+:104EC00050E0FA013197E131F10508F091C0E35863
+:104ED000FF4F0C94BCB284B5806884BDC7BD8DC043
+:104EE00084B5806284BDC8BD88C080918000806820
+:104EF00080938000D0938900C09388007EC0809109
+:104F00008000806280938000D0938B00C0938A00E1
+:104F100074C08091B00080688093B000C093B300EB
+:104F20006CC08091B00080628093B000C093B400E8
+:104F300064C080919000806880939000D093990025
+:104F4000C09398005AC08091900080628093900036
+:104F5000D0939B00C0939A0050C0809190008860CD
+:104F600080939000D0939D00C0939C0046C0809198
+:104F7000A00080688093A0008091A0008F7B809328
+:104F8000A000D093A900C093A80037C08091A000D2
+:104F900080628093A000D093AB00C093AA002DC084
+:104FA0008091A00088608093A000D093AD00C09352
+:104FB000AC0023C080912001806880932001D093B1
+:104FC0002901C093280119C080912001806280933B
+:104FD0002001D0932B01C0932A010FC080912001A2
+:104FE000886080932001D0932D01C0932C0105C0CF
+:104FF000C038D1050CF059CF53CFDF91CF911F911D
+:10500000089590E0FC013197E131F10508F048C0C6
+:10501000E257FF4F0C94BCB2809180008F7703C0A1
+:10502000809180008F7D80938000089584B58F7774
+:1050300002C084B58F7D84BD08958091B0008F77C4
+:1050400003C08091B0008F7D8093B000089580915F
+:1050500090008F7707C0809190008F7D03C0809172
+:105060009000877F8093900008958091A0008F77B3
+:1050700007C08091A0008F7D03C08091A000877F32
+:105080008093A0000895809120018F7707C08091C0
+:1050900020018F7D03C080912001877F80932001B4
+:1050A0000895CF93DF9390E0FC01E45FF24E2491EA
+:1050B000FC01EE59F24E8491882349F190E0880F6B
+:1050C000991FFC01E451F24EA591B4918E52924E7B
+:1050D000FC01C591D4919FB7611108C0F8948C91DF
+:1050E000209582238C93888182230AC0623051F4F8
+:1050F000F8948C91322F309583238C938881822B66
+:10510000888304C0F8948C91822B8C939FBFDF918D
+:10511000CF9108950F931F93CF93DF931F92CDB735
+:10512000DEB7282F30E0F901EA54F34E8491F901FB
+:10513000E45FF24E1491F901EE59F24E049100230E
+:10514000C1F0882319F069835CDF6981E02FF0E00A
+:10515000EE0FFF1FEE52F24EA591B4919FB7F89457
+:105160008C91611103C01095812301C0812B8C9318
+:105170009FBF0F90DF91CF911F910F910895CF9313
+:10518000DF93282F30E0F901EA54F34E8491F901BE
+:10519000E45FF24ED491F901EE59F24EC491CC2362
+:1051A00089F081112EDFEC2FF0E0EE0FFF1FE854A5
+:1051B000F24EA591B4912C912D2381E090E021F441
+:1051C00080E002C080E090E0DF91CF9108951F92CF
+:1051D0000F920FB60F9211242F933F938F939F93AB
+:1051E000AF93BF938091851490918614A0918714FA
+:1051F000B09188143091841423E0230F2D3720F4CC
+:105200000196A11DB11D05C026E8230F0296A11D20
+:10521000B11D209384148093851490938614A093D9
+:105220008714B09388148091891490918A14A09166
+:105230008B14B0918C140196A11DB11D809389141B
+:1052400090938A14A0938B14B0938C14BF91AF9158
+:105250009F918F913F912F910F900FBE0F901F90B4
+:1052600018952FB7F89460918514709186148091E9
+:105270008714909188142FBF08953FB7F8948091B8
+:10528000891490918A14A0918B14B0918C1426B536
+:10529000A89B05C02F3F19F00196A11DB11D3FBF6E
+:1052A0006627782F892F9A2F620F711D811D911DFE
+:1052B00042E0660F771F881F991F4A95D1F708951E
+:1052C000CF92DF92EF92FF92CF93DF936B017C013D
+:1052D000D4DFEB01C114D104E104F10471F0CDDF9E
+:1052E0006C1B7D0B683E7340A8F381E0C81AD1089F
+:1052F000E108F108C851DC4FEDCFDF91CF91FF906D
+:10530000EF90DF90CF9008950197009739F0880FC4
+:10531000991F880F991F02970197F1F708957894C4
+:1053200084B5826084BD84B5816084BD85B58260AA
+:1053300085BD85B5816085BDEEE6F0E08081816048
+:105340008083E1E8F0E01082808182608083808148
+:1053500081608083E0E8F0E0808181608083E1EB20
+:10536000F0E0808184608083E0EBF0E08081816008
+:105370008083E1E9F0E080818260808380818160C8
+:105380008083E0E9F0E0808181608083E1EAF0E001
+:10539000808182608083808181608083E0EAF0E0A8
+:1053A000808181608083E1E2F1E08081826080839E
+:1053B000808181608083E0E2F1E080818160808390
+:1053C000EAE7F0E08081846080838081826080836E
+:1053D0008081816080838081806880831092C10099
+:1053E00008959DDF0E94A93EC0E0D0E00E94C862FF
+:1053F0002097E1F30E940000F9CF3F924F925F9215
+:105400006F927F928F929F92AF92BF92CF92DF92D4
+:10541000EF92FF920F931F93CF93DF9300D01F92D1
+:10542000CDB7DEB78B0129013A019091A6029817FA
+:1054300021F09F3F09F0ABC204C0E6E0FEE13490EA
+:1054400004C18093A602E6E0FEE1E491EF3F09F497
+:105450009EC2E23009F480C074F5EE2309F45BC00B
+:10546000E13009F0F1C0109280001092810090911B
+:105470008100986090938100909181009160909359
+:105480008100282F30E0F901EE59F24EE491F0E06E
+:10549000EE0FFF1FEE52F24E459154915093AB1414
+:1054A0004093AA14F901E45FF24E24912093A914C9
+:1054B00033243394CCC0E43009F49EC00CF474C09F
+:1054C000E53009F0C1C010922001109221019091A5
+:1054D0002101986090932101909121019160909316
+:1054E0002101282F30E0F901EE59F24EE491F0E06D
+:1054F000EE0FFF1FEE52F24E4591549150938F14D0
+:1055000040938E14F901E45FF24E249120938D14A0
+:1055100055E0352E9CC014BC15BC94B5926094BD6A
+:1055200095B5916095BD282F30E0F901EE59F24E06
+:10553000E491F0E0EE0FFF1FEE52F24E45915491D0
+:105540005093B2144093B114F901E45FF24E2491E8
+:105550002093B014312C7BC01092B0001092B10097
+:105560009091B00092609093B0009091B1009160E2
+:105570009093B100282F30E0F901EE59F24EE491FA
+:10558000F0E0EE0FFF1FEE52F24E45915491509312
+:10559000A4144093A314F901E45FF24E24912093E4
+:1055A000A21422E0322E53C010929000109291006B
+:1055B00090919100986090939100909191009160EA
+:1055C00090939100282F30E0F901EE59F24EE491CA
+:1055D000F0E0EE0FFF1FEE52F24E459154915093C2
+:1055E0009D1440939C14F901E45FF24E24912093A2
+:1055F0009B14B3E03B2E2BC01092A0001092A10090
+:105600009091A10098609093A1009091A100916069
+:105610009093A100282F30E0F901EE59F24EE49169
+:10562000F0E0EE0FFF1FEE52F24E45915491509371
+:10563000961440939514F901E45FF24E249120935F
+:10564000941474E0372E03C03E2E37FCA0C161E0F5
+:1056500028DD4801A12CB12C832D8D7F09F0BAC023
+:1056600060E072E18AE790E0A501940169D729839F
+:105670003A834B835C8369017A0181E0C81AD108BF
+:10568000E108F1089FEFC916D104E104F10409F023
+:1056900008F495C060E472E48FE090E0A501940105
+:1056A0004FD769017A01E1E0CE1AD108E108F1088B
+:1056B000F2E03F1218C08FEFC816D104E104F104E4
+:1056C00009F008F483C060E970ED83E090E0A50183
+:1056D000940136D769017A0191E0C91AD108E1082D
+:1056E000F10883E001C082E0EFEFCE16D104E104BF
+:1056F000F10409F008F464C068E478EE81E090E019
+:10570000A50194011DD769017A01F1E0CF1AD108F2
+:10571000E108F1083320D9F082E038121AC09FEF77
+:10572000C916D104E104F10409F008F42EC164E2C1
+:1057300074EF80E090E0A501940102D769017A013D
+:10574000E1E0CE1AD108E108F10885E003C083E06A
+:1057500001C084E0FFEFCF16D104E104F10481F130
+:1057600078F162E17AE780E090E0A5019401E8D663
+:1057700069017A0181E0C81AD108E108F108311005
+:1057800002C084E001C086E09FEFC916D104E104A5
+:10579000F104B1F0A8F0C980DA80EB80FC809AE0D7
+:1057A000F594E794D794C7949A95D1F7E1E0CE1A8F
+:1057B000D108E108F108332031F087E008C081E02A
+:1057C000332011F004C085E085BD50C082E0809395
+:1057D000B1004CC060E072E18AE790E0A50194015D
+:1057E000AFD669017A01F1E0CF1AD108E108F108DA
+:1057F000C114D10481E0E806F10480F068E478EE99
+:1058000081E090E0A50194019BD669017A0191E0C5
+:10581000C91AD108E108F10893E001C091E0E1E084
+:105820003E1207C080918100887F892B8093810080
+:105830001DC0F3E03F1207C080919100887F892B43
+:105840008093910013C084E0381207C08091A100BA
+:10585000887F892B8093A10009C0E5E03E1206C035
+:1058600080912101887F892B80932101411451046B
+:105870006104710461F0D801AA0FBB1FA30192015A
+:1058800087D628EE33E040E050E038D603C02FEF53
+:105890003FEFA901F2E03F1609F443C0F315BCF055
+:1058A000332081F181E0381272C0D0928900C09219
+:1058B00088002093AC143093AD144093AE145093F1
+:1058C000AF1480916F00826080936F0060C094E09D
+:1058D000391609F448C03916A4F1E5E03E1257C064
+:1058E000D0922901C09228012093901430939114F2
+:1058F000409392145093931480917300826080932C
+:10590000730045C0C7BC2093B3143093B4144093C4
+:10591000B5145093B61480916E00826080936E002F
+:1059200036C0C092B3002093A5143093A6144093C0
+:10593000A7145093A8148091700082608093700027
+:1059400026C0D0929900C092980020939E14309364
+:105950009F144093A0145093A11480917100826011
+:105960008093710014C0D092A900C092A800209327
+:105970009714309398144093991450939A148091EB
+:10598000720082608093720002C084E020CF0F908A
+:105990000F900F900F90DF91CF911F910F91FF907B
+:1059A000EF90DF90CF90BF90AF909F908F907F90BF
+:1059B0006F905F904F903F9008958230A9F028F447
+:1059C000882349F0813051F00895843009F1E8F0DE
+:1059D000853009F1089510926E00089580916F004E
+:1059E0008D7F80936F000895809170008D7F8093EC
+:1059F000700081E08093B0008091B100887F846066
+:105A00008093B1001092B300089510927100089530
+:105A1000109272000895109273000895CF93C82FCA
+:105A20008091A6028C1307C0E6E0FEE184919FEF0F
+:105A30009093A60201C08FEFC0DF60E08C2FCF9162
+:105A400069CB1F920F920FB60F9211240BB60F92D3
+:105A50002F933F934F935F936F937F938F939F9376
+:105A6000AF93BF93EF93FF938091A5149091A614E9
+:105A7000A091A714B091A814892B8A2B8B2B51F1DC
+:105A80009091A214E091A314F091A414808189272D
+:105A900080838091A5149091A614A091A714B09131
+:105AA000A814181619061A061B06BCF48091A51432
+:105AB0009091A614A091A714B091A8140197A109E0
+:105AC000B1098093A5149093A614A093A714B09342
+:105AD000A81403C08091A602A1DFFF91EF91BF91AE
+:105AE000AF919F918F917F916F915F914F913F9176
+:105AF0002F910F900BBE0F900FBE0F901F90189517
+:105B0000CF92DF92EF92FF920F931F93CF93DF9389
+:105B10006C017A01EB01E60EF71E00E010E0CE15F5
+:105B2000DF0561F06991D601ED91FC910190F08162
+:105B3000E02DC6011995080F191FF1CFC801DF919B
+:105B4000CF911F910F91FF90EF90DF90CF9008952C
+:105B50006115710581F0DB010D900020E9F7AD01C1
+:105B600041505109461B570BDC01ED91FC9102801D
+:105B7000F381E02D199480E090E00895E9CFDC01F5
+:105B8000ED91FC910190F081E02D19945058BB27C4
+:105B9000AA270ED076C23FD230F044D220F031F4A2
+:105BA0009F3F11F41EF40FC20EF4E095E7FBDCC139
+:105BB000E92F89D280F3BA17620773078407950724
+:105BC00018F071F49EF5B8C20EF4E0950B2EBA2FC2
+:105BD000A02D0B01B90190010C01CA01A0011124F3
+:105BE000FF27591B99F0593F50F4503E68F11A169F
+:105BF000F040A22F232F342F4427585FF3CF469530
+:105C000037952795A795F0405395C9F77EF41F1651
+:105C1000BA0B620B730B840BBAF09150A1F0FF0F1B
+:105C2000BB1F661F771F881FC2F70EC0BA0F621F07
+:105C3000731F841F48F4879577956795B795F795F7
+:105C40009E3F08F0B3CF9395880F08F09927EE0F89
+:105C5000979587950895DFD158F080E891E009F491
+:105C60009EEFE0D128F040E851E059F45EEF09C022
+:105C7000AAC162C2E92FE07826D268F3092E052A6C
+:105C8000C1F3261737074807590738F00E2E07F8D3
+:105C9000E02569F0E025E0640AC0EF6307F80094AE
+:105CA00007FADB01B9019D01DC01CA01AD01EF93E7
+:105CB0005DD0E7D10AD05F91552331F02BED3FE065
+:105CC00049E450FD49EC63CF0895DF93DD27B92FF8
+:105CD000BF7740E85FE31616170648075B0710F426
+:105CE000D92F96D29F938F937F936F93A9D3EEE38F
+:105CF000F1E06CD1C6D12F913F914F915F9101D3CB
+:105D0000DD2349F09058A2EA2AED3FE049EC5FE339
+:105D1000D0785D274DDFDF91B4C1F7D180F09F3798
+:105D200040F491110EF409C260E070E080E89FE356
+:105D3000089526F01B16611D711D811D1BC135C103
+:105D4000EFD008F481E0089575D1E395ABC10CD094
+:105D500098C168D140F05FD130F021F45F3F19F075
+:105D600003C15111EAC12FC1AED198F39923C9F3F0
+:105D70005523B1F3951B550BBB27AA276217730751
+:105D8000840738F09F5F5F4F220F331F441FAA1F05
+:105D9000A9F333D00E2E3AF0E0E830D091505040C5
+:105DA000E695001CCAF729D0FE2F27D0660F771F73
+:105DB000881FBB1F261737074807AB07B0E809F055
+:105DC000BB0B802DBF01FF2793585F4F2AF09E3FEA
+:105DD000510568F0C9C0B1C15F3FECF3983EDCF3F8
+:105DE000869577956795B795F7959F5FC9F7880F63
+:105DF000911D9695879597F90895E1E0660F771FB5
+:105E0000881FBB1F621773078407BA0720F0621B45
+:105E1000730B840BBA0BEE1F88F7E095089504D03E
+:105E20006894B1118AC1089556D188F09F5790F0B7
+:105E3000B92F9927B751A0F0D1F0660F771F881FAF
+:105E4000991F1AF0BA95C9F712C0B13081F074D118
+:105E5000B1E0089571C1672F782F8827B85F39F0B6
+:105E6000B93FCCF3869577956795B395D9F73EF40E
+:105E700090958095709561957F4F8F4F9F4F0895B6
+:105E8000E89409C097FB3EF49095809570956195D4
+:105E90007F4F8F4F9F4F9923A9F0F92F96E9BB278A
+:105EA0009395F695879577956795B795F111F8CF06
+:105EB000FAF4BB0F11F460FF1BC06F5F7F4F8F4F71
+:105EC0009F4F16C0882311F096E911C0772321F067
+:105ED0009EE8872F762F05C0662371F096E8862FFF
+:105EE00070E060E02AF09A95660F771F881FDAF756
+:105EF000880F9695879597F9089507D180F09F3779
+:105F000040F491110EF019C160E070E080E89FEB61
+:105F1000089526F41B16611D711D811D2BC045C0FF
+:105F2000990F0008550FAA0BE0E8FEEF16161706AA
+:105F3000E807F907C0F012161306E407F50798F012
+:105F4000621B730B840B950B39F40A2661F0232B2B
+:105F5000242B252B21F408950A2609F4A140A695A7
+:105F60008FEF811D811D089597F99F6780E870E08C
+:105F700060E00895882371F4772321F09850872BEF
+:105F8000762F07C0662311F499270DC09051862BF8
+:105F900070E060E02AF09A95660F771F881FDAF7A5
+:105FA000880F9695879597F908959F3F31F0915006
+:105FB00020F4879577956795B795880F911D9695ED
+:105FC000879597F908959FEF80EC0895DF93CF931D
+:105FD0001F930F93FF92EF92DF927B018C016894E5
+:105FE00005C0DA2EEF018DD1FE01E894A59125912F
+:105FF000359145915591AEF3EF01DADDFE01970140
+:10600000A801DA9479F7DF90EF90FF900F911F913C
+:10601000CF91DF91089500240A94161617061806EA
+:106020000906089500240A9412161306140605069C
+:106030000895C9CF50D0E8F3E894E0E0BB279F571C
+:10604000F0F02AED3FE049EC06C0EE0FBB0F661FF3
+:10605000771F881F28F0B23A62077307840728F079
+:10606000B25A620B730B840BE3959A9572F78038E2
+:1060700030F49A95BB0F661F771F881FD2F79048A0
+:1060800096CF092E0394000C11F4882352F0BB0F15
+:1060900040F4BF2B11F460FF04C06F5F7F4F8F4F40
+:1060A0009F4F0895EF93E0FF06C0A2EA2AED3FE07C
+:1060B00049EC5FEB7DDDE5DF0F90039401FC905828
+:1060C000EBE6F1E0C7C157FD9058440F551F59F05A
+:1060D0005F3F71F04795880F97FB991F61F09F3FD5
+:1060E00079F087950895121613061406551FF2CFFE
+:1060F0004695F1DF08C0161617061806991FF1CF4E
+:1061000086957105610508940895E5DFA0F0BEE766
+:10611000B91788F4BB279F3860F41616B11D672F96
+:10612000782F8827985FF7CF869577956795B11D6B
+:1061300093959639C8F30895E894BB276627772787
+:10614000CB0197F90895ECDE08F48FEF089563DF33
+:1061500019F068DF09F037CF07CFB901CA0125CFA1
+:106160009F775F77B0DF98F39923B9F35523B9F39D
+:10617000FF27951758F4E52FE91BED3070F75E3BCC
+:1061800010F0F1E41CC09034E0F40AC0E92FE51BE4
+:10619000ED3028F79E3B10F0F1E411C0503488F444
+:1061A000F9EA88232AF09A95660F771F881FDAF795
+:1061B00044232AF05A95220F331F441FDAF79F1BFE
+:1061C0005F1BFF931F930F93FF92EF9279018A0158
+:1061D000BB27AB2F9B01AC0196D09701A801BF93C1
+:1061E0007B018C01AA27BA2FB901CA018CD0AF91CB
+:1061F0009701A801EF90FF900F911F91D9DC41DF2B
+:10620000E1D04F9140FF0895552747FD509509C0B3
+:106210009B01AC0160E070E080E89FE398CDA4CEE4
+:10622000C4CE59DFE8F39923D9F3940F511DBBF382
+:106230009150504094F059F0882332F0660F771F48
+:10624000881F91505040C1F79E3F510544F7880F79
+:10625000911D9695879597F908955F3FACF0983E0C
+:106260009CF0BB27869577956795B79508F4B16044
+:106270009395C1F7BB0F58F711F460FFE8CF6F5F3C
+:106280007F4F8F4F9F4FE3CF58CF25DF58F19E5759
+:1062900058F19851A0F0E9F0983020F5092E99278F
+:1062A000660F771F881F991F0A94D1F712C0062E18
+:1062B000672F782F8827985F11F4000C07C0993F4B
+:1062C000B4F38695779567959395D9F7611D711D00
+:1062D000811D3EF490958095709561957F4F8F4F0D
+:1062E0009F4F0895689429CF27CF0BD0CACE93DE55
+:1062F00028F098DE18F0952309F036CE64CE1124EC
+:106300001CCFE1DEA0F3959FD1F3950F50E0551F10
+:10631000629FF001729FBB27F00DB11D639FAA27FA
+:10632000F00DB11DAA1F649F6627B00DA11D661F49
+:10633000829F2227B00DA11D621F739FB00DA11D6A
+:10634000621F839FA00D611D221F749F3327A00D24
+:10635000611D231F849F600D211D822F762F6A2FC0
+:1063600011249F5750408AF0E1F088234AF0EE0F45
+:10637000FF1FBB1F661F771F881F91505040A9F752
+:106380009E3F510570F0F0CDD8CE5F3FECF3983EC4
+:10639000DCF3869577956795B795F795E7959F5FB9
+:1063A000C1F7FE2B880F911D9695879597F9089553
+:1063B0009F9340DE0F9007FCEE5F74CE11F40EF455
+:1063C00002CEF3CD88DED0F39923D9F3CEF39F57D5
+:1063D000550B87FF38D00024A0E640EA9001805892
+:1063E0005695979528F4805C660F771F881F20F0DC
+:1063F00026173707480730F4621B730B840B2029DC
+:1064000031294A2BA69517940794202531254A2730
+:1064100058F7660F771F881F20F0261737074807A1
+:1064200030F4620B730B840B200D311D411DA095C0
+:1064300081F7B901842F9158880F96958795089513
+:106440009B01AC0152CF91505040660F771F881FBF
+:10645000D2F708959F938F937F936F93FF93EF935A
+:106460009B01AC0142DFEF91FF91B0DD2F913F9195
+:106470004F915F913ACFDB018F939F9389D0BF916A
+:10648000AF91A29F800D911DA39F900DB29F900D83
+:106490001124089587FB082E062687FD819567FD48
+:1064A00061958AD00EF4919507FC81950895AA1BF9
+:1064B000BB1B51E107C0AA1FBB1FA617B70710F0EF
+:1064C000A61BB70B881F991F5A95A9F78095909521
+:1064D000BC01CD01089597FB072E16F4009406D059
+:1064E00077FD08D0E4DF07FC05D03EF49095819558
+:1064F0009F4F0895709561957F4F0895A1E21A2EE0
+:10650000AA1BBB1BFD010DC0AA1FBB1FEE1FFF1F57
+:10651000A217B307E407F50720F0A21BB30BE40BA7
+:10652000F50B661F771F881F991F1A9469F76095EE
+:106530007095809590959B01AC01BD01CF010895A8
+:10654000052E97FB16F400940FD057FD05D0D6DF2B
+:1065500007FC02D046F408C050954095309521952F
+:106560003F4F4F4F5F4F089590958095709561957F
+:106570007F4F8F4F9F4F0895EE0FFF1F0590F491AF
+:10658000E02D199425D0B7FF0895821B930B089531
+:106590001FD0A59F900DB49F900DA49F800D911DBD
+:1065A00011240895B7FFF4CFF3DF821B930B0895F6
+:1065B0000790F691E02D1994991B79E004C0991F7A
+:1065C000961708F0961B881F7A95C9F7809508954D
+:1065D000A29FB001B39FC001A39F700D811D112424
+:1065E000911DB29F700D811D1124911D08958F92F0
+:1065F0009F92AF92BF92CF92DF92EF92FF920F9352
+:106600001F93CF93DF938B016115710521F0DB019F
+:106610008C9311969C93EC015E01BFEFAB1ABB0A01
+:106620007501C8808C2D90E07BD2892B11F0E5019B
+:10663000F3CFEDE2CE1208C07E01F2E0EF0EF11CC6
+:10664000C980DD24D39409C02BE2C21205C07E01AB
+:1066500042E0E40EF11CC980D12CE701219743E010
+:1066600050E06FE07EE1CE0172D2892BB9F423961F
+:1066700045E050E06AE07EE1CE0169D2892B09F461
+:1066800025960115110519F0D801CD93DC93D11091
+:1066900000C160E070E080E89FE704C143E050E0A3
+:1066A00067E07EE1CE0153D2892B59F40115110523
+:1066B00009F4F4C0B2E0EB0EF11CF801F182E082C3
+:1066C000EDC0F70160E070E0CB01C0E0D0E07F01F9
+:1066D000A0EDAA2EAC0C29E02A1528F14D2D426020
+:1066E000B42E2D2D2870D2FE04C0211124C0219675
+:1066F00022C021112197A5E0B0E09B01AC0148DF49
+:10670000660F771F881F991F6A0D711D811D911DCE
+:106710006839A9E97A078A07A9E19A0760F0BD2DCF
+:10672000B660BB2E08C02EEFA2120AC0D3FC50C028
+:106730004D2D4860B42E3196D701CC90DB2CC7CFBD
+:106740002C2D2F7D253409F043C0A081AD3241F4BA
+:10675000BD2DB061DB2E7F0122E0E20EF11C0CC0EA
+:106760007F01AB3231F04FEFE41AF40A21E030E060
+:1067700006C0A2E0EA0EF11CA18122E030E0A053A5
+:10678000AA3018F0E21AF30A23C0F70120E030E043
+:106790002038BCE03B075CF4A901440F551F440FAF
+:1067A000551F240F351F220F331F2A0F311DAF0134
+:1067B0004F5F5F4F7A01A081A053AA3010F4FA0115
+:1067C000E7CFD4FE03C0319521953109C20FD31F05
+:1067D000D1FE09C00115110531F0E1E0EE1AF10812
+:1067E000D801ED92FC924CDB2D2D2370233019F053
+:1067F0004B015C0106C04B015C01B7FAB094B7F8DD
+:10680000B09420E030E0A901C501B40199DA8823F1
+:1068100009F43CC0D7FF06C0D195C195D10906E265
+:106820001EE102C00EE31EE16801B8E1CB1AD108F7
+:1068300090E2E92EF12CCE15DF056CF0F8012591E0
+:10684000359145915491C501B4014FDD4B015C0177
+:10685000CE19DF09F0CF04501109F594E7940C1517
+:106860001D0549F78A2D880F8B2D881F8F3F41F01A
+:1068700020E030E0A901C501B40162DA811106C04F
+:1068800082E290E09093BC148093BB14C501B401E4
+:1068900009C060E070E080E89FEF04C060E070E055
+:1068A00080EC9FE7DF91CF911F910F91FF90EF90C8
+:1068B000DF90CF90BF90AF909F908F9008952F92D0
+:1068C0003F925F926F927F928F929F92AF92BF9210
+:1068D000CF92DF92EF92FF920F931F93CF93DF93AC
+:1068E0008B01EA016115710521F0DB018C93119692
+:1068F0009C93209739F09E012250310923323105B3
+:1069000008F0F8C07C016701BFEFCB1ADB0A560123
+:10691000F7016080862D90E003D1892B11F076017C
+:10692000F2CFFDE26F120AC0570182E0A80EB11C3F
+:10693000D70111966C90772473940BC0BBE26B1255
+:1069400007C05701E2E0AE0EB11CD70111966C9062
+:10695000712CCE018F7E892B89F4B0E36B1222C09B
+:10696000F50180818F7D883541F56180F2E0AF0EC1
+:10697000B11C872D8260782EC0E1D0E0C830D105EF
+:10698000F1F04CF4C230D10511F5C12CD12CE12C21
+:10699000B0E4FB2E2EC0CA30D10531F0C031D10594
+:1069A00019F115C0209751F7CAE0D0E0ACECCA2E1F
+:1069B000DC2CEC2CACE0FA2E1CC02097F9F6C8E0D9
+:1069C000D0E0C12CD12CE12CF0E1FF2E12C060E010
+:1069D00070E080E090E89E01442737FD4095542FF9
+:1069E0008DDD69017A0105C0C12CD12CE12CE8E0D4
+:1069F000FE2EF50160E020E030E0A9014E01AA245E
+:106A000097FCA094BA2C1F0170ED572E560CA9E0EC
+:106A1000A51570F48FEB860D8A3118F499EC592E78
+:106A200006C08FE9860D8A3128F589EA582E560C62
+:106A3000852D90E08C179D07ECF467FD17C0C216FA
+:106A4000D306E406F50678F0C501B40114DD9B0118
+:106A5000AC01250D311D411D511D21303105410570
+:106A6000B0E85B0710F06FEF01C061E03196D10133
+:106A70006C90C9CF872D81700115110571F06623C7
+:106A800029F03197D801ED93FC9307C071FE19C02E
+:106A90003297D801ED93FC9314C067FF12C088238E
+:106AA00029F020E030E040E050E804C02FEF3FEF55
+:106AB0004FEF5FE782E290E09093BC148093BB14A9
+:106AC00016C0882341F050954095309521953F4F51
+:106AD0004F4F5F4F0CC057FF0AC082E290E0909387
+:106AE000BC148093BB142FEF3FEF4FEF5FE7B9016A
+:106AF000CA0104C060E070E080E090E0DF91CF91D7
+:106B00001F910F91FF90EF90DF90CF90BF90AF90CB
+:106B10009F908F907F906F905F903F902F900895FF
+:106B20009111E5C2803219F089508550D0F708954F
+:106B30009111089581548A5108F4805E855A089510
+:106B4000FB01DC0105900D920020E1F70895FB01A7
+:106B5000DC014150504088F08D9181341CF08B3520
+:106B60000CF4805E659161341CF06B350CF4605E52
+:106B7000861B611171F3990B0895881BFCCFFB01F3
+:106B8000DC014150504048F005900D920020C9F7BB
+:106B900001C01D9241505040E0F70895FB0155910E
+:106BA0005523A9F0BF01DC014D9145174111E1F7D3
+:106BB00059F4CD010590002049F04D914015411147
+:106BC000C9F3FB014111EFCF81E090E001970895F7
+:106BD000FB01DC0104C08D910190801921F441502A
+:106BE0005040C8F7881B990B0895FB01DC0102C0D7
+:106BF00001900D9241505040D8F70895DC0101C03A
+:106C00006D9341505040E0F70895FB01DC018D91F8
+:106C100081341CF08B350CF4805E619161341CF082
+:106C20006B350CF4605E861B611189F3990B089536
+:106C3000FB01DC010D900020E9F7119701900D9206
+:106C40000020E1F70895FC018191861721F0882347
+:106C5000D9F7992708953197CF010895FB01DC01F9
+:106C60008D91019080190110D9F3990B0895FB01C2
+:106C7000DC0101900D920020E1F70895FB01DC0199
+:106C80004150504030F08D910190801919F400204E
+:106C9000B9F7881B990B0895FB01DC014150504066
+:106CA00048F001900D920020C9F701C01D9241509B
+:106CB0005040E0F708950F931F93CF93DF93CDB724
+:106CC000DEB72E970FB6F894DEBF0FBECDBF0E898C
+:106CD0001F898EE08C831A8309838FEF9FE79E8341
+:106CE0008D83AE01465E5F4F688D798DCE01019632
+:106CF00010D0EF81F885E00FF11F10822E960FB6AD
+:106D0000F894DEBF0FBECDBFDF91CF911F910F91E1
+:106D100008952F923F924F925F926F927F928F923F
+:106D20009F92AF92BF92CF92DF92EF92FF920F931A
+:106D30001F93CF93DF93CDB7DEB72C970FB6F894A0
+:106D4000DEBF0FBECDBF7C016B018A01FC01178243
+:106D50001682838181FFB0C1CE0101964C01F701FB
+:106D60009381F60193FD859193FF81916F018823B3
+:106D700009F49EC1853239F493FD859193FF819189
+:106D80006F01853221F4B70190E0CAD1E8CF512CD0
+:106D9000312C20E02032A0F48B3269F030F48032C4
+:106DA00059F0833269F420612CC08D3239F0803380
+:106DB00039F4216026C02260246023C0286021C0ED
+:106DC00027FD27C030ED380F3A3078F426FF06C093
+:106DD000FAE05F9E300D1124532E13C08AE0389ED6
+:106DE000300D1124332E20620CC08E3221F426FD8A
+:106DF0005FC1206406C08C3611F4206802C088365A
+:106E000041F4F60193FD859193FF81916F0181110A
+:106E1000C1CF982F9F7D9554933028F40C5F1F4F5E
+:106E2000FFE3F9830DC0833631F0833771F083358A
+:106E300009F057C021C0F801808189830E5F1F4F80
+:106E400044244394512C540114C03801F2E06F0ED5
+:106E5000711CF801A080B18026FF03C0652D70E091
+:106E600002C06FEF7FEFC5012C874FD12C0183014A
+:106E70002C852F77222E16C03801F2E06F0E711C80
+:106E8000F801A080B18026FF03C0652D70E002C02C
+:106E90006FEF7FEFC5012C872DD12C012C85206849
+:106EA000222E830123FC19C0832D90E04816590639
+:106EB000A0F4B70180E290E033D13A94F5CFF50128
+:106EC00027FC859127FE81915F01B70190E028D1D1
+:106ED00031103A94F1E04F1A51084114510479F7F6
+:106EE000DEC0843611F0893631F5F80127FF07C07E
+:106EF00060817181828193810C5F1F4F08C0608126
+:106F00007181882777FD8095982F0E5F1F4F2F7610
+:106F1000B22E97FF09C090958095709561957F4F2F
+:106F20008F4F9F4F2068B22E2AE030E0A4012AD173
+:106F3000A82EA81843C0853729F42F7EB22E2AE048
+:106F400030E025C0F22FF97FBF2E8F36C1F018F444
+:106F5000883579F0ADC0803719F0883721F0A8C0A6
+:106F60002F2F2061B22EB4FE0DC08B2D8460B82E61
+:106F700009C024FF0AC09F2F9660B92E06C028E0E2
+:106F800030E005C020E130E002C020E132E0F8014D
+:106F9000B7FE07C060817181828193810C5F1F4FB2
+:106FA00006C06081718180E090E00E5F1F4FA401F8
+:106FB000E9D0A82EA818FB2DFF77BF2EB6FE0BC078
+:106FC0002B2D2E7FA51450F4B4FE0AC0B2FC08C0CD
+:106FD0002B2D2E7E05C07A2C2B2D03C07A2C01C0C0
+:106FE000752C24FF0DC0FE01EA0DF11D8081803358
+:106FF00011F4297E09C022FF06C07394739404C063
+:10700000822F867809F0739423FD12C020FF06C0FA
+:107010005A2C731418F4530C5718732C731460F40F
+:10702000B70180E290E02C877BD073942C85F6CF5B
+:10703000731410F4371801C0312C24FF11C0B701AC
+:1070400080E390E02C876CD02C8522FF16C021FFB6
+:1070500003C088E590E002C088E790E0B7010CC06B
+:10706000822F867851F021FD02C080E201C08BE2C0
+:1070700027FD8DE2B70190E053D0A51430F4B7019D
+:1070800080E390E04DD05A94F8CFAA94F401EA0D31
+:10709000F11D8081B70190E043D0A110F6CF3320DD
+:1070A00009F45DCEB70180E290E03AD03A94F7CF90
+:1070B000F7018681978102C08FEF9FEF2C960FB664
+:1070C000F894DEBF0FBECDBFDF91CF911F910F911E
+:1070D000FF90EF90DF90CF90BF90AF909F908F90F8
+:1070E0007F906F905F904F903F902F9008959927D9
+:1070F00088270895FC010590615070400110D8F771
+:10710000809590958E0F9F1F0895FC0161507040EF
+:1071100001900110D8F7809590958E0F9F1F0895CC
+:107120000F931F93CF93DF93182F092FEB018B81C0
+:1071300081FD03C08FEF9FEF20C082FF10C04E8102
+:107140005F812C813D81421753077CF4E881F981EE
+:107150009F012F5F3F4F39832883108306C0E88546
+:10716000F985812F1995892B29F72E813F812F5F72
+:107170003F4F3F832E83812F902FDF91CF911F911F
+:107180000F910895FA01AA27283051F1203181F199
+:10719000E8946F936E7F6E5F7F4F8F4F9F4FAF4F1F
+:1071A000B1E03ED0B4E03CD0670F781F891F9A1F32
+:1071B000A11D680F791F8A1F911DA11D6A0F711DE6
+:1071C000811D911DA11D20D009F468943F912AE0F2
+:1071D000269F11243019305D3193DEF6CF010895DA
+:1071E000462F4770405D4193B3E00FD0C9F7F6CF0B
+:1071F000462F4F70405D4A3318F0495D31FD4052D3
+:10720000419302D0A9F7EACFB4E0A6959795879568
+:1072100077956795BA95C9F7009761057105089547
+:107220009B01AC010A2E06945795479537952795F3
+:10723000BA95C9F7620F731F841F951FA01D08958B
+:107240001EE1C8E4DEE100E005C022970109FE016D
+:107250000BBFAED9CA34D10780E00807B1F7F89464
+:02726000FFCF5E
+:107262000000BD1420000A01FF3FFF3F0000803FE5
+:107272008145644325DF363E33334B410160EA00EA
+:10728200000080BB440101000000410000344200C4
+:1072920000504100004040000056430000464300B9
+:1072A20000494300000000000000001F856B3E0003
+:1072B20000803F00004040640064006400640000FD
+:1072C200803B4500803B4500007043000000000207
+:1072D200248050727573612069332072656164790C
+:1072E2002E0000000000003200FA006400DC005AA8
+:1072F20000F0006400FE0001010101015203C2011D
+:107302000E0100003E43FF00004000140054000044
+:107312001F1511151F00000C12120C0000000004B2
+:107322000A0A0A0A11110E040E1F041C00000000B2
+:1073320006191803130C00001C1F11111F00001C5A
+:1073420010181705060500000E1315110E00000097
+:1073520000C8420000C84200007A450040034400D1
+:1073620000FA430000FA43000040400000C84128F0
+:10737200230000282300001E000000102700001038
+:1073820010101010504944204175746F74756E6569
+:1073920020737461727400504944204175746F7493
+:1073A200756E65206661696C65642E204261642099
+:1073B2006578747275646572206E756D6265722E81
+:1073C2000000000000362A80AD2F0043616E6E6F10
+:1073D20074206F70656E2073756264697200534425
+:1073E2002D5052494E54494E472020202020202023
+:1073F2002020004D313132004D32323120496E763B
+:10740200616C696420657874727564657220004DE0
+:1074120032313820496E76616C6964206578747205
+:107422007564657220004D31303920496E76616C89
+:10743200696420657874727564657220004D31301C
+:107442003520496E76616C69642065787472756462
+:10745200657220004D31303420496E76616C69646A
+:1074620020657874727564657220005452494747EA
+:1074720045524544006F70656E00322E322E310047
+:107482003330302D3161005265706F7274696E67EE
+:1074920020656E6473746F70207374617475730009
+:1074A2004D32303020496E76616C696420657874A3
+:1074B200727564657220006F6B0020703A0020695B
+:1074C2003A0020643A0020633A005400496E766123
+:1074D2006C696420657874727564657200416374C6
+:1074E2006976652045787472756465723A20000089
+:1074F200000100250030001D000C0018002400319E
+:10750200001C000B00170023002F001B000A001EA6
+:107512000047000400080022002B001A0003003676
+:107522000037003500380058595A454552524F52DB
+:107532003A005072656865617420746865206E6FE8
+:107542007A7A6C6521004368616E67696E672066AE
+:10755200696C616D656E742100496E736572742089
+:1075620066696C616D656E7400416E64207072654F
+:10757200737320746865206B6E6F62004368616E7E
+:107582006765207375636365737321004C6F616473
+:10759200696E6720636F6C6F7200506C6561736512
+:1075A2002077616974004C6F6164696E6720666957
+:1075B2006C616D656E74005072696E742061626FE9
+:1075C20072746564004368616E67656420636F72FC
+:1075D200726563746C793F005965730046696C612A
+:1075E2006D656E74206E6F74206C6F6164656400EB
+:1075F200436F6C6F72206E6F7420636C65617200F2
+:107602003E0020205A0000803B4500803B450000A0
+:1076120070430000704200000000318B80AD537453
+:1076220065707261746520746F6F20686967683A6B
+:10763200200000000000AFA583A558A560A573A592
+:0276420082A51F
+:00000001FF

+ 5992 - 0
hex_files/175-RAMBo1-3a-cz.hex

@@ -0,0 +1,5992 @@
+:100000000C94250F0C94560F0C94560F0C94560F0D
+:100010000C94560F0C94560F0C94560F0C94560FCC
+:100020000C94560F0C94560F0C94560F0C94560FBC
+:100030000C94560F0C9421AD0C94560F0C94560F43
+:100040000C94560F0C94FA8B0C94560F0C94560F7C
+:100050000C94560F0C94560F0C9439260C94E7A868
+:100060000C94560F0C940D890C94560F0C94560F4B
+:100070000C94560F0C94560F0C94560F0C94560F6C
+:100080000C94560F0C94560F0C94560F0C94560F5C
+:100090000C94560F0C94560F0C94560F0C9419A6F2
+:1000A0000C94560F0C94560F0C94560F0C94560F3C
+:1000B0000C94560F0C94560F0C94560F0C94560F2C
+:1000C0000C94560F0C94560F0C94560F0C94560F1C
+:1000D0000C94560F0C94560F0C94560F0C94560F0C
+:1000E0000C94560F86269426B026BE26D826E626E1
+:1000F0000027042706270A2712276BA770A775A7D2
+:100100007FA7F8A789A791A799A7A3A7ADA7B7A786
+:10011000C6A7D0A7F8A7DAA7E4A7EEA716A819A83C
+:100120000CA810A850A81DA821A827A82BA82FA864
+:1001300035A839A83DA850A843A847A84BA8084A05
+:10014000D73B3BCE016E84BCBFFDC12F3D6C7431EB
+:100150009ABD56833DDA3D00C77F11BED9E4BB4C42
+:100160003E916BAAAABE000000803F05A84CCDB20C
+:10017000D44EB93836A9020C50B9918688083CA6ED
+:10018000AAAA2ABE000000803F007C3C3E5E2B3DB8
+:100190003F2F5B5D3B2C2A225C004572723A204D5A
+:1001A000415854454D50204245440054656D70659A
+:1001B000726174757265206865617465642062653A
+:1001C00064207377697463686564206F66662E20A7
+:1001D0004D415854454D502074726967676572658A
+:1001E00064202121004572723A204D494E54454DFC
+:1001F00050003A204578747275646572207377698F
+:100200007463686564206F66662E204D494E5445C0
+:100210004D502074726967676572656420210045DE
+:1002200072723A204D415854454D50003A2045785D
+:10023000747275646572207377697463686564208D
+:100240006F66662E204D415854454D50207472699A
+:10025000676765726564202100202D20496E7661F4
+:100260006C6964206578747275646572206E756D52
+:10027000626572202100504944204175746F747585
+:100280006E652066696E69736865642120507574B7
+:1002900020746865206C617374204B702C204B694E
+:1002A00020616E64204B6420636F6E7374616E74A2
+:1002B000732066726F6D2061626F766520696E745F
+:1002C0006F20436F6E66696775726174696F6E2E19
+:1002D0006800504944204175746F74756E652066DE
+:1002E00061696C6564212074696D656F75740020A7
+:1002F000403A006F6B20543A006F6B20423A005036
+:100300004944204175746F74756E65206661696C2F
+:100310006564212054656D70657261747572652025
+:10032000746F6F206869676800204B643A20002072
+:100330004B693A2000204B703A200020436C6173D7
+:100340007369632050494420002054753A200020EE
+:100350004B753A2000206D61783A2000206D696E5F
+:100360003A200020643A200020626961733A20003C
+:1003700070012C0190012701B0012201C0011D0173
+:10038000F00118011002130130020E016002090190
+:1003900090020401C002FF000003FA004003F500D0
+:1003A0008003F000D003EB002004E6007004E100BD
+:1003B000E004DC004005D700C005D2004006CD00B7
+:1003C000D006C8008007C3003008BE00F008B9009E
+:1003D000C009B400B00AAF00B00BAA00D00CA50051
+:1003E000000EA000500F9B00C0109600501291000C
+:1003F00000148C00C0158700B0178200B0197D0072
+:10040000D01B7800001E730040206E00902269000F
+:10041000F024640040275F0090295A00E02B55002B
+:10042000102E500020304B0010324600E0334100C7
+:1004300090353C001037370070383200A0392D005D
+:10044000B03A2800A03B2300603C1E00103D19007C
+:10045000903D1400103E0F00703E0A00C03E0500A3
+:10046000003F00004D383420582059205A204500C4
+:1004700043616E6E6F7420656E7465722073756271
+:100480006469723A20004D3234004D3233202573B6
+:10049000006175746F25692E67006572726F722036
+:1004A00077726974696E6720746F2066696C650085
+:1004B0004E6F74205344207072696E74696E6700C9
+:1004C0002F005344207072696E74696E67206279E0
+:1004D000746520002E0044656C6574696F6E20663B
+:1004E00061696C65642C2046696C653A2000466938
+:1004F0006C652064656C657465643A002E006F70ED
+:10050000656E206661696C65642C2046696C653A8D
+:10051000200057726974696E6720746F2066696C79
+:10052000653A20002E006F70656E206661696C650B
+:10053000642C2046696C653A20002E006F70656E51
+:10054000206661696C65642C2046696C653A200000
+:1005500046696C652073656C65637465640020533F
+:10056000697A653A200046696C65206F70656E6532
+:10057000643A20002E006F70656E206661696C65BC
+:10058000642C2046696C653A20004E6F77206672B5
+:100590006573682066696C653A20004E6F77206449
+:1005A0006F696E672066696C653A20002220706F63
+:1005B00073002220706172656E743A2200535542B6
+:1005C000524F5554494E452043414C4C2074617262
+:1005D0006765743A2200747279696E6720746F20BF
+:1005E00063616C6C207375622D67636F6465206650
+:1005F000696C6573207769746820746F6F206D6112
+:100600006E79206C6576656C732E204D4158206C98
+:100610006576656C2069733A0053442063617264A7
+:10062000206F6B006F70656E526F6F74206661692A
+:100630006C656400766F6C756D652E696E697420EB
+:100640006661696C656400534420696E6974206654
+:1006500061696C0000002110422063308440A55085
+:10066000C660E770088129914AA16BB18CC1ADD1F8
+:10067000CEE1EFF13112100273325222B5529442A0
+:10068000F772D662399318837BB35AA3BDD39CC348
+:10069000FFF3DEE36224433420040114E664C774EC
+:1006A000A44485546AA54BB528850995EEE5CFF598
+:1006B000ACC58DD55336722611163006D776F66640
+:1006C0009556B4465BB77AA719973887DFF7FEE7E8
+:1006D0009DD7BCC7C448E5588668A778400861180C
+:1006E00002282338CCC9EDD98EE9AFF94889699938
+:1006F0000AA92BB9F55AD44AB77A966A711A500AE0
+:10070000333A122AFDDBDCCBBFFB9EEB799B588B87
+:100710003BBB1AABA66C877CE44CC55C222C033C2B
+:10072000600C411CAEED8FFDECCDCDDD2AAD0BBDD7
+:10073000688D499D977EB66ED55EF44E133E322E7F
+:10074000511E700E9FFFBEEFDDDFFCCF1BBF3AAF27
+:10075000599F788F8891A981CAB1EBA10CD12DC185
+:100760004EF16FE18010A100C230E320045025401B
+:1007700046706760B9839893FBA3DAB33DC31CD37B
+:100780007FE35EF3B1029012F322D232354214526B
+:1007900077625672EAB5CBA5A89589856EF54FE5C7
+:1007A0002CD50DC5E234C324A014810466744764BB
+:1007B00024540544DBA7FAB79987B8975FE77EF71B
+:1007C0001DC73CD7D326F2369106B016576676760B
+:1007D000154634564CD96DC90EF92FE9C899E989E7
+:1007E0008AB9ABA94458654806782768C018E1085B
+:1007F0008238A3287DCB5CDB3FEB1EFBF98BD89BBB
+:10080000BBAB9ABB754A545A376A167AF10AD01AAA
+:10081000B32A923A2EFD0FED6CDD4DCDAABD8BAD06
+:10082000E89DC98D267C076C645C454CA23C832CFA
+:10083000E01CC10C1FEF3EFF5DCF7CDF9BAFBABF5A
+:10084000D98FF89F176E367E554E745E932EB23E4A
+:10085000D10EF01E53544F505045442E200050727C
+:10086000696E7465722073746F707065642064754E
+:100870006520746F206572726F72732E20466978DE
+:1008800020746865206572726F7220616E642075D5
+:100890007365204D39393920746F20726573746126
+:1008A00072742E202854656D70657261747572655E
+:1008B0002069732072657365742E205365742069F6
+:1008C00074206166746572207265737461727469F4
+:1008D0006E6729004B494C4C45442E2000507269EC
+:1008E0006E7465722068616C7465642E206B696C2F
+:1008F0006C28292063616C6C656421006F6B005269
+:100900006573656E643A20002200556E6B6E6F77DA
+:100910006E20636F6D6D616E643A2022004D32323D
+:100920003020532569005A204F6666736574203A5B
+:1009300020007A5F6D61783A20007A5F6D696E3AC7
+:1009400020005A204F6666736574005A204F666611
+:10095000736574206F6B002200556E6B6E6F776E3F
+:1009600020636F6D6D616E643A2022007A5F6D6165
+:10097000783A20007A5F6D696E3A2000795F6D6188
+:10098000783A2000795F6D696E3A2000785F6D617A
+:10099000783A2000785F6D696E3A2000205A3A005C
+:1009A00020593A0020436F756E7420583A20002079
+:1009B000453A00205A3A0020593A00583A00464930
+:1009C000524D574152455F4E414D453A4D61726C13
+:1009D000696E2056312E302E323B20537072696E74
+:1009E0007465722F6772626C206D61736875702018
+:1009F000666F722067656E36204649524D574152E8
+:100A0000455F55524C3A68747470733A2F2F67697A
+:100A1000746875622E636F6D2F4D61726C696E46DE
+:100A200069726D776172652F4D61726C696E2050CD
+:100A3000524F544F434F4C5F56455253494F4E3AD5
+:100A4000312E30204D414348494E455F5459504561
+:100A50003A50727573612069332045585452554499
+:100A600045525F434F554E543A3120555549443A0B
+:100A700030303030303030302D303030302D30307C
+:100A800030302D303030302D30303030303030306C
+:100A9000303030300A005072757361206933204F56
+:100AA00066662E005072757361206933207265612D
+:100AB00064792E0042656420646F6E652E002042CA
+:100AC0003A0020453A00543A004265642048656186
+:100AD00074696E672E0048656174696E6720646F83
+:100AE0006E652E0020573A0020453A00543A0048DF
+:100AF000656174696E672E2E2E002042403A0020F8
+:100B0000403A00202F003A00205400202F002042BD
+:100B10003A00202F006F6B20543A002569206D6940
+:100B20006E2C2025692073656300456E642066691C
+:100B30006C65206C69737400426567696E20666934
+:100B40006C65206C697374004E6F206D6F76652E36
+:100B50000050727573612069332072656164792E6B
+:100B600000526573756D696E67207072696E7400EE
+:100B70005761697420666F7220757365722E2E2E10
+:100B800000536C6565702E2E2E00256920686F75E8
+:100B90007273202569206D696E7574657300446FEA
+:100BA0006E65207072696E74696E672066696C6527
+:100BB0000053544F505045442E20005072696E74BB
+:100BC00065722073746F707065642064756520743D
+:100BD0006F206572726F72732E2046697820746878
+:100BE00065206572726F7220616E64207573652076
+:100BF0004D39393920746F20726573746172742EA7
+:100C0000202854656D706572617475726520697312
+:100C10002072657365742E20536574206974206199
+:100C2000667465722072657374617274696E672987
+:100C3000004E6F204C696E65204E756D62657220A6
+:100C40007769746820636865636B73756D2C204CDD
+:100C5000617374204C696E653A20004E6F204368C2
+:100C600065636B73756D2077697468206C696E6558
+:100C7000206E756D6265722C204C617374204C6916
+:100C80006E653A2000636865636B73756D206D69EE
+:100C9000736D617463682C204C617374204C696EB1
+:100CA000653A20004C696E65204E756D6265722054
+:100CB0006973206E6F74204C617374204C696E658B
+:100CC000204E756D6265722B312C204C617374203F
+:100CD0004C696E653A20004D31313000446F6E65CD
+:100CE00020736176696E672066696C652E006F6B94
+:100CF000004D3239002020506C616E6E6572427575
+:100D00006666657242797465733A200020467265A2
+:100D100065204D656D6F72793A200044656320321D
+:100D200033203230313500436F6D70696C65643A41
+:100D30002000286E6F6E652C2064656661756C748A
+:100D400020636F6E6669672900207C204175746896
+:100D50006F723A20004465632032332032303135DF
+:100D60002031353A34373A333900204C61737420DE
+:100D7000557064617465643A2000312E302E320063
+:100D80004D61726C696E0020536F66747761726595
+:100D900020526573657400205761746368646F67DF
+:100DA000205265736574002042726F776E206F75F4
+:100DB00074205265736574002045787465726E61A5
+:100DC0006C20526573657400506F776572557000C2
+:100DD0007374617274002200656E717565696E6767
+:100DE0002022002200656E717565696E6720220001
+:100DF000FFFFFF0000A0400000A0400000004000F6
+:100E0000005643000046431FC54843000000000051
+:100E10000000001F856B3E00005643000046430063
+:100E200000494300000000000000001F856B3E6584
+:100E300063686F3A004572726F723A004361726480
+:100E40002072656D6F766564004361726420696E1F
+:100E50007365727465640047312045343020463133
+:100E60003030004731204536352046343030004D93
+:100E7000383300473120452D38302046343030009B
+:100E80004D3833002D2D3A2D2D002D2D2D0053449E
+:100E9000000120000120004D363030004368616EB3
+:100EA00067652066696C616D656E7400466C6F776E
+:100EB00000466C6F770046616E2073706565640054
+:100EC00046616E207370656564004265640042652A
+:100ED00064004E6F7A7A6C65004E6F7A7A6C6500AA
+:100EE0005370656564005370656564004D61696E9B
+:100EF00000436F6F6C646F776E00464C4558202D31
+:100F000020203235302F35300050502020202D2029
+:100F1000203235342F3130300048495053202D20B5
+:100F2000203232302F3130300050455420202D20D7
+:100F3000203234302F393000504C4120202D2020D9
+:100F40003232302F35300041425320202D202032C4
+:100F500038352F313030004D61696E004D38340026
+:100F60004D383420582059205A2045004D32340045
+:100F70004D323320257300052E2E004D61696E0021
+:100F800046616E2073706565640046616E20737003
+:100F90006565640042656400426564004E6F7A7A5C
+:100FA0006C65004E6F7A7A6C650053657474696E77
+:100FB000677300580059005A00457874727564656B
+:100FC00072004578747275646572004D6F766520A5
+:100FD0005A004D6F76652059004D6F766520580098
+:100FE00053657474696E67730047323800417574D5
+:100FF0006F20686F6D65004D38340044697361621D
+:101000006C652073746570706572730047323820A8
+:101010005A0043616C696272617465205A004D6FB9
+:10102000766520617869730054656D7065726174CE
+:10103000757265004D61696E005265763A203330F5
+:10104000302D316100686F77746F2E707275736127
+:1010500033642E636F6D00666F72756D2E707275DE
+:10106000736133642E636F6D0070727573613364E6
+:101070002E636F6D004669726D77617265202D2059
+:10108000322E322E31004D61696E00537570706FD3
+:1010900072740053657474696E677300556E6C6F7B
+:1010A00061642066696C616D656E74004C6F61648B
+:1010B0002066696C616D656E74004E6F205344202C
+:1010C00063617264005072696E742066726F6D2085
+:1010D00053440053746F70207072696E74005265CF
+:1010E00073756D65207072696E74005061757365FB
+:1010F000207072696E740050726568656174005486
+:10110000756E6500496E666F2073637265656E006B
+:1011100048617264636F6465642044656661756CE0
+:10112000742053657474696E6773204C6F616465D5
+:10113000640046696C616D656E74207365747469D2
+:101140006E67733A2044697361626C6564002020A5
+:10115000204D32303020440046696C616D656E74FC
+:101160002073657474696E67733A002020204D32D5
+:1011700030392053004175746F2D5265747261636C
+:10118000743A20533D3020746F2064697361626C3F
+:10119000652C203120746F20696E746572707265E1
+:1011A0007420657874727564652D6F6E6C79206D2E
+:1011B0006F766573206173207265747261637473F6
+:1011C000206F72207265636F7665726965730020A7
+:1011D00046002020204D3230382053005265636F86
+:1011E0007665723A20533D4578747261206C656E65
+:1011F00067746820286D6D2920463A5370656564D0
+:1012000020286D6D2F6D2900205A002046002020D7
+:10121000204D323037205300526574726163743A46
+:1012200020533D4C656E67746820286D6D292046FB
+:101230003A537065656420286D6D2F6D29205A3AE8
+:10124000205A4C69667420286D6D290020440020C6
+:1012500049002020204D3330312050005049442097
+:1012600073657474696E67733A00205A00205900E0
+:1012700020204D323036205800486F6D65206F6653
+:101280006673657420286D6D293A00204500205A48
+:101290000020580020420020540020204D323035DC
+:1012A000205300416476616E6365642076617269E3
+:1012B00061626C65733A20533D4D696E20666565C9
+:1012C000647261746520286D6D2F73292C20543D44
+:1012D0004D696E2074726176656C20666565647216
+:1012E00061746520286D6D2F73292C20423D6D6936
+:1012F0006E696D756D207365676D656E74207469B8
+:101300006D6520286D73292C20583D6D6178696DBD
+:10131000756D205859206A65726B20286D6D2F738A
+:10132000292C20205A3D6D6178696D756D205A20F9
+:101330006A65726B20286D6D2F73292C2020453D26
+:101340006D6178696D756D2045206A65726B202826
+:101350006D6D2F73290020540020204D3230342031
+:101360005300416363656C65726174696F6E3A2006
+:10137000533D616363656C65726174696F6E2C20A7
+:10138000543D7265747261637420616363656C655A
+:10139000726174696F6E00204500205A0020590068
+:1013A00020204D3230312058004D6178696D756DC7
+:1013B00020416363656C65726174696F6E20286D8E
+:1013C0006D2F7332293A00204500205A0020590021
+:1013D00020204D3230332058004D6178696D756D95
+:1013E0002066656564726174657320286D6D2F7366
+:1013F000293A00204500205A0020590020204D396C
+:101400003220580053746570732070657220756EB9
+:1014100069743A0045303A20005A3A2000593A207F
+:1014200000583A20004D53312C4D53322050696EF4
+:10143000730A00656E6473746F7073206869743A20
+:10144000205A00205A3A00656E6473746F707320DE
+:101450006869743A20590020593A00656E647374C3
+:101460006F7073206869743A20580020583A0065FC
+:101470006E6473746F7073206869743A200024F48A
+:10148000D43050C38E20C2A24017828B7011127AC2
+:10149000910D816CD90AA861E108C75866076151AE
+:1014A00043061E4B5D05C145A7041A411104093DC1
+:1014B0009803713931034036DB0265339102D43031
+:1014C0005402802E1D02632CEE01752AC501B0283E
+:1014D000A001102781018F2564012B244B01E022FC
+:1014E0003401AC211F018D200D01801FFC00841EE2
+:1014F000ED00971DDF00B81CD200E61BC600201BC4
+:10150000BC00641AB200B219A8000A19A0006A1837
+:101510009900D117910040178B00B5168400311641
+:101520007E00B31579003A157300C7146F00581484
+:101530006A00EE1366008813630025135E00C7126D
+:101540005B006C12570015125400C111510070114C
+:101550004F0021114B00D61049008D104700461056
+:10156000440002104200C00F4000800F3E00420FB6
+:101570003C00060F3B00CB0E3800930E37005C0E8C
+:101580003500270E3400F30D3200C10D3100900DEF
+:101590003000600D2E00320D2D00050D2C00D90CF1
+:1015A0002B00AE0C2900850C29005C0C2700350CA3
+:1015B00027000E0C2600E80B2400C40B2400A00B0F
+:1015C00023007D0B23005A0B2100390B2100180B3F
+:1015D0002000F80A1F00D90A1E00BB0A1E009D0A3F
+:1015E0001D00800A1D00630A1C00470A1B002C0A0C
+:1015F0001B00110A1A00F7091A00DD091900C409B5
+:101600001900AB091900920917007B09180063093A
+:1016100017004C09160036091600200916000A09A1
+:101620001500F5081500E0081400CC081400B808EF
+:101630001400A4081400900813007D0812006B0821
+:10164000130058081200460812003408110023083D
+:1016500011001208110001081100F0071000E00746
+:101660001000D0071000C0071000B0070F00A1073E
+:10167000100091070E0083070F0074070F00650725
+:101680000E0057070E0049070E003B070D002E07FE
+:101690000E0020070D0013070D0006070D00F906C8
+:1016A0000C00ED060D00E0060C00D4060C00C80688
+:1016B0000C00BC060C00B0060C00A4060B0099063A
+:1016C0000C008D060B0082060B0077060B006C06E3
+:1016D0000B0061060A0057060B004C060A00420682
+:1016E0000A0038060A002E060A0024060A001A0616
+:1016F0000A001006090007060A00FD050900F405A6
+:101700000900EB050900E2050900D9050900D0052B
+:101710000900C7050900BE050900B5050800AD05AB
+:101720000800A50509009C050800940508008C0523
+:101730000800840508007C050800740508006C0595
+:101740000700650508005D050700560508004E0501
+:101750000700470507004005080038050700310568
+:1017600007002A050700230507001C0506001605CB
+:1017700007000F0507000805060002050700FB0427
+:101780000600F5040700EE040600E8040600E20483
+:101790000700DB040600D5040600CF040600C904D8
+:1017A0000600C3040600BD040600B7040600B10429
+:1017B0000500AC040600A6040600A00405009B0476
+:1017C000060095040500900406008A0405008504BF
+:1017D0000500800406007A04050075040500700405
+:1017E00005006B04050066040500610405005C0447
+:1017F000050057040500520405004D040500480487
+:101800000500430405003E0404003A0405003504C5
+:101810000500300404002C04050027040400230400
+:1018200005001E0404001A04040016040500110437
+:1018300004000D040400090405000404040000046D
+:101840000400FC030400F8030400F4030400F003A4
+:101850000400EC030400E8030400E4030400E003D4
+:101860000400DC030400D8030400D4030400D00304
+:101870000400CC030400C8030300C503030024F4E0
+:1018800004D9201BC40C5C0E9804C4095F026507D0
+:101890007101F405F900FB04B30048048700C1039B
+:1018A00069005803550003034500BE023A00840254
+:1018B000310053022A002902250004022000E4011D
+:1018C0001C00C8011900AF01170098011400840121
+:1018D0001300710110006101100051010E0043015D
+:1018E0000D0036010B002B010B0020010B00150130
+:1018F00009000C01090003010800FB000800F300C7
+:101900000800EB000700E4000600DE000600D80037
+:101910000600D2000600CC000500C7000500C2008A
+:101920000500BD000400B9000400B5000400B100CA
+:101930000400AD000400A9000400A5000300A200FB
+:1019400003009F0004009B00030098000300950023
+:10195000020093000300900003008D0002008B0042
+:10196000030088000200860002008400030081005A
+:1019700002007F0002007D0002007B00020079006F
+:10198000020077000100760002007400020072007D
+:101990000100710002006F0002006D0001006C0088
+:1019A00002006A0001006900020067000100660091
+:1019B0000100650001006400020062000100610096
+:1019C0000100600001005F0002005D0001005C009A
+:1019D00001005B0001005A0001005900010058009D
+:1019E000010057000100560001005500010054009D
+:1019F000010053000000530001005200010051009B
+:101A00000100500001004F0001004E0000004E0098
+:101A100001004D0001004C0001004B0000004B0094
+:101A200001004A0001004900010048000000480090
+:101A3000010047000100460000004600010045008B
+:101A40000000450001004400010043000000430085
+:101A5000010042000000420001004100000041007E
+:101A60000100400001003F0000003F0001003E0077
+:101A700000003E0001003D0000003D0001003C0070
+:101A800000003C0000003C0001003B0000003B0067
+:101A900001003A0000003A0001003900000039005E
+:101AA0000100380000003800000038000100370055
+:101AB000000037000100360000003600000036004C
+:101AC0000100350000003500000035000100340041
+:101AD0000000340000003400010033000000330037
+:101AE000000033000100320000003200000032002C
+:101AF0000100310000003100000031000100300021
+:101B0000000030000000300001002F0000002F0016
+:101B100000002F0000002F0001002E0000002E000A
+:101B200000002E0001002D0000002D0000002D00FF
+:101B300000002D0001002C0000002C0000002C00F3
+:101B400000002C0001002B0000002B0000002B00E7
+:101B500000002B0001002A0000002A0000002A00DB
+:101B600000002A00010029000000290000002900CF
+:101B700000002900000029000100280000002800C2
+:101B800000002800000028000000280001002700B5
+:101B900000002700000027000000270000002700A9
+:101BA000010026000000260000002600000026009C
+:101BB000000026000100250000002500000025008F
+:101BC0000000250000002500000025000100240081
+:101BD0000000240000002400000024000000240075
+:101BE0000100230000002300000023000000230068
+:101BF0000000230000002300000023000100220059
+:101C0000000022000000220000002200000022004C
+:101C1000000022000100210000002100000021003E
+:101C20000000210000002100000021000000210030
+:101C30000100200000002000000020000000200023
+:101C40000000200000002000000020000000200014
+:101C500001001F0000001F0000001F0000001F0007
+:101C600000001F0000001F0000001F0001001E00F8
+:101C700000001E0000001E0000001E000000207476
+:101C80006F6F206C6F6E6720657874727573696F03
+:101C90006E2070726576656E7465640020636F6C8B
+:101CA0006420657874727573696F6E2070726576E2
+:101CB000656E746564000000090A02080B0C0D07CC
+:101CC0000603040100000000000000000000000006
+:101CD0000000000000000000000000000000000004
+:101CE000000011100F0000000000000000000000C4
+:101CF00000000000000000000000000000000000E4
+:101D000000000000000000000000000001021020A0
+:101D10002008081020401020408002010201080421
+:101D200002010102040810204080804020100804B5
+:101D3000020180040201804020100804020108040E
+:101D40000201010204081020408001020408102052
+:101D5000408010080408801020400440801020407B
+:101D600004800505050507050808080802020202A7
+:101D70000A0A080804040404010101010101010127
+:101D80000303030303030303040707070C0C0C0CF2
+:101D90000C0C0C0C020202020606060606060606DB
+:101DA0000B0B0B0B0B0B0B0B07070A0A0A0A0A0A91
+:101DB000050505040404080800002000230026008F
+:101DC00029002C002F003200000100000301060151
+:101DD000090100002200250028002B002E00310000
+:101DE000340002010000050108010B010000210080
+:101DF000240027002A002D003000330001010000DC
+:101E0000040107010A01024E414E494E4954594905
+:101E10004E46CDCCCC3D0AD7233C17B7D13877CC32
+:101E20002B329595E6241FB14F0A00002041000097
+:101E3000C84200401C4620BCBE4CCA1B0E5AAEC550
+:101E40009D749D63FF7DEDA5A16311241FBECFEF9F
+:101E5000D1E2DEBFCDBF00E00CBF15E0A0E0B2E0F4
+:101E6000E2E6F2E701E00BBF02C007900D92A23E4E
+:101E7000B107D9F724E1A2EEB5E001C01D92AD3B58
+:101E8000B207E1F71EE1C8E4DEE100E006C02297F8
+:101E90000109FE010BBF0E94D8B2C234D10780E015
+:101EA0000807A9F70E94F1A90C9420B90C9400002E
+:101EB000CF93DF93EC019C012C5F3F4F41E050E05A
+:101EC00060E070E0898D9A8D0E94FA19882399F05C
+:101ED0004D895E896F89788D452B462B472B59F4A8
+:101EE0004C815D816E817F814D8B5E8B6F8B788F96
+:101EF000998190689983DF91CF910895CF92DF9275
+:101F0000EF92FF920F931F93CF93DF93EC01898998
+:101F10009A89AB89BC89803E9F4FAF41B10510F0D3
+:101F200080E06BC0CE01C4DF8823D1F30E940E187D
+:101F3000182F8823A9F3E98DFA8DCC80DD80EE80FF
+:101F4000FF8032E0C31AD108E108F108058404C01B
+:101F5000CC0CDD1CEE1CFF1C0A94D2F786859785FD
+:101F6000A089B189C80ED91EEA1EFB1E81E08093AC
+:101F7000E805C092EB07D092EC07E092ED07F092F3
+:101F8000EE0780E092E0EBEEF5E0DF019C011D92B0
+:101F900021503040E1F701E0E98DFA8D8481081786
+:101FA00090F42BEE35E0B701A601400F511D611DE5
+:101FB000711D8091E9059091EA050E94E73B882315
+:101FC000E1F00F5FE9CFC12C82E0D82EE12CF12C9B
+:101FD000058404C0CC0CDD1CEE1CFF1C0A94D2F757
+:101FE00049895A896B897C894C0D5D1D6E1D7F1D49
+:101FF000498B5A8B6B8B7C8B812FDF91CF911F91FB
+:102000000F91FF90EF90DF90CF900895CF93DF93E3
+:10201000EC0141E0611101C040E06C857D858E8559
+:102020009F850E944E18882341F0888920E2829F74
+:10203000C001112485519A4F02C080E090E0DF91E9
+:10204000CF91089530E020E04EE2DC015C91503207
+:1020500071F0383029F4FB01E20FF11D40832F5F4E
+:10206000FB01E20FF11DDC015C9150832F5F3F5FAC
+:1020700001963B3051F7FB01E20FF11D10820895EC
+:10208000CF93DF93EB01FC012381211102C080E09B
+:102090000EC02250223020F48FE28883198206C0BD
+:1020A00060E0B4DF009799F3BE01CCDF81E0DF91FF
+:1020B000CF910895FB012BE030E231932150E9F7F5
+:1020C000DC0190E027E03A2FEB2F8D9181110AC0BF
+:1020D000DA013C931196EC9381E0FB019081903200
+:1020E00039F525C08F32A1F38E3219F0EAE8F1E01C
+:1020F00008C02A30E1F098E02AE0E5CF31963817A1
+:10210000B1F034913111FACF291788F03FED380F33
+:102110003E3568F431E0390FFB01E90FF11D9FE90D
+:10212000980F9A3108F480528083932FCCCF80E0AF
+:1021300008950F931F93CF93DF93EC018B018B8155
+:10214000882311F080E042C0FB018789803139F19A
+:102150008032C1F783E08B83F801428D538D648D0B
+:10216000758D4D8B5E8B6F8B788F9E012F5E3F4FF1
+:10217000C8010E940519882329F31A8F098F81E06D
+:1021800089831C821D821E821F82188619861A86E8
+:102190001B861C861D861E861F86188A17C082E035
+:1021A0008B831D8A1E8A1F8A188EFB01408D518DDC
+:1021B00060E070E095E0440F551F661F771F9A9509
+:1021C000D1F7498B5A8B6B8B7C8BD7CFDF91CF911B
+:1021D0001F910F9108952F923F924F925F926F92AD
+:1021E0007F928F929F92AF92BF92CF92DF92EF92A7
+:1021F000FF920F931F93CF93DF93EC015B016A0172
+:102200008B81811103C08FEF9FEFC7C0898180FF51
+:10221000FACF49895A896B897C8988859985AA85ED
+:10222000BB852601612C712C8A019B01081B190BAF
+:102230002A0B3B0B401651066206730618F06A0122
+:10224000C81AD90A76013E0124E0620E711CE1141D
+:10225000F10409F476C0488559856A857B854A0171
+:1022600081E098222B811A012B01E9E056944794D2
+:1022700037942794EA95D1F7898D9A8DFC01223005
+:1022800049F4628D738D848D958D620D731D841D4F
+:10229000951D3CC014811150122181149104C1F488
+:1022A000111116C0452B462B472B49F48D899E8969
+:1022B000AF89B88D8C839D83AE83BF8309C04C8169
+:1022C0005D816E817F81930121D7882309F49BCFA3
+:1022D000E98DFA8D6C817D818E819F8162507109BB
+:1022E00081099109058404C0660F771F881F991F13
+:1022F0000A94D2F72685378540895189620F731F6A
+:10230000841F951F610F711D811D911D20E032E01A
+:102310002819390987012E153F0508F4890101158F
+:10232000F2E01F0769F52091EB073091EC0740912F
+:10233000ED075091EE07621773078407950719F4AC
+:102340001FC0C6012AC09501AB01BC018091E905FF
+:102350009091EA050E94723B882309F454CFA00EA5
+:10236000B11E88859985AA85BB85800F911FA11D07
+:10237000B11D88879987AA87BB87E01AF10A67CFC2
+:1023800040E08CD6882309F43ECFB40165517A4FE2
+:10239000A801C5010E94F5B5E2CFDF91CF911F9151
+:1023A0000F91FF90EF90DF90CF90BF90AF909F90F4
+:1023B0008F907F906F905F904F903F902F900895F7
+:1023C000CF93DF931F92CDB7DEB741E050E0BE015F
+:1023D0006F5F7F4F00DF019719F4898190E002C0A1
+:1023E0008FEF9FEF0F90DF91CF910895CF92DF9203
+:1023F000EF92FF920F931F93CF93DF936C01EB014A
+:102400007A01FC018381823060F00085118522858C
+:1024100033850F71112722273327012B022B032B22
+:1024200011F08FEF5CC04115510511F0F7011082DA
+:102430001DE040E250E0BE01C601CDDE80329105D4
+:1024400039F021E0892B09F420E0822F819547C0E3
+:1024500028812223C1F0253E61F32E3251F33B85C2
+:102460003F733F3061F4E114F10449F04A8D5B8D14
+:10247000452B29F42F713FEF320F343030F02B858C
+:1024800023FDD7CF2CC080E02AC030E02150310995
+:10249000129FC001139F900D1124F701E80FF91F3F
+:1024A000298120832B8121832D8122832F812383E6
+:1024B000298524832E852583288926832A892783B5
+:1024C0002C8920872E892187288D22872C8D238790
+:1024D0002E8D2487288126FFD2CF1586D0CFDF917D
+:1024E000CF911F910F91FF90EF90DF90CF900895C3
+:1024F0001F93CF93DF93EC018B81823018F480E03F
+:1025000090E023C0488559856A857B85A5E076954E
+:10251000679557954795AA95D1F7142F1F70CE014F
+:102520004FDF97FDECCF488559856A857B85415EF5
+:102530005F4F6F4F7F4F488759876A877B8720E2BD
+:10254000129FC001112485519A4FDF91CF911F91A5
+:1025500008954F925F926F927F92AF92BF92CF9207
+:10256000DF92EF92FF920F931F93CF93DF93EC01D3
+:102570006A017B012B81222349F089899A89AB89E1
+:10258000BC8984179507A607B70710F480E06BC0D5
+:10259000223009F463C0C114D104E104F10449F408
+:1025A0001C821D821E821F82188619861A861B862F
+:1025B00059C088859985AA85BB85E98DFA8DE58501
+:1025C000F0E03996AC01BD01415051096109710932
+:1025D0000E2E04C076956795579547950A94D2F7C5
+:1025E00097018601015011092109310904C036956E
+:1025F000279517950795EA95D2F70417150726072B
+:10260000370720F0892B8A2B8B2B49F48D899E89E3
+:10261000AF89B88D8C839D83AE83BF8304C0041BB8
+:10262000150B260B370B280139015E0184E0A80E3B
+:10263000B11C411451046104710481F04C815D812D
+:102640006E817F819501898D9A8D60D591E0491ABF
+:102650005108610871088111ECCF05C0C886D98680
+:10266000EA86FB8681E0DF91CF911F910F91FF9069
+:10267000EF90DF90CF90BF90AF907F906F905F9082
+:102680004F9008950F931F93CF93DF93EC018B81AD
+:102690008823D1F1898187FF32C061E0CE01B6DCA9
+:1026A0008C01009789F1FC018081853E69F18B8165
+:1026B000823040F449895A896B897C89448F558FCF
+:1026C000668F778F4D895E896F89788DF801538F7A
+:1026D000428F758B648BE091E205F091E3053097B2
+:1026E00059F0B8016A5E7F4FC80148961995F80104
+:1026F000808D918D938B828B89818F778983DF91F8
+:10270000CF911F910F918AC481E0888380E0DF918F
+:10271000CF911F910F910895CF93DF93EC01B2DF1A
+:102720001B82DF91CF910895FC0123812111F4CF09
+:1027300008954F925F926F927F92AF92BF92CF9225
+:10274000DF92EF92FF920F931F93CF93DF9300D00E
+:102750001F92CDB7DEB75C016A017B01FC0183816A
+:102760008130E9F4818181FF1AC0F5018189928964
+:10277000A389B48984179507A607B70780F0892B2A
+:102780008A2B8B2B09F472C0F5014084518462843A
+:102790007384B701A601C501DCDE811102C080E0AF
+:1027A00066C0F501818D928DC114D104E104F1045C
+:1027B00069F4458956896789708D25D7882379F30F
+:1027C000F501158A168A178A108E37C0F5014481E3
+:1027D0005581668177819E012F5F3F4F97D4882373
+:1027E000F1F249815A816B817C81F501818D928D55
+:1027F000FC012789203139F4483FFFEF5F0761056D
+:102800007105D8F407C0483F2FEF520762072FE049
+:10281000720798F4F8D6882309F4C1CFF5014481F2
+:102820005581668177810FEF1FEF2FEF3FE0818D9C
+:10283000928D51D5882309F4B2CFF501C18AD28A8D
+:10284000E38AF48A818180688183C5011BDF882344
+:1028500009F4A5CFB701A6014C145D046E047F04F2
+:1028600010F4B301A201C50174DE01C081E00F9034
+:102870000F900F900F90DF91CF911F910F91FF90CC
+:10288000EF90DF90CF90BF90AF907F906F905F9070
+:102890004F900895FF920F931F93CF93DF93EC0116
+:1028A000F42E80E2689FF0011124E551FA4F8385F0
+:1028B000817121F0842F827109F04EC08091EB0765
+:1028C0009091EC07A091ED07B091EE078C879D8762
+:1028D000AE87BF87688B4489558960E070E0BA0194
+:1028E00055274427028D138D20E030E0402B512BDB
+:1028F000622B732B4D8B5E8B6F8B788F83858871EA
+:1029000051F4048D158D268D378D098B1A8B2B8BE9
+:102910003C8B81E00BC08031F9F49E012F5E3F4F6C
+:10292000898D9A8D72D48823B9F084E08B838F2DA2
+:102930008F7089831C821D821E821F8218861986D1
+:102940001A861B86F4FE0BC040E050E0BA01CE01AF
+:10295000F0DE811104C011C01B8280E00EC0F5FEC4
+:102960000BC049895A896B897C89CE01DF91CF914F
+:102970001F910F91FF90EDCD81E0DF91CF911F91DD
+:102980000F91FF900895AF92BF92CF92DF92EF9296
+:10299000FF920F931F93CF93DF937C01EB016A01AA
+:1029A000B22E898D9A8DF701928F818F40E050E091
+:1029B000BA01CE01CEDDA12C088519852A853B857B
+:1029C00089899A89AB89BC89081719072A073B07A7
+:1029D000A0F585E036952795179507958A95D1F747
+:1029E0000F70CE0185DD009709F481C0FC012081C4
+:1029F000222311F0253EB9F4A1100EC04091EB073F
+:102A00005091EC076091ED077091EE07F701448754
+:102A1000558766877787008BFC018081AA24A39461
+:102A20008111CACF0AC04BE050E0BC01C6010E9430
+:102A3000E8B5892B09F0C0CF58C08B2D8274823441
+:102A400009F055C0AA2049F0F701008961E0C701EB
+:102A5000DDDAEC01009769F44AC08B81823009F419
+:102A600046C0CE014BDA882309F441C0CBEED5E055
+:102A700000E080E2FE0111928A95E9F78BE0F60111
+:102A8000DE0101900D928A95E1F7E091E205F09167
+:102A9000E305309739F0BE01625F7F4FCE0140966B
+:102AA000199508C081E298E2998B888B80E098E0C4
+:102AB0009F878E87888999899B8B8A8B998F888F2E
+:102AC0008E859F859F8B8E8BA9D2882381F04B2D7D
+:102AD000602FC701DF91CF911F910F91FF90EF9071
+:102AE000DF90CF90BF90AF90D5CEB7FEF0CF80E013
+:102AF000DF91CF911F910F91FF90EF90DF90CF90DA
+:102B0000BF90AF9008953F924F925F926F927F92E5
+:102B10008F929F92AF92BF92CF92DF92EF92FF92ED
+:102B20000F931F93CF93DF93CDB7DEB7C354D10973
+:102B30000FB6F894DEBF0FBECDBF5C016B012496CB
+:102B40005FAF4EAF2497522E1C8E1F8E19821C82AF
+:102B50006115710511F410E073C0FC0183818111CE
+:102B6000FACF2496EEADFFAD249780818F3211F01D
+:102B700076011DC02496EEADFFAD249780818F3283
+:102B800031F431962496FFAFEEAF2497F3CFF601E0
+:102B900083818250823060F3F601618D728DCE01A7
+:102BA0000196C7DA8823B9F2CE0101967C018E0125
+:102BB000045E1F4F3801FE0131964F01402E312E29
+:102BC00019C08823A9F121E0AE01495C5F4FB7012C
+:102BD000C801D9DE882309F4BECFEC14FD0411F03E
+:102BE000C7019ADD0615170501F1942D832D780193
+:102BF000092F182FAE014E5B5F4FBE01695C7F4FFE
+:102C000024968EAD9FAD249755DA882309F4A3CF7F
+:102C10002496EEADFFAD249780818F3291F63196E8
+:102C20002496FFAFEEAF2497F3CF982D892DDFCFF9
+:102C3000252DAE01495C5F4FB701C501A4DE182FF9
+:102C4000CE01019671DDCE014C966EDD812FCD5BFC
+:102C5000DF4F0FB6F894DEBF0FBECDBFDF91CF912F
+:102C60001F910F91FF90EF90DF90CF90BF90AF90AA
+:102C70009F908F907F906F905F904F903F900895BE
+:102C8000CF93DF93EC0140E050E0BA0152DD88239E
+:102C900061F061E0CE01BAD9009739F025EEFC0170
+:102CA00020831B82DF91CF91B9C180E0DF91CF916A
+:102CB00008951F93CF93DF93CDB7DEB76B970FB611
+:102CC000F894DEBF0FBECDBFAB0119821C8222E09B
+:102CD000BC01CE01019617DF182F882321F0CE0109
+:102CE0000196CEDF182FCE0101961EDD812F6B9647
+:102CF0000FB6F894DEBF0FBECDBFDF91CF911F910D
+:102D000008952F923F924F925F926F927F928F928F
+:102D10009F92AF92BF92CF92DF92EF92FF920F936A
+:102D20001F93CF93DF9300D01F921F92CDB7DEB7D2
+:102D30008C015B013A01DC0113968C911397813071
+:102D4000C1F411968C9181FF14C082FF18C0F80164
+:102D5000418952896389748980859185A285B3856B
+:102D600084179507A607B70751F0C801F2DB811158
+:102D700006C081E0F80180838FEF9FEF37C16301C8
+:102D800083C0D80159968D919C915A97FC01F4818A
+:102D9000F1501A012B0169E0569447943794279417
+:102DA0006A95D1F7F221FD834A0121E09222FF23A7
+:102DB00009F476C080E092E08819990976018C15B3
+:102DC0009D0508F47C01D8015996ED91FC915A9724
+:102DD00014962D903D904D905C901797B2E02B1A71
+:102DE000310841085108058404C0220C331C441CDE
+:102DF000551C0A94D2F786859785A089B189280E3B
+:102E0000391E4A1E5B1EED812E0E311C411C511CC9
+:102E1000E114F2E0FF0609F089C08091EB07909180
+:102E2000EC07A091ED07B091EE0782159305A4057C
+:102E3000B50569F41092E8058FEF9FEFDC018093F0
+:102E4000EB079093EC07A093ED07B093EE07950185
+:102E5000B201A1018091E9059091EA050E94E73B4A
+:102E6000882309F486CFF80180859185A285B385F2
+:102E70008E0D9F1DA11DB11D80879187A287B387ED
+:102E8000AE0CBF1CCE18DF08D80118964D915D918D
+:102E90006D917C911B97C114D10409F072CF7AC057
+:102EA0008114910409F086CF14964D915D916D9136
+:102EB0007C911797411551056105710559F4559697
+:102EC0008D919D910D90BC91A02D0097A105B1050C
+:102ED00039F520C09E012F5F3F4F18D1882309F498
+:102EE00048CF89819A81AB81BC81F801218D328DD7
+:102EF000F9012789203139F4883FFFEF9F07A105A9
+:102F0000B10540F40DC0883F2FEF9207A2072FE0D4
+:102F1000B20730F0C8010E94580F81114BCF29CF62
+:102F2000F80184839583A683B78344CF81149104E9
+:102F300011F5D80118964D915D916D917C911B977B
+:102F400051968D919D910D90BC91A02D48175907D8
+:102F50006A077B0780F062D0882309F40ACF81E0FA
+:102F60008093E8052092EB073092EC074092ED0742
+:102F70005092EE0707C041E0C201B1018FD0882313
+:102F800009F4F7CEA701B501C40185519A4F0E94FB
+:102F9000F5B569CF51968D919D910D90BC91A02D65
+:102FA000F801218184179507A607B70738F4418BEC
+:102FB000528B638B748B206821830CC08091E20557
+:102FC0009091E305892B31F06114710419F02068A8
+:102FD000F8012183D80111968C9183FD02C0C301B1
+:102FE00005C0C8014FDB8111FACFC3CE0F900F90FF
+:102FF0000F900F900F90DF91CF911F910F91FF9045
+:10300000EF90DF90CF90BF90AF909F908F907F9088
+:103010006F905F904F903F902F900895CF93809145
+:10302000E8058823B9F14091EB075091EC076091D6
+:10303000ED077091EE072BEE35E08091E905909158
+:10304000EA050E94E73BC82F811102C0C0E023C0FF
+:103050004091E4055091E5056091E6057091E70522
+:10306000411551056105710591F02BEE35E0809118
+:10307000E9059091EA050E94E73B882339F3109215
+:10308000E4051092E5051092E6051092E70510920E
+:10309000E80501C0C1E08C2FCF910895CF92DF9257
+:1030A000EF92FF92CF936B017C01C42F8091EB07CD
+:1030B0009091EC07A091ED07B091EE078C159D055E
+:1030C000AE05BF05C9F0AADF811102C080E018C0BB
+:1030D0002BEE35E0B701A6018091E9059091EA0554
+:1030E0000E94723B882391F3C092EB07D092EC07C9
+:1030F000E092ED07F092EE0781E0C1118093E805C0
+:10310000CF91FF90EF90DF90CF9008958F929F9294
+:10311000AF92BF92CF92DF92EF92FF920F931F93E5
+:10312000CF93DF93EC016A017B01890189859A8540
+:10313000AB85BC850196A11DB11D84179507A60717
+:10314000B70710F480E054C08F89803129F49927A3
+:10315000872F762F652F0BC08032A1F7CB01BA01E4
+:1031600027E096958795779567952A95D1F78B886F
+:103170009C88AD88BE88680D791D8A1D9B1D809036
+:10318000EB079090EC07A090ED07B090EE07681564
+:1031900079058A059B0581F48F89803191F4DD24BE
+:1031A000EE24FF24F601EE0FFF1FE551FA4F808158
+:1031B0009181A0E0B0E016C040E070DF8111ECCF5B
+:1031C000C1CFE894C7F8DD24EE24FF24F601EE0F0A
+:1031D000FF1FEE0FFF1FE551FA4F80819181A28101
+:1031E000B381BF70F80180839183A283B38381E0B0
+:1031F000DF91CF911F910F91FF90EF90DF90CF90D3
+:10320000BF90AF909F908F9008954F925F926F9272
+:103210007F92AF92BF92CF92DF92EF92FF920F9385
+:103220001F93CF93DF9300D01F92CDB7DEB78C01F1
+:1032300049835A836B837C835901C12CD12C76013D
+:10324000412C42E0542E612C712C49815A816B81B2
+:103250007C819E012F5F3F4FC80158DF882341F1D9
+:10326000D301C201F801058404C0880F991FAA1F69
+:10327000BB1F0A94D2F7C80ED91EEA1EFB1E498155
+:103280005A816B817C818789803139F481E0483FA4
+:103290005F4F6105710538F4D8CF81E0483F5F4F3B
+:1032A0006F4F7F4090F2F501C082D182E282F382BB
+:1032B0000F900F900F900F90DF91CF911F910F9172
+:1032C000FF90EF90DF90CF90BF90AF907F906F9086
+:1032D0005F904F9008954F925F926F927F928F927E
+:1032E0009F92AF92BF92CF92DF92EF92FF920F9395
+:1032F0001F93CF93DF93EC014A015B012801390151
+:10330000423051056105710508F462C049855A854E
+:103310006B857C854F5F5F4F6F4F7F4F4815590519
+:103320006A057B0508F454C08F89803129F4FF2495
+:10333000EB2CDA2CC92C0CC0803209F049C0750185
+:10334000640177E0F694E794D794C7947A95D1F71F
+:103350004B895C896D897E89C40ED51EE61EF71ED9
+:1033600041E0C701B6019ADE882391F19F8990312F
+:1033700059F49924AA24BB24F401EE0FFF1FE55150
+:10338000FA4F5182408210C0E89487F89924AA2409
+:10339000BB24F401EE0FFF1FEE0FFF1FE551FA4FA4
+:1033A00040825182628273829A89923090F04D817C
+:1033B0005E816F8178854C0D5D1D6E1D7F1D409374
+:1033C000E4055093E5056093E6057093E70501C0B9
+:1033D00080E0DF91CF911F910F91FF90EF90DF90F0
+:1033E000CF90BF90AF909F908F907F906F905F90A5
+:1033F0004F9008952F923F924F925F926F927F92DB
+:103400008F929F92AF92BF92CF92DF92EF92FF92F4
+:103410000F931F93CF93DF93CDB7DEB72F970FB6E0
+:10342000F894DEBF0FBECDBF1C014C875D876E8751
+:103430007F873B872A87DC0119960D911D912D917D
+:103440003C911C970F5F1F4F2F4F3F4F0D831E83E3
+:103450002F833887EA85FB8580809180A280B380A6
+:1034600081149104A104B10431F0FFEF8F1A9F0A77
+:10347000AF0ABF0A10C0DC018D909D90AD90BC904A
+:10348000B1E0B9870C851D852E853F85013011057A
+:103490002105310509F0198675016401412C512C73
+:1034A0003201F10181859285A385B48548165906BC
+:1034B0006A067B0608F04EC00D811E812F8138857B
+:1034C0000C151D052E053F0550F4F2E0CF2ED12C32
+:1034D000E12CF12CA2E08A2E912CA12CB12C9E0182
+:1034E0002F5F3F4FB701A601C10110DE882391F184
+:1034F00049815A816B817C81D701C6010196A11D4A
+:10350000B11D452B462B472B19F04C015D010FC017
+:10351000AC01BD01481959096A097B090C851D8553
+:103520002E853F85401751076207730741F01FEF53
+:10353000411A510A610A710A6C017D01B2CF0FEF85
+:103540001FEF2FEF3FE0B701A601C101C4DE8D835D
+:10355000811113C01D823DC02601370121E0421AAE
+:1035600051086108710897018601B301A201C101E8
+:10357000B2DE882379F3730162018C149D04AE04DA
+:10358000BF0450F3AA85BB854D915D916D917C91EF
+:103590004115510561057105A9F4EA85FB85808215
+:1035A0009182A282B382F985FF2399F00FEF801AEE
+:1035B000900AA00AB00AD1018D929D92AD92BC9260
+:1035C000139707C095018401C10185DE8111E5CF04
+:1035D000C1CF8D812F960FB6F894DEBF0FBECDBF41
+:1035E000DF91CF911F910F91FF90EF90DF90CF90DF
+:1035F000BF90AF909F908F907F906F905F904F9013
+:103600003F902F900895AF92BF92CF92DF92EF92AA
+:10361000FF920F931F93CF93DF9300D01F92CDB7EC
+:10362000DEB75C016A017B0182E090E0A0E0B0E0DF
+:10363000F50180839183A283B3839E012F5F3F4F67
+:10364000B701A601C50162DD811102C080E023C07F
+:1036500000E010E09801B701A601C5013CDE882317
+:10366000A9F3C980DA80EB80FC80F501878980317D
+:1036700049F481E0F8EFCF16FFEFDF06E104F10433
+:1036800050F4DBCF81E098EFC9169FEFD906E90629
+:103690009FE0F90690F20F900F900F900F90DF913E
+:1036A000CF911F910F91FF90EF90DF90CF90BF903F
+:1036B000AF9008957F928F929F92AF92BF92CF92D8
+:1036C000DF92EF92FF920F931F93CF93DF93EC0162
+:1036D000142F7093EA056093E9051F8A82E090E059
+:1036E000A0E0B0E088839983AA83BB831092E805A9
+:1036F0001092E4051092E5051092E6051092E70598
+:103700008FEF9FEFDC018093EB079093EC07A09382
+:10371000ED07B093EE07442349F1453008F0DEC0D1
+:1037200040E060E070E0CB01B9DC882309F4D6C04A
+:1037300020E1129FF0011124E756F84F80818F7726
+:1037400009F0CCC084859585A685B785843691051A
+:10375000A105B10508F4C2C0C084D184E284F38419
+:10376000C114D104E104F10421F4B8C0C12CD12C5E
+:10377000760140E0C701B60191DC782E882309F478
+:10378000ADC08091F6059091F7058115924009F042
+:10379000A5C03091FB05332309F4A0C08091F90541
+:1037A0009091FA05892B09F499C02091F8052223FC
+:1037B00009F494C03A8B2C831D8630E041E050E040
+:1037C0006D85062FCA01062E02C0880F991F0A9424
+:1037D000E2F72817390731F081E0860F8D876830CE
+:1037E00078F37CC020910106309102062115310545
+:1037F00019F040E050E008C020910F06309110060B
+:1038000040911106509112062D833E834F835887B5
+:103810008091F9059091FA0546015701880E991E8D
+:10382000A11CB11C8B8A9C8AAD8ABE8AE091FC05E2
+:10383000F091FD05F98FE88FA091FB05B0E00E94A3
+:10384000C8B2680D791D8A1D9B1D6A8F7B8F8C8F76
+:103850009D8FB5E0EE0FFF1FBA95E1F7E150FE4FE7
+:10386000EF2FFF27E695DC01CB018E0F9F1FA11DD7
+:10387000B11D8E879F87A88BB98B8090FE05909095
+:10388000FF058114910419F0A12CB12C08C080907F
+:103890000B0690900C06A0900D06B0900E06A701A6
+:1038A0009601281B390B4A0B5B0BDA01C901880D05
+:1038B000991DAA1DBB1D04C0B695A7959795879520
+:1038C0000A95D2F789879A87AB87BC87853F3FE007
+:1038D0009307A105B10520F48CE08F8B712C15C0E6
+:1038E000853F9F4FA105B10510F480E10DC0809187
+:1038F000170690911806A0911906B0911A068A8FA2
+:103900009B8FAC8FBD8F80E28F8B872DDF91CF9106
+:103910001F910F91FF90EF90DF90CF90BF90AF90ED
+:103920009F908F907F9008954F925F926F927F92B9
+:103930008F929F92AF92BF92CF92DF92EF92FF92BF
+:103940000F931F93CF93DF932C0124E733E081E0A3
+:1039500090E0F90145915491441655060CF062C06F
+:10396000AC0141505109DA01AA0FBB1FAA0FBB1FBE
+:10397000AE58BC4FFD0165917491440F551F440F23
+:10398000551F40595C4FFA0165907490FC01EE0F91
+:10399000FF1FEE0FFF1FEE58FC4FA590B490FD01E6
+:1039A00005911491F901C591D491FA0185909490F3
+:1039B000882777FD8095982F0E9442AF6B017C018C
+:1039C000B20166197709882777FD8095982F0E94A4
+:1039D00042AF2B013C01B501601B710B882777FDBD
+:1039E0008095982F0E9442AF9B01AC01C301B201A8
+:1039F0000E9475B12B013C01BE0168197909882725
+:103A000077FD8095982F0E9442AF9B01AC01C301C6
+:103A1000B2010E94A7AE9B01AC01C701B6010E9492
+:103A2000C7AD11C001962C5F3F4F8D33910509F052
+:103A300090CFE2E6F4E065917491882777FD809558
+:103A4000982F0E9442AFDF91CF911F910F91FF906D
+:103A5000EF90DF90CF90BF90AF909F908F907F902E
+:103A60006F905F904F9008954F925F926F927F9208
+:103A70008F929F92AF92BF92CF92DF92EF92FF927E
+:103A80000F931F93CF93DF932C01662371F1E5E32E
+:103A9000FEE08491882341F09091C00095FFFCCF17
+:103AA0008093C6003196F5CF70E04AE050E08CE993
+:103AB0009DE00E945A8AE9E5F2E08491882341F072
+:103AC0009091C00095FFFCCF8093C6003196F5CF52
+:103AD0008091C00085FFFCCF8AE08093C6000E94E1
+:103AE000224560E070E0CB017EC024E733E081E056
+:103AF00090E0F90145915491441655060CF062C0CE
+:103B0000AC0141505109DA01AA0FBB1FAA0FBB1F1C
+:103B1000AE58BC4FFD0165917491440F551F440F81
+:103B2000551F40595C4FFA0165907490FC01EE0FEF
+:103B3000FF1FEE0FFF1FEE58FC4FA590B490FD0144
+:103B400005911491F901C591D491FA018590949051
+:103B5000882777FD8095982F0E9442AF6B017C01EA
+:103B6000B20166197709882777FD8095982F0E9402
+:103B700042AF2B013C01B501601B710B882777FD1B
+:103B80008095982F0E9442AF9B01AC01C301B20106
+:103B90000E9475B12B013C01BE0168197909882783
+:103BA00077FD8095982F0E9442AF9B01AC01C30125
+:103BB000B2010E94A7AE9B01AC01C701B6010E94F1
+:103BC000C7AD11C001962C5F3F4F8D33910509F0B1
+:103BD00090CFE2E6F4E065917491882777FD8095B7
+:103BE000982F0E9442AFDF91CF911F910F91FF90CC
+:103BF000EF90DF90CF90BF90AF909F908F907F908D
+:103C00006F905F904F90089560E08091440890918C
+:103C100045082ADF6093400870934108809342086A
+:103C20009093430880913E0890913F087DDE609319
+:103C30003A0870933B0880933C0890933D088FB7F7
+:103C4000F894109232088FBF089520911402309199
+:103C50001502409116025091170260E070E08FE764
+:103C600093E40E94A7AE60931208709313088093A8
+:103C7000140890931508089597FF03C080913908A0
+:103C800004C0FC01E45FF74F808190E00895CF937A
+:103C9000DF93D82FC62FC19561E00E9451A86C2FE9
+:103CA0008D2F0E948AA86C2F70E08D2FDF91CF910D
+:103CB0000C9447A7CF93C1E020E030E048E452E401
+:103CC00060914008709141088091420890914308AA
+:103CD0000E94A3B018160CF0C0E06C2F86E090E0B4
+:103CE000CF91D5CF2F923F924F925F926F927F925A
+:103CF0008F929F92AF92BF92CF92DF92EF92FF92FC
+:103D00000F931F93CF93DF93CDB7DEB728970FB6EE
+:103D1000F894DEBF0FBECDBF80913208882309F42E
+:103D2000F8C172DF8090400890904108A09042084E
+:103D3000B09043080091480810914908B8018827BD
+:103D400077FD8095982F0E9442AFA50194010E94B3
+:103D5000C6AD6B017C0160931A0870931B088093B9
+:103D60001C0890931D0820E030E040E251E40E94DE
+:103D7000A3B0181624F481E080931108F7C020E066
+:103D800030E040E251ECC701B6010E94A0AE87FDD1
+:103D900002C0012B21F481E0809311080CC18091B5
+:103DA0001108882351F010922E0810922F081092BB
+:103DB00030081092310810921108209118023091A9
+:103DC000190240911A0250911B02C701B6010E94CC
+:103DD00075B169837A838B839C8360932608709383
+:103DE0002708809328089093290820912E08309165
+:103DF0002F084091300850913108C701B6010E9448
+:103E0000C7AD2B013C012090160830901708109187
+:103E10001808009119089101412F502F0E94A0AE5F
+:103E200087FD14C0209012083090130810911408D8
+:103E3000009115089101412F502FB201C3010E943A
+:103E4000A3B018161CF01201162D072DC101A12FC9
+:103E5000B02F80932E0890932F08A0933008B09332
+:103E600031082091140230911502409116025091B0
+:103E70001702B101812F902F0E9475B16D837E834F
+:103E80008F83988760932208709323088093240877
+:103E90009093250820912A0830912B0840912C08F6
+:103EA00050912D08C501B4010E94C6AD20911002A9
+:103EB0003091110240911202509113020E9475B18B
+:103EC00020ED3CEC4CE45DE30E9475B12B013C011C
+:103ED00023E333E343E75FE360911E0870911F081B
+:103EE00080912008909121080E9475B19B01AC013E
+:103EF000C301B2010E94C7AD2B013C0160931E08B3
+:103F000070931F0880932008909321082D813E8193
+:103F10004F81588569817A818B819C810E94C7ADD0
+:103F2000A30192010E94C6AD2B013C0120E030E0CC
+:103F30004FE753E40E94A3B020E030E0A901181637
+:103F4000E4F4C701B6010E94A3B018167CF4A701DF
+:103F50009601B101812F902F0E94C6AD60932E086B
+:103F600070932F088093300890933108412C512C86
+:103F70009FE7692E93E4792E21C0C301B2010E940C
+:103F8000A0AE87FF1BC020E030E0A901C701B60149
+:103F90000E94A0AE87FF0FC0A7019601B101812F3B
+:103FA000902F0E94C6AD60932E0870932F088093C7
+:103FB000300890933108412C512C320180922A080C
+:103FC00090922B08A0922C08B0922D0860910408C2
+:103FD00070910508882777FD8095982F0E9442AF41
+:103FE0009B01AC01C501B4010E94A3B01816DCF41A
+:103FF0006091080270910902882777FD8095982FBB
+:104000000E9442AF9B01AC01C501B4010E94A0AE69
+:1040100087FF09C0C301B2010E940FAF7595679574
+:1040200060930C0802C010920C080E9431A9009104
+:1040300008081091090820910A0830910B08601BAC
+:10404000710B820B930B653C79408105910558F00B
+:1040500031DE0E9431A960930808709309088093AB
+:104060000A0890930B080E9431A900910D08109145
+:104070000E0820910F0830911008601B710B820B05
+:10408000930B683873418105910508F442C00E9482
+:1040900031A960930D0870930E0880930F089093D8
+:1040A0001008C0903A08D0903B08E0903C08F0908F
+:1040B0003D0820E030E040E751E4C701B6010E942E
+:1040C000A3B018161CF520E030E046E153E4C70128
+:1040D000B6010E94A0AE87FF19C06091460870919A
+:1040E0004708882777FD8095982F0E9442AF9B0153
+:1040F000AC01C701B6010E94A3B087FD03C01092B6
+:10410000390807C08FE78093390803C01092390837
+:10411000A59828960FB6F894DEBF0FBECDBFDF91ED
+:10412000CF911F910F91FF90EF90DF90CF90BF90B4
+:10413000AF909F908F907F906F905F904F903F9047
+:104140002F900895CF93DF931092160810921708BE
+:10415000109218081092190820911402309115023B
+:10416000409116025091170260E070E08FE793E4EF
+:104170000E94A7AE609312087093130880931408EE
+:10418000909315086D9A80910101806180930101DF
+:104190009D9A8091010180628093010187ED809357
+:1041A0007A0010927E0010927D0080917E008160E6
+:1041B00080937E0080917E00826080937E0080915B
+:1041C0007E00846080937E0080E888BD80916E00D0
+:1041D000846080936E006AEF70E080E090E00E945F
+:1041E00060A98FE090E0909305088093040860E058
+:1041F00080910A0290910B0237DC20E030E040E72A
+:1042000051E40E94A0AE87FF0AC080910A029091FB
+:104210000B02409790930B0280930A02E8CF8BE346
+:1042200091E0909309028093080260E08091060873
+:104230009091070819DC20E030E84DE953E40E9432
+:10424000A3B0181654F48091060890910708409680
+:104250009093070880930608E8CFC0910208D09198
+:104260000308CE0161DB20E030E046E153E40E9428
+:10427000A3B0181634F46096D0930308C0930208D4
+:10428000ECCFDF91CF9108950895109249081092D4
+:104290004808109247081092460810920C0875982A
+:1042A000109247081092460810923908A598089570
+:1042B0002F923F924F925F926F927F928F929F9236
+:1042C000AF92BF92CF92DF92EF92FF920F931F9324
+:1042D000CF93DF93CDB7DEB7AE970FB6F894DEBFBE
+:1042E0000FBECDBF6B8F7C8F8D8F292E5A8749874C
+:1042F0003CA72BA70E9431A96F8F78A389A39AA30B
+:104300000E9431A96FA378A789A79AA729853A8522
+:10431000121613061CF0E4E2F3E017C0E7E3F3E043
+:104320008191882339F09091C00095FFFCCF809354
+:10433000C600F6CF8091C00085FFFCCF1BC29091D4
+:10434000C00095FFFCCF8093C60081918111F7CF0B
+:104350008091C00085FFFCCF8AE08093C60095DF86
+:1043600049855A858FE7452B99F1809339088F8DC0
+:1043700098A1A9A1BAA1898B9A8BAB8BBC8B8D8795
+:104380009E87AF87B88B1D8290E4988FACE1A98F90
+:10439000B6E4BA8F1DA61D8A1E8A1F8A2FE730E059
+:1043A00040E050E029833A834B835C83EFE74E2E55
+:1043B000512C612C712C1BA21CA21DA21EA231E04B
+:1043C0003E8F1C861B86312C00E010E01EA605C027
+:1043D00080930C08CCCF0E949C7680913208882371
+:1043E00009F4F6C011DC49855A85452B51F030900F
+:1043F0003A0800913B0810913C0850913D085EA797
+:1044000009C0309040080091410810914208809105
+:1044100043088EA7232D302F412F5EA56DA57D89E2
+:104420008E899F890E94A3B018162CF03DA60D8B93
+:104430001E8B9EA59F8B232D302F412F5EA56D8156
+:10444000788D898D9A8D0E94A0AE87FD05C03D8232
+:10445000088F198FAEA5AA8F0E9431A92FA138A568
+:1044600049A55AA5621B730B840B950B653C7940DB
+:104470008105910538F01EDC0E9431A96FA378A751
+:1044800089A79AA74E8D442309F44FC02B8D3C8DEC
+:104490004D8D522D632D702F812F9EA50E94A3B0AC
+:1044A00018160CF095C00E9431A929893A894B89C8
+:1044B0005C89621B730B840B950B69387341810512
+:1044C000910508F485C0D301C20129813A814B814D
+:1044D0005C81821B930BA40BB50B49855A85B5955E
+:1044E000A79597958795452B19F08093390802C0B9
+:1044F00080930C080E9431A96D877E878F87988BE7
+:10450000DC01CB0129893A894B895C89821B930B99
+:10451000A40BB50B8BA39CA3ADA3BEA33B8D3DA762
+:104520004C8D4D8B5D8D5E8B2F8A2B8D3C8D4D8DF3
+:10453000522D632D702F812F9EA50E94A0AE87FF64
+:10454000EEC20E9431A92D853E854F855889621B98
+:10455000730B840B950B693873418105910508F441
+:10456000DEC20E9431A9698B7A8B8B8B9C8BDC011C
+:10457000CB012D853E854F855889821B930BA40B5B
+:10458000B50B4B855C85452B09F010C189819A815B
+:10459000AB81BC81840D951DA61DB71D29853A856B
+:1045A000B595A79597958795232B09F4B5C2809368
+:1045B00039084B855C854F5F5F4F5C874B875B8D10
+:1045C0005D838C8D888F9D8D998F2A8EA1E0AE8F13
+:1045D00020E030E040EA51E46B8D7C8D8D8D922D92
+:1045E0000E94C7AD9B01AC01632D702F812F9EA54A
+:1045F0000E94A3B0181694F4EFEFF2E084918823A0
+:1046000041F09091C00095FFFCCF8093C600319699
+:10461000F5CF8091C00085FFFCCFACC00E9431A9CE
+:104620002F8D38A149A15AA1621B730B840B950BE6
+:10463000613D77408105910508F44FC049855A8551
+:10464000452B81F0E0903908F12CE9EFF2E08491FC
+:104650008823C1F09091C00095FFFCCF8093C600E5
+:104660003196F5CFE0900C08F12CE3EFF2E0849165
+:10467000882341F09091C00095FFFCCF8093C60045
+:104680003196F5CF22E030E0432D502F612F7EA5EB
+:104690008CE99DE00E94308BEFEEF2E0849188235C
+:1046A00041F09091C00095FFFCCF8093C6003196F9
+:1046B000F5CF4AE050E0B7018CE99DE00E945A8AAC
+:1046C0008091C00085FFFCCF8AE08093C6000E94E5
+:1046D00031A96F8F78A389A39AA30E9431A96B0196
+:1046E0007C010E9431A989889A88AB88BC882D8575
+:1046F0003E854F855889820E931EA41EB51EC8188C
+:10470000D908EA08FB08C60ED71EE81EF91E31E8D4
+:10471000C3163FE4D30632E1E306F10490F0E2ED84
+:10472000F2E08491882341F09091C00095FFFCCF86
+:104730008093C6003196F5CF8091C00085FFFCCFF5
+:1047400019C04B855C858BA59CA5841795070CF03B
+:1047500042CEE6E7F2E08491882341F09091C000D8
+:1047600095FFFCCF8093C6003196F5CF8091C000B5
+:1047700085FFFCCF8AE08093C600AE960FB6F89412
+:10478000DEBF0FBECDBFDF91CF911F910F91FF9084
+:10479000EF90DF90CF90BF90AF909F908F907F90E1
+:1047A0006F905F904F903F902F9008958BA09CA0AA
+:1047B000ADA0BEA0880E991EAA1EBB1E2BA13CA1B7
+:1047C0004DA15EA1281B390B4A0B5B0BCA01B90135
+:1047D00029813A814B815C810E943BB2A501940101
+:1047E0000E94A0B2240D351D461D571D24313105F0
+:1047F0004105510504F129013A013CEE43165104EB
+:10480000610471042CF06BEE462E512C612C712C3E
+:1048100040E84416510461047104DCF08EEF90E02E
+:10482000A0E0B0E084199509A609B70989839A83A5
+:10483000AB83BC8312C054E1452E512C612C712CEA
+:1048400024E130E040E050E029833A834B835C83ED
+:1048500004C049825A826B827C82E8E6F3E084914C
+:10486000882341F09091C00095FFFCCF8093C60053
+:104870003196F5CF2AE030E0B301A2018CE99DE04A
+:104880000E94378AE3E6F3E08491882341F0909117
+:10489000C00095FFFCCF8093C6003196F5CF2AE08B
+:1048A00030E049815A816B817C818CE99DE00E94D6
+:1048B000378AECE5F3E08491882341F09091C000C1
+:1048C00095FFFCCF8093C6003196F5CF22E030E013
+:1048D0004D81588D698D7A8D8CE99DE00E94308BD9
+:1048E000E5E5F3E08491882341F09091C00095FFC5
+:1048F000FCCF8093C6003196F5CF22E030E04DA585
+:104900005D896E897F898CE99DE00E94308B809162
+:10491000C00085FFFCCF8AE08093C6002B853C85D4
+:10492000233031050CF432CE69817A818B819C81F0
+:104930000E9442AF20E030E040E850E40E9475B1B0
+:104940006B017C012D81388D498D5A8D6DA57D8936
+:104950008E899F890E94C6AD20ED3FE049E450E476
+:104960000E9475B120E030E040E05FE30E9475B145
+:104970009B01AC01C701B6010E94A7AE6B017C018F
+:10498000C501B4010E9442AF20E030E04AE754E4A0
+:104990000E94A7AE4B015C01EFE4F3E08491882311
+:1049A00041F09091C00095FFFCCF8093C6003196F6
+:1049B000F5CF22E030E0B701A6018CE99DE00E942E
+:1049C000308BE9E4F3E08491882341F09091C000BA
+:1049D00095FFFCCF8093C6003196F5CF22E030E002
+:1049E000B501A4018CE99DE00E94308B8091C0004C
+:1049F00085FFFCCF8AE08093C6002AE939E949E1C6
+:104A00005FE3C701B6010E9475B16B017C019B0198
+:104A1000AC010E94C7ADA50194010E94A7AE6D83B1
+:104A20007E838F839887A5019401C701B6010E94F8
+:104A300075B120E030E040E05EE30E9475B14B01CB
+:104A40005C01EBE3F3E08491882341F09091C00096
+:104A500095FFFCCF8093C6003196F5CF8091C000C2
+:104A600085FFFCCF8AE08093C600E5E3F3E0849104
+:104A7000882341F09091C00095FFFCCF8093C60041
+:104A80003196F5CF22E030E0B701A6018CE99DE038
+:104A90000E94308B8091C00085FFFCCF8AE080931C
+:104AA000C600EFE2F3E08491882341F09091C000CA
+:104AB00095FFFCCF8093C6003196F5CF22E030E021
+:104AC0004D815E816F8178858CE99DE00E94308BFD
+:104AD0008091C00085FFFCCF8AE08093C600E9E2A8
+:104AE000F3E08491882341F09091C00095FFFCCFC2
+:104AF0008093C6003196F5CF22E030E0B501A401E5
+:104B00008CE99DE00E94308B8091C00085FFFCCF36
+:104B10008AE08093C6003ACD80930C084ACD1E8E61
+:104B200057CDCF93C82FB1DB0E94E949811134C022
+:104B3000E5E3FEE09491992341F08091C00085FF68
+:104B4000FCCF9093C6003196F5CF6C2F70E04AE011
+:104B500050E08CE99DE00E945A8A8091C00085FF58
+:104B6000FCCF8AE08093C600ECE2F2E084918823D7
+:104B700041F09091C00095FFFCCF8093C600319624
+:104B8000F5CF8091C00085FFFCCF8AE08093C600FE
+:104B90008FE192E00E940D76CF910C94AA49CF93B9
+:104BA000C82F73DB0E94E949811134C0E5E3FEE0C0
+:104BB0009491992341F08091C00085FFFCCF9093A0
+:104BC000C6003196F5CF6C2F70E04AE050E08CE9DA
+:104BD0009DE00E945A8A8091C00085FFFCCF8AE048
+:104BE0008093C600E2EFF1E08491882341F0909138
+:104BF000C00095FFFCCF8093C6003196F5CF809121
+:104C0000C00085FFFCCF8AE08093C60085EE91E06E
+:104C10000E940D76CF910C94AA49A5980E94E9496B
+:104C2000811125C0E5E3FEE08491882341F0909155
+:104C3000C00095FFFCCF8093C6003196F5CFEBEA1C
+:104C4000F1E08491882341F09091C00095FFFCCF62
+:104C50008093C6003196F5CF8091C00085FFFCCFD0
+:104C60008AE08093C6008AE991E00E940D760C9458
+:104C7000AA491F920F920FB60F9211240BB60F92F2
+:104C80000F931F932F933F934F935F936F937F9354
+:104C90008F939F93AF93BF93CF93DF93EF93FF9344
+:104CA00080910702811112C080910C088093010845
+:104CB000882311F0759A01C0759880913908809306
+:104CC0000008882311F0A59A01C0A59890910108C9
+:104CD00080910702981708F47598909100088091C8
+:104CE0000702981708F4A598809107028F5F8F77C5
+:104CF000809307028091060290E08B30910508F0C6
+:104D000093C0FC01EE58FF4F0C94BCB210927B0094
+:104D100080E480937C0080917A00806480937A00A4
+:104D20000E94167681E019C02091780030917900B8
+:104D30008091FC079091FD07A091FE07B091FF07BD
+:104D4000820F931FA11DB11D8093FC079093FD0757
+:104D5000A093FE07B093FF0782E08093060264C031
+:104D600010927B0082E480937C0080917A008064C2
+:104D700080937A000E94167683E0EFCF209178002E
+:104D8000309179008091F8079091F907A091FA0786
+:104D9000B091FB07820F931FA11DB11D8093F807EF
+:104DA0009093F907A093FA07B093FB0784E0D5CF5F
+:104DB00010927B0081E480937C0080917A00806473
+:104DC00080937A000E94167685E0C7CF2091780004
+:104DD000309179008091F4079091F507A091F60742
+:104DE000B091F707820F931FA11DB11D8093F407A7
+:104DF0009093F507A093F607B093F70786E0ADCF41
+:104E00000E94167687E0A9CF88E0A7CF0E94167689
+:104E100089E0A3CF109206028091F3078F5F809301
+:104E2000F30702C0109206028091F307803108F464
+:104E300063C080913208811110C08091FC0790916D
+:104E4000FD0790934508809344088091F80790915E
+:104E5000F90790933F0880933E0881E080933208E1
+:104E60001092F3071092FC071092FD071092FE07B4
+:104E70001092FF071092F4071092F5071092F607B0
+:104E80001092F7071092EF071092F0071092F107B7
+:104E90001092F2071092F8071092F9071092FA0791
+:104EA0001092FB0720914408309145088091060834
+:104EB000909107088217930714F080E032DE20916A
+:104EC00044083091450880910A0290910B022817FE
+:104ED000390714F080E063DE20913E0830913F08EE
+:104EE0008091020890910308821793072CF010928A
+:104EF00047081092460891DE00E010E0E801CC0F70
+:104F0000DD1FCD5CD74F888199811816190644F4AE
+:104F100061E0802F0E94D59388819981019709C013
+:104F2000892B49F060E0802F0E94D5938881998178
+:104F30000196998388830F5F1F4F03301105F1F6A7
+:104F4000FF91EF91DF91CF91BF91AF919F918F91A1
+:104F50007F916F915F914F913F912F911F910F9191
+:104F60000F900BBE0F900FBE0F901F9018952CEA5C
+:104F700035EC47E25EE30C9475B12CEA35EC47E280
+:104F80005EE30C94A7AE2CEA35EC47E25EE30C94AA
+:104F9000A7AE2CEA35EC47E25EE30C9475B1CF93F3
+:104FA000DF93EC0160E08E810E948AA881E090E0AE
+:104FB0000E9484A961E08E810E948AA881E090E02D
+:104FC0000E9484A960E08E810E948AA884E690E015
+:104FD000DF91CF910C9484A9CF92DF92EF92FF9250
+:104FE0000F931F93CF93DF937C01C0E0D0E0C62ED8
+:104FF000D12C87010C0F1D1F61E0F80187810E94F1
+:1050000051A8B6010C2E02C0759567950A94E2F777
+:105010006170F80187810E948AA82196C430D10569
+:1050200041F7C701DF91CF911F910F91FF90EF9052
+:10503000DF90CF90B4CFCF92DF92EF92FF920F9399
+:105040001F93CF93DF937C01C0E0D0E0C62ED12C1C
+:1050500087010C0F1D1F61E0F80187810E9451A894
+:10506000B6010C2E02C0759567950A94E2F761703F
+:10507000F80187810E948AA82196C830D10541F79E
+:10508000C701DF91CF911F910F91FF90EF90DF90BB
+:10509000CF9085CF1F93CF93DF93EC01162F642F12
+:1050A0008C810E948AA88D818F3F19F060E00E9458
+:1050B0008AA88F85612F84FF05C0CE01DF91CF9133
+:1050C0001F91B9CF70E084E0759567958A95E1F7F7
+:1050D000CE0182DF612FCE01DF91CF911F917CCF76
+:1050E00040E0D8CF61E0FCDF80E496E00C9484A936
+:1050F00062E0F6DF80E496E00C9484A9CF93DF931E
+:10510000CDB7DEB728970FB6F894DEBF0FBECDBF80
+:1051100028E0E7EAF2E0DE01119601900D922A956F
+:10512000E1F7FC012389421710F04FEF420FFE0117
+:105130003196E40FF11DE40FF11D2081260F206848
+:10514000622F28960FB6F894DEBF0FBECDBFDF9159
+:10515000CF91C6CFFC016089262F2460208B6C6024
+:10516000BFCFCF93DF93EC01423018F08F8588607A
+:105170008F874B8B1C8A222329F0413019F48F85AD
+:1051800084608F8780E593EC0E9484A960E08C8125
+:105190000E948AA860E08E810E948AA88D818F3F3C
+:1051A00019F060E00E948AA86F8564FD19C063E071
+:1051B000CE0112DF84E991E10E9484A963E0CE016F
+:1051C0000BDF84E991E10E9484A963E0CE0104DF52
+:1051D00086E990E00E9484A962E0CE01FDDE13C062
+:1051E0006062CE017DDF84E991E10E9484A96F8530
+:1051F0006062CE0175DF86E990E00E9484A96F8528
+:105200006062CE016DDF6F856062CE0169DF84E090
+:10521000888BCE019FDFCE0165DF82E0898B66E05F
+:10522000CE01DF91CF915CCF6F927F928F92AF9240
+:10523000CF92EF920F931F93CF93DF93CDB7DEB74B
+:105240003C01162F842F5E854F8538899989F3019B
+:10525000848325830683E782C086A186828653875E
+:1052600044873587968761E00E9451A8F3018581C4
+:105270008F3F19F061E00E9451A861E0F30186813F
+:105280000E9451A8112319F0F301178603C080E191
+:10529000F301878720E041E060E1C301DF91CF9116
+:1052A0001F910F91EF90CF90AF908F907F906F9064
+:1052B00058CF8F92AF92CF92EF920F93DC0113965B
+:1052C0001C921E921297E5E6F3E0ED93FC931F9279
+:1052D0001F921F921F928C2CAE2CC02EE22E042FF8
+:1052E0002FEF462F61E0A0DF0F900F900F900F90EF
+:1052F0000F91EF90CF90AF908F900895CF93DF9361
+:10530000EC01423018F08F8588608F874B8B1C8AA8
+:10531000222329F0413019F48F8584608F8780E53E
+:1053200093EC0E9484A960E08C810E948AA860E0CE
+:105330008E810E948AA88D818F3F19F060E00E94C3
+:105340008AA86F8564FD19C063E0CE0145DE84E95B
+:1053500091E10E9484A963E0CE013EDE84E991E1FF
+:105360000E9484A963E0CE0137DE86E990E00E94C6
+:1053700084A962E0CE0130DE13C06062CE01B0DEEF
+:1053800084E991E10E9484A96F856062CE01A8DE64
+:1053900086E990E00E9484A96F856062CE01A0DE5C
+:1053A0006F856062CE019CDE84E0888BCE01D2DE08
+:1053B000CE019EDE82E0898B66E0CE0191DE40E088
+:1053C00068E0CE019BDE6EE873E0CE010E94BEADC8
+:1053D00041E068E0CE0192DE6EE873E0CE010E940B
+:1053E000BEAD42E066E0CE0189DE6CE873E0CE013E
+:1053F000DF91CF910C94BEADCF92DF92EF92FF92EE
+:105400000F931F93CF93DF931F921F92CDB7DEB7F9
+:105410008C01677088E0689FB00111246064C80146
+:1054200049835A835DDE4981C42E5A81D52EE12CF1
+:10543000F12CD6016D916D01D801ED91FC91019097
+:10544000F081E02DC8011995BFEFEB1AFB0AE8E0E7
+:10545000EE16F10471F70F900F90DF91CF911F912D
+:105460000F91FF90EF90DF90CF90089541E012DE12
+:1054700081E090E008952F923F924F925F926F9259
+:105480007F928F929F92AF92BF92CF92DF92EF92D4
+:10549000FF920F931F93CF93DF93CDB7DEB7CF5417
+:1054A000D1090FB6F894DEBF0FBECDBF1C017E8FB1
+:1054B0006D8F4A012FAB09AF2896EFAE28972C9637
+:1054C000ACAEBDAECEAEDFAE2C9734E0239F500124
+:1054D0001124FC01EA0DFB1D80819181A281B38121
+:1054E000898F9A8FAB8FBC8FDA01AA0DBB1DBCAF21
+:1054F000ABAF4D905D906D907C90A3019201698D52
+:105500007A8D8B8D9C8D0E94C7AD21966CAF7DAF3F
+:105510008EAF9FAF2197B4E00B9F80011124F10162
+:10552000E00FF11F20813181428153812F8F38A3F9
+:1055300049A35AA3A401400F511F23965FAF4EAF5A
+:105540002397DA01CD90DD90ED90FC90A7019601B4
+:105550006F8D78A189A19AA10E94C7AD27966CAFE3
+:105560007DAF8EAF9FAF27972896EFAD2897B4E019
+:10557000EB9FC0011124F101E80FF91F2081318157
+:10558000428153812BA33CA34DA35EA3ED8DFE8DE1
+:10559000E80FF91F60817181828193810E94C6ADFD
+:1055A0006FA378A789A79AA7AD8DBE8D1C968D9104
+:1055B0009D910D90BC91A02D60968CAF9DAFAEAF2C
+:1055C000BFAF6097D1011C962D913D914D915C919B
+:1055D0001F972BA73CA74DA75EA7A3019201505888
+:1055E0002D8B3E8B4F8B588FD701C601B058898BBE
+:1055F0009A8BAB8BBC8BED8DFE8DEA0DFB1D208154
+:105600003181428153812FA738AB49AB5AAB2196E8
+:105610002CAD3DAD4EAD5FAD21976FA578A989A9A1
+:105620009AA90E94C6AD6B017C01ED8DFE8DE00F45
+:10563000F11F80819181A281B3818BAB9CABADAB1B
+:10564000BEAB27962CAD3DAD4EAD5FAD2797BC01EF
+:10565000CD010E94C6AD4B015C01A70196016D8989
+:105660007E898F89988D0E9475B12B013C01A5011F
+:10567000940169897A898B899C890E9475B19B0103
+:10568000AC01C301B2010E94C7AD2B013C01A501D1
+:1056900094016D897E898F89988D0E9475B14B0127
+:1056A0005C01A701960169897A898B899C890E948E
+:1056B00075B19B01AC01C501B4010E94C6ADA30147
+:1056C00092010E943AAE6B017C0120E030E0A9011A
+:1056D0000E94A0AE87FF0AC02BED3FE049EC50E4EA
+:1056E000C701B6010E94C7AD6B017C01AA968FADC0
+:1056F000AA97882351F02BED3FE049EC50E4C70115
+:10570000B6010E94C6AD6B017C012FA538A949A93D
+:105710005AA9698D7A8D8B8D9C8D0E94A0AE8111C6
+:105720001FC02BA93CA94DA95EA96F8D78A189A1A5
+:105730009AA10E94A0AE811113C020E030E0A9011F
+:10574000C701B6010E94A0AE81110AC02BED3FE057
+:1057500049EC50E4C701B6010E94C7AD6B017C0162
+:10576000A9962CAD3DAD4EAD5FADA997C701B60171
+:105770000E9475B12FA138A549A55AA55F770E944F
+:10578000B0B04B015C012FE632E143E85AE30E94DE
+:10579000A0AE87FDC8C1C501B4010E947DAF0E94C3
+:1057A00014AF7A8F698FDB01AB2B21F4E1E0F0E0DD
+:1057B000FA8FE98F298D3A8DB90180E090E00E943F
+:1057C00040AF4B015C019B01AC01C701B6010E94D7
+:1057D000A7AE2B013C01A50194016FA178A589A575
+:1057E0009AA50E94A7AE6FA778AB89AB9AAB2BA501
+:1057F0003CA54DA55EA560966CAD7DAD8EAD9FAD13
+:1058000060970E94C6ADA50194010E94A7AE6BAB44
+:105810007CAB8DAB9EAB20E030E040E05FE3C301AA
+:10582000B2010E9475B1A30192010E9475B19B0162
+:10583000AC0160E070E080E89FE30E94C6AD6FA31A
+:1058400078A789A79AA7CE010196FC0128964FADAB
+:10585000289734E0439FE00DF11D11242BA13CA1BA
+:105860004DA15EA120833183428353832BA53CA5A8
+:105870004DA55EA52D873E874F87588BB12C41E003
+:1058800050E058A34F8F1C01BFA9A4E0BA9F800D20
+:10589000911D112498AF8FAB910159AD44E0549FF5
+:1058A000200D311D11243AAF29AFFCA7EBA74F8D76
+:1058B00058A1898D9A8D4817590708F01AC188E1B7
+:1058C0008B150CF444C02FA138A549A55AA56989A8
+:1058D0007A898B899C890E9475B16B017C01A30137
+:1058E00092016D897E898F89988D0E9475B1A7017B
+:1058F00096010E94C7ADA62E172F982E892E2FA194
+:1059000038A549A55AA56D897E898F89988D0E94F1
+:1059100075B16B017C01A301920169897A898B8938
+:105920009C890E9475B19B01AC01C701B6010E9420
+:10593000C6AD6D8B7E8B8F8B988FB3948A2D912FF4
+:10594000A92DB82D898B9A8BAB8BBC8B6CC0AF8D7E
+:10595000B8A1BD0180E090E00E9440AFA301920198
+:105960000E9475B16B017C010E94A4AE698B7A8B99
+:105970008B8B9C8BC701B6010E94D8B14B015C0197
+:10598000EBADFCADC080D180E280F380F7FAF094FB
+:10599000F7F8F0942396AEADBFAD23972D913D91CE
+:1059A0004D915C912BA33CA34DA35EA329893A8919
+:1059B0004B895C89C701B6010E9475B16D8B7E8BE6
+:1059C0008F8B988FA50194016BA17CA18DA19EA1C5
+:1059D0000E9475B19B01AC016D897E898F89988D7C
+:1059E0000E94C7AD6D8B7E8B8F8B988FA501940124
+:1059F000C701B6010E9475B16B017C0129893A8902
+:105A00004B895C896BA17CA18DA19EA10E9475B17F
+:105A10009B01AC01C701B6010E94C6AD698B7A8BB0
+:105A20008B8B9C8BB12C2D893E894F89588D21966B
+:105A30006CAD7DAD8EAD9FAD21970E94C7ADEFA936
+:105A4000F8AD608371838283938329893A894B8976
+:105A50005C8927966CAD7DAD8EAD9FAD27970E947A
+:105A6000C7ADA9ADBAAD6D937D938D939C931397FC
+:105A70002FA538A949A95AA9EBA5FCA56081718178
+:105A8000828193810E94C7ADABA5BCA56D937D9328
+:105A90008D939C9313972BA93CA94DA95EA96D8565
+:105AA0007E858F8598890E94C7AD6D877E878F8799
+:105AB000988BC1010E946A41FE01E659FF4F6F01B8
+:105AC0002C96ECACFDAC0EAD1FAD2C979E01235F68
+:105AD0003F4FAE01475F5F4FBE016B5F7F4FC1011C
+:105AE0000E94779A2F8D38A12F5F3F4F38A32F8FB9
+:105AF000DECE2D8D3E8D245F3F4F4D8D5E8D485FF8
+:105B00005F4F6D8D7E8D6C5F7F4FDE01A659BF4F5D
+:105B10006D012C96ECACFDAC0EAD1FAD2C978D8DB0
+:105B20009E8D0E94779AC15BDF4F0FB6F894DEBF5F
+:105B30000FBECDBFDF91CF911F910F91FF90EF90DE
+:105B4000DF90CF90BF90AF909F908F907F906F909D
+:105B50005F904F903F902F900895FC011482178220
+:105B6000138212828AEB95E09183808308952AEB59
+:105B700035E0FC01318320832781222319F004962C
+:105B80000C948C130895CF92DF92EF92FF920F93B3
+:105B90001F93CF93DF93EC01875B9F4FDEDFCE0136
+:105BA00086599F4FDADF7E0129E8E20EF11C87015A
+:105BB0006E0131E4C31A3EEFD30AC801CEDF015EA5
+:105BC0001F4F0C151D05C9F7FE01EF53FE4F89E16C
+:105BD000818314823596178ACE018C519E4FBDDF8A
+:105BE000FE01EB56FD4F108211821282138238960D
+:105BF00010821182128213821A821B8218821982E9
+:105C00006E0187E6C81A8DEFD80AF601108211825C
+:105C100012821382F80111821082FE01ED5FFD4FA6
+:105C2000108286E391E0F7019C01119221503040EF
+:105C3000E1F7FE01EF55FD4F81E08083C95BDF4F47
+:105C4000198218820E9431A968577C4E8F4F9F4F4E
+:105C5000F6016083718382839383DF91CF911F91DB
+:105C60000F91FF90EF90DF90CF900895FC0120E01E
+:105C70003EE2DB014C91403241F0283011F4308398
+:105C80003196DB014C91408331962F5F6F5F7F4FE0
+:105C90002B3079F7108208952F923F924F925F92A6
+:105CA0006F927F928F929F92AF92BF92CF92DF922C
+:105CB000EF92FF920F931F93CF93DF93CDB7DEB791
+:105CC000CA58D1090FB6F894DEBF0FBECDBF8C0104
+:105CD0006B017A014901CA57DF4F1882C658D0407C
+:105CE00084E0E80EF11C180191E1290E311CF80145
+:105CF000EA5BFF4FC957DF4FF983E883C758D040AD
+:105D00003801FEE56F1AFDEF7F0A58018CE5A81AED
+:105D10008DEFB80A80E4482E512C4C0E5D1E94E0A5
+:105D2000490E511CA101BE016F5F7F4FC7010E9448
+:105D3000F61118160CF03CC12C85322F3871303119
+:105D400009F09EC0F301808191810197029708F4C8
+:105D500097C0BE016F5F7F4FCE0187589F4F86DF90
+:105D6000A0961FAEA097F6018081811107C069E659
+:105D700073E0CE01815A9F4F0E9418B6B601CE0142
+:105D8000815A9F4F0E9418B6BE0167587F4FCE01BF
+:105D9000815A9F4F0E9418B669E673E0CE01815A7E
+:105DA0009F4F0E9418B6CE01805C9F4FD6DE21E047
+:105DB000AE0147585F4FB701C2010E9483158111A0
+:105DC00039C0F30180819181892BA1F5EFE2FEE0DA
+:105DD0008491882341F09091C00095FFFCCF80937F
+:105DE000C6003196F5CFEBE6F3E08191882339F0D8
+:105DF0009091C00095FFFCCF8093C600F6CF8091B4
+:105E0000C00085FFFCCF8AE08093C600FE01E75802
+:105E1000FF4F8191882339F09091C00095FFFCCF0E
+:105E20008093C600F6CF8091C00085FFFCCF8AE04A
+:105E30008093C6008BE1FE01EC5BFF4FDE0195967F
+:105E400001900D928A95E1F724968EAD9FAD24972F
+:105E50009CA38BA38AEB95E09AA389A320E030E072
+:105E6000AE014F5D5F4FBE01615A7F4FC80114DF25
+:105E7000CE0181967CDECE01805C9F4F78DE52CFD2
+:105E80008981882309F494C08E3209F44BCF8F3571
+:105E900009F448CFF80181898E3209F443CF8F3558
+:105EA00009F440CF23FD3ECF81E0303109F080E09E
+:105EB000C957DF4FE881F981C758D04080838111ED
+:105EC00008C08985873409F02DCF8A858E3709F47B
+:105ED00029CF98012C5F3F4FBE016F5F7F4FC901F3
+:105EE000C757DF4F2883C958D040C657DF4F388384
+:105EF000CA58D040BBDEF30180819181C757DF4F84
+:105F00002881C958D040C657DF4F3881CA58D04081
+:105F10000097F1F4F6018191882339F09091C00047
+:105F200095FFFCCF8093C600F6CFF90181918823BD
+:105F300039F09091C00095FFFCCF8093C600F6CF5A
+:105F40008091C00085FFFCCF8AE08093C600EACE36
+:105F50008130910539F4F501808191810196918319
+:105F60008083E0CE029709F0DDCE8114910439F0F0
+:105F7000B901C4010E9405B6892B71F419C0CA5732
+:105F8000DF4FF881C658D0402F2F30E0F5018081D7
+:105F900091812817390761F0CA57DF4FF881C65839
+:105FA000D040FF5FCA57DF4FF883C658D040BACE03
+:105FB000C657DF4F0FB6F894DEBF0FBECDBFDF91DF
+:105FC000CF911F910F91FF90EF90DF90CF90BF90F6
+:105FD000AF909F908F907F906F905F904F903F9089
+:105FE0002F9008950F931F93CF93DF93CDB7DEB714
+:105FF0006F970FB6F894DEBF0FBECDBF8C01FC01CA
+:10600000EE55FD4F1182108240E050E0BA01835BF3
+:106010009F4F0E94A912C801875B9F4F2BE1FC0193
+:106020003496DE01159601900D922A95E1F7FC0158
+:10603000828193819C838B838AEB95E09A83898309
+:1060400020E030E0AE014F5F5F4F62E973E0C801CE
+:1060500023DECE0101968BDD6F960FB6F894DEBF7E
+:106060000FBECDBFDF91CF911F910F9108952BE10E
+:10607000FB013496DC01149601900D922A95E1F70C
+:10608000FB0122813381FC01338322830895EF9247
+:10609000FF920F931F93CF93DF93EC011B82FC01C0
+:1060A000E05BFF4F8081882329F0CE01835B9F4F07
+:1060B0000E948C137E018FE3E81A8EEFF80A45E305
+:1060C00060E0C7010E94BF3A81111FC0EFE2FEE00D
+:1060D0008491882341F09091C00095FFFCCF80937C
+:1060E000C6003196F5CFE7E4F6E08491882341F0CD
+:1060F0009091C00095FFFCCF8093C6003196F5CFFC
+:106100008091C00085FFFCCF77C08E010A531E4FDF
+:1061100041E0B701C8010E945A1B811126C040E02E
+:10612000B701C8010E945A1B81111FC0E5E3FEE0C0
+:106130008491882341F09091C00095FFFCCF80931B
+:10614000C6003196F5CFE4E3F6E08491882341F070
+:106150009091C00095FFFCCF8093C6003196F5CF9B
+:106160008091C00085FFFCCF47C0B801CE01835BA2
+:106170009F4F0E94991081111FC0E5E3FEE08491BA
+:10618000882341F09091C00095FFFCCF8093C6001A
+:106190003196F5CFE4E2F6E08491882341F09091C6
+:1061A000C00095FFFCCF8093C6003196F5CF80915B
+:1061B000C00085FFFCCF20C081E08B83EFE2FEE0D2
+:1061C0008491882341F09091C00095FFFCCF80938B
+:1061D000C6003196F5CFE9E1F6E08491882341F0DD
+:1061E0009091C00095FFFCCF8093C6003196F5CF0B
+:1061F0008091C00085FFFCCF8AE08093C6008E01AD
+:10620000075B1F4FB801CE0186599F4F30DFC85939
+:10621000DF4F19830883DF91CF911F910F91FF907A
+:10622000EF900895FC01128213820895FC012381EE
+:10623000222311F021E022830895FC012281211103
+:1062400012820895AF92BF92CF92DF92EF92FF92A7
+:106250000F931F93CF93DF931F92CDB7DEB78C01BF
+:106260008FE2FB0181935F01D12C41E07801F1E4E1
+:10627000EF1AFEEFFF0A9FE1C92E2D2D30E0F70146
+:106280008081918128173907D8F4C29EC001C39E2E
+:10629000900D112483579F4FB501800F911F4983A3
+:1062A0000E944010C50149815C010196F5012081E1
+:1062B000222321F04D3810F44F5FF6CFD394DDCF79
+:1062C00047FD11C0B501C80188519E4F0F90DF9165
+:1062D000CF911F910F91FF90EF90DF90CF90BF90E3
+:1062E000AF900C944010F50110820F90DF91CF9188
+:1062F0001F910F91FF90EF90DF90CF90BF90AF90E4
+:1063000008953F924F925F926F927F928F929F92E9
+:10631000AF92BF92CF92DF92EF92FF920F931F93B3
+:10632000CF93DF93CDB7DEB7AC970FB6F894DEBF4F
+:106330000FBECDBF7C015B01FC018381882309F482
+:1063400008C1C70188519E4F0E948C13F701128229
+:10635000CE0101966C0101DC270198E6490E511C23
+:10636000C701875B9F4FF20191838083F501808194
+:106370008F3209F084C06FE270E0C5010E9423B63D
+:106380008C010F5F1F4F2AE0322E0115110509F411
+:106390007CC06FE270E0C8010E9423B64C010097F8
+:1063A00009F474C00817190708F070C03C01601A9E
+:1063B000710AA301B801CE0180960E944CB6E0E2BA
+:1063C000F0E0EC0FFD1FE60DF71D1082FE01B09608
+:1063D0008191882339F09091C00095FFFCCF809384
+:1063E000C600F6CF8091C00085FFFCCF3092C6007A
+:1063F000F201608171816115710519F06C5F7F4F49
+:1064000002C060E070E021E0AE01405E5F4FCE016F
+:1064100005960E94831581112BC0EEEFF4E0849164
+:10642000882341F09091C00095FFFCCF8093C60077
+:106430003196F5CFFE01B0968191882339F0909185
+:10644000C00095FFFCCF8093C600F6CFECEFF4E0E0
+:106450008491882341F09091C00095FFFCCF8093F8
+:10646000C6003196F5CF8091C00085FFFCCF6CC08F
+:10647000F201D182C08284010F5F1F4F86CFC70116
+:1064800086599F4FF201918380838501F2018081BB
+:106490009181009711F0049602C080E090E0B8016D
+:1064A0000E945916882339F1EEEEF4E08491882396
+:1064B00041F09091C00095FFFCCF8093C6003196CB
+:1064C000F5CFF8018191882339F09091C00095FFB4
+:1064D000FCCF8093C600F6CF8091C00085FFFCCF33
+:1064E0008AE08093C600F701E356FD4F10821182C7
+:1064F000128213822CC0E6EDF4E08491882341F0EF
+:106500009091C00095FFFCCF8093C6003196F5CFE7
+:10651000F8018191882339F09091C00095FFFCCF5C
+:106520008093C600F6CFE4EDF4E08491882341F037
+:106530009091C00095FFFCCF8093C6003196F5CFB7
+:106540008091C00085FFFCCF8AE08093C600C60121
+:106550000EDBAC960FB6F894DEBF0FBECDBFDF9159
+:10656000CF911F910F91FF90EF90DF90CF90BF9050
+:10657000AF909F908F907F906F905F904F903F90E3
+:106580000895CF93DF93EC018B818823C1F1E2EC76
+:10659000F4E08491882341F09091C00095FFFCCFF6
+:1065A0008093C6003196F5CFFE01E356FD4F408142
+:1065B0005181628173812AE030E08CE99DE00E9484
+:1065C000868AE0ECF4E08491882341F09091C00049
+:1065D00095FFFCCF8093C6003196F5CFCB56DD4FAB
+:1065E000488159816A817B812AE030E08CE99DE015
+:1065F0000E94868A8091C00085FFFCCF11C0E0EB2D
+:10660000F4E08491882341F09091C00095FFFCCF85
+:106610008093C6003196F5CF8091C00085FFFCCFF6
+:106620008AE08093C600DF91CF910895AF92BF9228
+:10663000CF92DF92EF92FF920F931F93CF93DF934E
+:106640005C01EB01FB0101900020E9F78F01015093
+:106650001109061B170B6C01F8E1CF1AFEEFDF0AD8
+:10666000F60110826EE470E0CE010E9423B67C0138
+:10667000009729F4F8013197EC0FFD1F0DC060E27F
+:1066800070E00E9423B6EC0121966AE270E0C70137
+:106690000E9423B6FC0131978DE081838AE08283DA
+:1066A0001382BE01C5018C519E4F0E94438BF6019F
+:1066B0008081882309F1E5E3FEE08491882341F09D
+:1066C0009091C00095FFFCCF8093C6003196F5CF26
+:1066D000EAE9F4E08491882341F09091C00095FFAD
+:1066E000FCCF8093C6003196F5CF8091C00085FF26
+:1066F000FCCF8AE08093C600DF91CF911F910F916C
+:10670000FF90EF90DF90CF90BF90AF9008952F92C1
+:106710003F924F925F926F927F928F929F92AF9231
+:10672000BF92CF92DF92EF92FF920F931F93CF937E
+:10673000DF93CDB7DEB7CC55D1090FB6F894DEBFE5
+:106740000FBECDBF4C018C010F551D4F662339F094
+:10675000F8011082F401838181111DC015C0F80178
+:106760008081882309F4AFC0F401E756FD4FC08053
+:10677000D180E280F3800E9431A9C616D706E806D0
+:10678000F90608F4A0C0E4CFC40181DCF4018381E0
+:10679000882309F498C07401F7E4EF0EF11CF701A7
+:1067A00081818F9380818F9381E994E09F938F9370
+:1067B0008E01015C1F4F1F930F930E945BB60F90D9
+:1067C0000F900F900F900F900F90B12CF801019047
+:1067D0000020E9F73197E01BF10BBE1684F4680145
+:1067E000CB0CD11CB7FCDA94F6018081992787FD88
+:1067F00090950E9498B5F6018083B394E7CFFDE4AD
+:106800008F0E911C40E050E0BA01C4010E94A91211
+:10681000512CCE0101966C013AE8632E34E0732EC0
+:106820005E0191E2A90EB11C40E050E0B601C40146
+:106830000E94F6111816DCF5412CF601019000209B
+:10684000E9F73197EC19FD094E1674F41601240C82
+:10685000311C47FC3A94F101808190E00E9498B588
+:10686000F10180834394E9CF8A858E37E9F245E0D0
+:1068700050E0B801C6010E943EB6892BA9F61F93CD
+:106880000F937F926F92BF92AF920E945BB6C50149
+:106890000E94C03D86E894E00E94333E0F900F9026
+:1068A0000F900F900F900F9055245394BDCF51101F
+:1068B00004C08FEF9FEFF70104C0F7018081918141
+:1068C000019691838083C45ADF4F0FB6F894DEBFE0
+:1068D0000FBECDBFDF91CF911F910F91FF90EF9031
+:1068E000DF90CF90BF90AF909F908F907F906F90F0
+:1068F0005F904F903F902F9008950F931F93CF93E9
+:10690000DF93EC018C0108511E4FC8010E94421315
+:10691000C8010E948C1318821982DF91CF911F91B8
+:106920000F910895CF92DF92EF92FF920F931F93F2
+:10693000CF93DF93CDB7DEB76F970FB6F894DEBF76
+:106940000FBECDBF8C016A017C0188E6E80EF11C08
+:10695000C80186599F4FF70191838083E65CFD4F04
+:1069600022E030E03183208332967183608340E0FF
+:1069700050E0BA0104960E94A912F701808191812A
+:106980002BE1FC013496DE01159601900D922A95BB
+:10699000E1F7FC01828193819C838B838AEB95E0F4
+:1069A0009A8389839601AE014F5F5F4F62E973E07E
+:1069B000C80172D9CE010196DAD86F960FB6F89455
+:1069C000DEBF0FBECDBFDF91CF911F910F91FF9022
+:1069D000EF90DF90CF9008952F923F924F925F9269
+:1069E0006F927F928F929F92AF92BF92CF92DF92DF
+:1069F000EF92FF920F931F93CF93DF93CDB7DEB744
+:106A0000AC970FB6F894DEBF0FBECDBF8C016B0103
+:106A1000342EDC0113968C91882309F4EEC2F80120
+:106A2000E551FE4F8081882309F4F5C02111C1C0D2
+:106A30007801BDEFEB1AFB0AF7018081882361F131
+:106A4000E5E3FEE08491882341F09091C00095FF3A
+:106A5000FCCF8093C6003196F5CFE6EDF5E084914A
+:106A6000882341F09091C00095FFFCCF8093C60031
+:106A70003196F5CF4AE050E061E070E08CE99DE0AE
+:106A80000E945A8A8091C00085FFFCCF8AE08093E3
+:106A9000C6000E942245B1C2EFE2FEE08491882345
+:106AA00041F09091C00095FFFCCF8093C6003196D5
+:106AB000F5CFEDEBF5E08491882341F09091C00093
+:106AC00095FFFCCF8093C6003196F5CFF6018191FA
+:106AD000882339F09091C00095FFFCCF8093C600C9
+:106AE000F6CFE2EBF5E08491882341F09091C0006D
+:106AF00095FFFCCF8093C6003196F5CFD7018C91DE
+:106B00005DE8B52EB801B89E600D711D1124685F57
+:106B10007D4FC80197DBF7018081F801B89EE00D39
+:106B2000F11D1124E85FFD4F8191882339F0909188
+:106B3000C00095FFFCCF8093C600F6CFECEAF5E0ED
+:106B40008491882341F09091C00095FFFCCF809301
+:106B5000C6003196F5CF5801F3E6AF1AFDEFBF0A34
+:106B6000D5014D915D916D917C912AE030E08CE9E9
+:106B70009DE00E94868A8091C00085FFFCCF8AE05C
+:106B80008093C600F7012081F80184E0289FE00D82
+:106B9000F11D1124EC5FFD4FD5014D915D916D917B
+:106BA0007C9140835183628373832F5FF70120833D
+:106BB0002CC0EFE2FEE08491882341F09091C00068
+:106BC00095FFFCCF8093C6003196F5CFEBE9F5E059
+:106BD0008491882341F09091C00095FFFCCF809371
+:106BE000C6003196F5CFF6018191882339F0909156
+:106BF000C00095FFFCCF8093C600F6CF8091C00007
+:106C000085FFFCCF8AE08093C600C80188519E4F63
+:106C10000E948C1330C0F801ED5FFD4F1082EFE24F
+:106C2000FEE08491882341F09091C00095FFFCCF55
+:106C30008093C6003196F5CFEAE8F5E08491882389
+:106C400041F09091C00095FFFCCF8093C600319633
+:106C5000F5CFF6018191882339F09091C00095FF1E
+:106C6000FCCF8093C600F6CF8091C00085FFFCCF9B
+:106C70008AE08093C600D80112961C92FE013196DC
+:106C80005F01CF010E94AD2D2801F8E64F0E511C87
+:106C9000C801875B9F4FD2018D939C93F601808141
+:106CA0008F3209F084C06FE270E0C6010E9423B603
+:106CB00001967C014AE0242EE114F10409F47DC020
+:106CC0006FE270E0C7010E9423B64C01009709F4FF
+:106CD00075C0E816F90608F071C03C016E187F080F
+:106CE000A301B701CE0180960E944CB6E0E2F0E02D
+:106CF000EC0FFD1FE60DF71D1082FE01B09681918D
+:106D0000882339F09091C00095FFFCCF8093C60096
+:106D1000F6CF8091C00085FFFCCF2092C600D20143
+:106D20006D917C916115710519F06C5F7F4F02C008
+:106D300060E070E021E0AE01405E5F4FCE0105965D
+:106D40000E94831581112BC0E6E7F5E0849188232A
+:106D500041F09091C00095FFFCCF8093C600319622
+:106D6000F5CFFE01B0968191882339F09091C00053
+:106D700095FFFCCF8093C600F6CFE4E7F5E0849161
+:106D8000882341F09091C00095FFFCCF8093C6000E
+:106D90003196F5CF8091C00085FFFCCF02C1F20192
+:106DA000B182A0827401FFEFEF1AFF0A85CFC801FC
+:106DB00086599F4FD2018D939C937601F801E8513B
+:106DC000FE4F4F01332009F4B1C0D2016D917C9187
+:106DD0006115710519F06C5F7F4F02C060E070E0D3
+:106DE00021E0A701C4010E948315882309F474C01F
+:106DF000F40181899289A389B489F801EB56FD4F8A
+:106E000080839183A283B383E6E6F5E08491D80181
+:106E1000AB56BD4F882349F09091C00095FFFCCF41
+:106E20008093C60031968491F5CFF7018191882334
+:106E300039F09091C00095FFFCCF8093C600F6CF4B
+:106E4000EEE5F5E08491882341F09091C00095FF34
+:106E5000FCCF8093C6003196F5CF4D915D916D9139
+:106E60007C912AE030E08CE99DE00E94868A809146
+:106E7000C00085FFFCCF8AE08093C600F801E3568E
+:106E8000FD4F1082118212821382E0E5F5E08491B9
+:106E9000882341F09091C00095FFFCCF8093C600FD
+:106EA0003196F5CF8091C00085FFFCCF8AE08093BA
+:106EB000C600A70160E070E0C80134DDD80151963A
+:106EC0008C91882319F0C801419601C0C7010E9426
+:106ED00048728EE793E08CC0ECE3F5E08491882360
+:106EE00041F09091C00095FFFCCF8093C600319691
+:106EF000F5CFF7018191882339F09091C00095FF7B
+:106F0000FCCF8093C600F6CFEAE3F5E084918823B6
+:106F100041F09091C00095FFFCCF8093C600319660
+:106F2000F5CF8091C00085FFFCCF3BC0F2016081AE
+:106F300071816115710519F06C5F7F4F02C060E0CF
+:106F400070E026E5A701C4010E94831581112DC0C0
+:106F5000E6E2F5E08491882341F09091C00095FF2E
+:106F6000FCCF8093C6003196F5CFF701819188233D
+:106F700039F09091C00095FFFCCF8093C600F6CF0A
+:106F8000E4E2F5E08491882341F09091C00095FF00
+:106F9000FCCF8093C6003196F5CF8091C00085FF6D
+:106FA000FCCF8AE08093C60025C081E0D8018C9395
+:106FB000E2E1F5E08491882341F09091C00095FFD3
+:106FC000FCCF8093C6003196F5CFF60181918823DE
+:106FD00039F09091C00095FFFCCF8093C600F6CFAA
+:106FE0008091C00085FFFCCF8AE08093C600C70176
+:106FF0000E944872C5010E94B72DAC960FB6F89456
+:10700000DEBF0FBECDBFDF91CF911F910F91FF90DB
+:10701000EF90DF90CF90BF90AF909F908F907F9038
+:107020006F905F904F903F902F90089521E0FC016A
+:10703000218340E0D1CCCF92DF92EF92FF920F9369
+:107040001F93CF93DF93CDB7DEB76F970FB6F8944A
+:10705000DEBF0FBECDBF8C016C0128E6C20ED11C75
+:1070600086599F4FF60191838083E65CFD4F21E0B6
+:1070700030E0318320837801FCE5EF1AFDEFFF0A51
+:10708000F7011182108240E050E0BA0104960E949C
+:10709000A912F601808191812BE1FC013496DE0179
+:1070A000159601900D922A95E1F7FC01828193815A
+:1070B0009C838B838AEB95E09A83898320E030E080
+:1070C000AE014F5F5F4F62E973E0C8010E944C2E32
+:1070D000CE0101960E94B72DF701808191816F96B4
+:1070E0000FB6F894DEBF0FBECDBFDF91CF911F91D9
+:1070F0000F91FF90EF90DF90CF900895AF92BF92E5
+:10710000CF92DF92EF92FF920F931F93CF93DF9373
+:10711000CDB7DEB76F970FB6F894DEBF0FBECDBF09
+:107120008C017B01CE0101960E94AD2DF801EF5834
+:10713000FF4F80816801811104C029E4C20ED11C77
+:1071400003C08AE6C80ED11C21E0A701B6016C5F1E
+:107150007F4FCE0105960E94831581112DC0EFE26D
+:10716000FEE08491882341F09091C00095FFFCCF10
+:107170008093C6003196F5CFE0E7F4E08491882350
+:1071800041F09091C00095FFFCCF8093C6003196EE
+:10719000F5CFF7018191882339F09091C00095FFD8
+:1071A000FCCF8093C600F6CF8091C00085FFFCCF56
+:1071B0008AE08093C60036C0F801E154FE4F80811A
+:1071C00091818A30910530F59C012F5F3F4F3183CB
+:1071D00020832FE1289F7001299FF00C112429E8BA
+:1071E000E20EF11CE00EF11E5C01B701C7014F96E3
+:1071F0000E94373081E0A81AB1082FE1E21AF108A5
+:107200008FEFA816B80689F7B601C80187579F4FB8
+:107210000E943730BE016F5F7F4FC80186599F4F74
+:107220000E943730CE0101960E94B72D6F960FB69F
+:10723000F894DEBF0FBECDBFDF91CF911F910F91AC
+:10724000FF90EF90DF90CF90BF90AF900895EF92B6
+:10725000FF920F931F93CF93DF93EC01C154DE4F46
+:107260002881398121153105F9F0215031093983FF
+:1072700028838C0107571F4FB80186599F4F0E94E2
+:107280003730C80100E010E07C012FE1E20EF11C74
+:10729000288139810217130738F40F5F1F4FB70198
+:1072A0000E943730C701F0CFDF91CF911F910F912E
+:1072B000FF90EF900895EF92FF920F931F93CF935B
+:1072C000DF93EC010E943D938E010D5F1D4FF8018D
+:1072D00080819E0128513E4F79018823A1F1C90187
+:1072E0000E948C13F801808181508083BE01FDE8EB
+:1072F0008F9F600D711D1124685F7D4F21E041E07B
+:10730000CE016ADBF8018081FE0124E0829FE00D5E
+:10731000F11D1124EC5FFD4F408151816281738129
+:10732000FE01E356FD4F4083518362837383C7019F
+:107330000E94A912CE01DF91CF911F910F91FF9072
+:10734000EF900C9416310E94B393C7010E948C13E6
+:107350001A8284E694E0DF91CF911F910F91FF9004
+:10736000EF9081C48FEF8EBD0DB407FEFDCF8EB5BB
+:1073700008958EBD0DB407FEFDCF089561E0FC01B8
+:1073800080810C948AA8FC012281322F306A3695C4
+:107390003CBD20FD06C031E0263009F430E0232F4B
+:1073A00001C020E02DBD60E0FC0180810C948AA822
+:1073B000CF92DF92EF92FF920F931F93CF93DF93C1
+:1073C000EC018B017A010E9431A96B01CBDF8B8329
+:1073D0008F3F49F40E9431A96C197D096D327140CB
+:1073E000A8F381E144C08E3F11F08FE040C0E1146A
+:1073F000F104D9F0C70101972FEF2EBDF8014FEF2F
+:107400009F01201B310B2817390738F40DB407FEF4
+:10741000FDCF2EB521934EBDF3CF0DB407FEFDCFAA
+:107420002EB5F801E80FF91F2083D801E00EF11EF8
+:10743000C12CD12CAE15BF0579F08D91ED2DFF2714
+:10744000E827EE0FFF1FEC5AF94F85919491DC2C41
+:10745000CC24C826D926EECF85DF082F10E0102FC8
+:10746000002780DF082BC016D10631F080E2898327
+:10747000CE0184DF80E003C0CE0180DF81E0DF91B8
+:10748000CF911F910F91FF90EF90DF90CF900895D3
+:107490000F931F93CF93DF93EB010E9431A98B01D0
+:1074A00061DF8F3F49F00E9431A9601B710B6C179F
+:1074B0007D07B0F380E001C081E0DF91CF911F91A3
+:1074C0000F910895CF92DF92FF920F931F93CF9366
+:1074D000DF9300D01F92CDB7DEB76C01F62E298363
+:1074E0003A834B835C834FDF6CE271E0C601D0DFEF
+:1074F0008F2D80643EDF08E110E05C814B813A8192
+:107500002981DA01C901002E04C0B695A795979587
+:1075100087950A94D2F729833A834B835C8329DFCA
+:107520000850110929813A814B815C81083F8FEF16
+:10753000180739F7FF2029F0E8E0FE1621F08FEF59
+:1075400003C085E901C087E814DFFCE0FF1201C039
+:1075500009DF10E007DFF601838387FF04C01F3FC8
+:1075600011F01F5FF7CF0F900F900F900F90DF91EA
+:10757000CF911F910F91FF90DF90CF900895BF9210
+:10758000CF92DF92EF92FF920F931F93CF93DF93EF
+:10759000EC01B62E1C82198248830E9431A98B010E
+:1075A00061E088810E9451A8CE01E8DE60E082E3BC
+:1075B0000E9451A861E083E30E9451A861E084E346
+:1075C0000E9451A861E085E30E9451A861E085E333
+:1075D0000E948AA885E08A8382E58CBD1DBC6AE092
+:1075E000F62E8FEFC6DEFA94E1F720E030E0A90135
+:1075F00060E0CE0167DFF82E8B8381E0F81649F05A
+:107600000E9431A9601B710B613D774070F381E0EE
+:1076100046C02AEA31E040E050E068E0CE0152DFA7
+:1076200082FF02C0FC820CC054E0F52E9BDE8B83EF
+:10763000FA94E1F78A3A11F082E031C082E08C835B
+:107640008C81823031F4C12CD12CE12C40E4F42E19
+:1076500003C0C12CD12C760120E030E0A90167E302
+:10766000CE0130DFA701960169E2CE012BDF8B83CB
+:10767000882349F00E9431A9601B710B613D77405E
+:1076800058F38AE00CC08C818230B1F420E030E005
+:10769000A9016AE3CE0116DF882329F088E08983F7
+:1076A000CE016CDE14C05EDE807C803C11F483E091
+:1076B0008C8358DE57DE56DECE0160DE86E08B1509
+:1076C00018F488E1898303C0BA8281E001C080E0B8
+:1076D000DF91CF911F910F91FF90EF90DF90CF90AE
+:1076E000BF900895AF92BF92CF92DF92EF92FF9238
+:1076F0000F931F93CF93DF93EC016A017B01890104
+:107700008C81833039F0F9E0CC0CDD1CEE1CFF1CC1
+:10771000FA95D1F773E0B72EE4E0AE2EBA94A70144
+:10772000960161E1CE01CEDE882311F0A98207C067
+:1077300040E052E0B801CE013BDE81110EC0CE0127
+:10774000BB2049F01BDE20E030E0A9016CE0CE0157
+:10775000B9DE1982E3CF12DE80E0DF91CF911F9175
+:107760000F91FF90EF90DF90CF90BF90AF90089572
+:10777000CF93DF93EC016EBD20E030E00DB407FE47
+:10778000FDCFFA01E20FF31F80818EBD0DB407FE1D
+:10779000FDCF81818EBD2E5F3F4F211582E03807DE
+:1077A00069F70DB407FEFDCF8FEFE3DD8FEFE1DD6D
+:1077B000D9DD8B838F71853031F083E18983CE01F0
+:1077C000DDDD80E001C081E0DF91CF9108950F936E
+:1077D0001F93CF93DF93EC0189018C81833039F0C3
+:1077E000B9E0440F551F661F771FBA95D1F79A016C
+:1077F000AB0168E1CE0166DE882311F086E01EC091
+:10780000A8016EEFCE01B4DF8823C9F068E572E00D
+:10781000CE013EDE182F811102C087E10FC020E0AB
+:1078200030E0A9016DE0CE014DDE811106C09ADD88
+:10783000811103C0CE01A2DD05C086E18983CE019E
+:107840009DDD10E0812FDF91CF911F910F91089561
+:10785000FC01659175918591949108952F923F92C5
+:107860004F925F926F927F928F929F92AF92BF9250
+:10787000CF92DF92EF92FF920F931F93CF93DF93FC
+:1078800000D000D0CDB7DEB71C01FC01E051F24FB3
+:1078900014919C01220F331F220F331F3E832D832F
+:1078A0002C5B354F4901F90110821182128213823B
+:1078B00020E53AE04CE45AE068E47AE084E49AE0B7
+:1078C0000E943EA48D819E818150924FC1DF6B0149
+:1078D0007C01612F772767FD7095872F972F0E9476
+:1078E00042AF2B013C012D813E81215F354F590173
+:1078F00020E030E040EC5FE3C701B6010E9475B1C3
+:10790000A30192010E9475B1F501608371838283A6
+:1079100093832D813E81215A3D4F3C832B83F90176
+:107920006081718182819381609321027093220230
+:10793000809323029093240220E030E040E752E459
+:107940000E94A7AE20E3C22E2AE0D22E7B018C013A
+:107950002BE13AE047E15AE063E17AE08FE09AE018
+:107960000E94779A0E943D93F40110821182128244
+:10797000138220E53AE04CE45AE068E47AE084E4DB
+:107980009AE00E943EA42D813E812D50324F3A83D1
+:107990002983C9015DDF9058A30192010E9475B14E
+:1079A000F501608371838283938320E030E040E7B8
+:1079B00052E4609121027091220280912302909101
+:1079C00024020E94A7AE7B018C012BE13AE047E143
+:1079D0005AE063E17AE08FE09AE00E94779A0E9491
+:1079E0003D9389819A8134DF9B01AC010E94C7AD30
+:1079F000A30192010E9475B1F501608371838283B6
+:107A0000938320E030E040E05FE3EB81FC81608124
+:107A10007181828193810E9475B16093210270937C
+:107A20002202809323029093240220E030E040E77A
+:107A300052E40E94A7AE7B018C012BE13AE047E1C2
+:107A40005AE063E17AE08FE09AE00E94779A0E9420
+:107A50003D938D819E81855F914FFADE0D811E8160
+:107A6000085C154FF80120813181428153810E94C9
+:107A7000C7ADF40160837183828393838D819E817E
+:107A80008D5D914FE5DE2D813E812D5B3D4F79016E
+:107A9000F80120813181428153810E94C7ADF701F5
+:107AA00060837183828393838D819E81895E914FF0
+:107AB000CFDE2D813E81295C3D4F7901F801208187
+:107AC0003181428153810E94C7ADF7016083718388
+:107AD00082839383F40180819181A281B381F50136
+:107AE00080839183A283B383109221021092220299
+:107AF00010922302109224020E94EA8BF101EB5CA7
+:107B0000F54F81E0808326960FB6F894DEBF0FBE56
+:107B1000CDBFDF91CF911F910F91FF90EF90DF903C
+:107B2000CF90BF90AF909F908F907F906F905F901D
+:107B30004F903F902F900895FC012491222341F013
+:107B40003091C00035FFFCCF2093C6000196F4CFE2
+:107B500022E030E08CE99DE00C94308BFC01249114
+:107B6000222341F03091C00035FFFCCF2093C600A6
+:107B70000196F4CF2AE030E08CE99DE00C94868AEF
+:107B80002091640830916508243031050CF06AC0FA
+:107B9000409166085091670860E6649F9001659F78
+:107BA000300D1124BC01C9018259974F0E9437B68C
+:107BB000EFE2FEE08491882341F09091C00095FFB0
+:107BC000FCCF8093C6003196F5CFE5EEFDE08491C1
+:107BD000882341F09091C00095FFFCCF8093C600B0
+:107BE0003196F5CF809166089091670820E6289F2E
+:107BF000F001299FF00D1124E259F74F819188235C
+:107C000039F09091C00095FFFCCF8093C600F6CF6D
+:107C1000E3EEFDE08491882341F09091C00095FF50
+:107C2000FCCF8093C6003196F5CF8091C00085FFD0
+:107C3000FCCF8AE08093C600809166089091670827
+:107C4000019664E070E00E946BB2909367088093A5
+:107C50006608809164089091650801969093650884
+:107C60008093640808952091640830916508243059
+:107C700031050CF06AC0409166085091670860E6D3
+:107C8000649F9001659F300D1124BC01C901825988
+:107C9000974F0E94A0B5EFE2FEE08491882341F067
+:107CA0009091C00095FFFCCF8093C6003196F5CF30
+:107CB000E8EDFDE08491882341F09091C00095FFAC
+:107CC000FCCF8093C6003196F5CF809166089091E5
+:107CD000670820E6289FF001299FF00D1124E25942
+:107CE000F74F8191882339F09091C00095FFFCCF28
+:107CF0008093C600F6CFE6EDFDE08491882341F045
+:107D00009091C00095FFFCCF8093C6003196F5CFCF
+:107D10008091C00085FFFCCF8AE08093C6008091EF
+:107D2000660890916708019664E070E00E946BB26B
+:107D30009093670880936608809164089091650825
+:107D40000196909365088093640808959B9AA39880
+:107D50000895FCDF40E052EC61E070E08CE99DE0CA
+:107D60000E944689E0EDFDE08491882341F09091E6
+:107D7000C00095FFFCCF8093C6003196F5CF80916F
+:107D8000C00085FFFCCF8AE08093C6008FE29EE0B2
+:107D9000FC012491222341F03091C00035FFFCCF3B
+:107DA0002093C6003196F5CF24B720FF14C0E8EC2D
+:107DB000FDE03491332341F04091C00045FFFCCFFA
+:107DC0003093C6003196F5CF3091C00035FFFCCF1F
+:107DD0003AE03093C60021FF14C0E8EBFDE0349197
+:107DE000332341F04091C00045FFFCCF3093C600E3
+:107DF0003196F5CF3091C00035FFFCCF3AE030939B
+:107E0000C60022FF14C0E7EAFDE03491332341F0BD
+:107E10004091C00045FFFCCF3093C6003196F5CFAE
+:107E20003091C00035FFFCCF3AE03093C60023FF0D
+:107E300014C0E7E9FDE03491332341F04091C000E4
+:107E400045FFFCCF3093C6003196F5CF3091C0008E
+:107E500035FFFCCF3AE03093C60025FF14C0E7E8B9
+:107E6000FDE02491222341F03091C00035FFFCCF8A
+:107E70002093C6003196F5CF2091C00025FFFCCF9E
+:107E80002AE02093C60014BEE0E8FDE024912223FE
+:107E900041F03091C00035FFFCCF2093C6003196F1
+:107EA000F5CFEAE7FDE02491222341F03091C000B4
+:107EB00035FFFCCF2093C6003196F5CF2091C0004E
+:107EC00025FFFCCF2AE02093C600FC012491EFE2BD
+:107ED000FEE0222349F03091C00035FFFCCF209313
+:107EE000C60031962491F5CFEAE6FDE024912223E5
+:107EF00041F03091C00035FFFCCF2093C600319691
+:107F0000F5CFE5E5FDE02491222341F03091C0005A
+:107F100035FFFCCF2093C6003196F5CFE9E4FDE0B4
+:107F20002491222341F03091C00035FFFCCF2093F3
+:107F3000C6003196F5CFE2E3FDE02491222341F023
+:107F40003091C00035FFFCCF2093C6003196F5CFAD
+:107F50002091C00025FFFCCF2AE02093C600E7E275
+:107F6000FDE02491222341F03091C00035FFFCCF89
+:107F70002093C6003196F5CFEBE1FDE0249122235A
+:107F800041F03091C00035FFFCCF2093C600319600
+:107F9000F5CF2091C00025FFFCCF2AE02093C6003A
+:107FA000FC018491EFE2FEE0882349F09091C0004B
+:107FB00095FFFCCF8093C60031968491F5CFECE01D
+:107FC000FDE08491882341F09091C00095FFFCCFA3
+:107FD0008093C6003196F5CF0E9458964AE050E053
+:107FE000BC018CE99DE00E945A8AE5EFFCE0849197
+:107FF000882341F09091C00095FFFCCF8093C6008C
+:108000003196F5CF4AE050E060ED74E08CE99DE0F8
+:108010000E945A8A8091C00085FFFCCF8AE080933D
+:10802000C60010926A0810926B0810926C081092A9
+:108030006D080E9467870E9439830E94A2200E94D7
+:10804000279A0E9446950E947076FFEF23ED80E309
+:10805000F15020408040E1F700C000000895809179
+:108060005E0890915F0860E070E001960C94F7B2B2
+:1080700080915E0890915F084AE050E060E070E017
+:1080800001960C945FB4682F772767FD7095209157
+:1080900068083091690840E6429FC001439F900DF7
+:1080A00011248259974F0E9423B690935F088093C2
+:1080B0005E0821E0892B09F420E0822F08950E94B8
+:1080C00031A960935A0870935B0880935C08909381
+:1080D0005D0808950E9431A960935A0870935B0867
+:1080E00080935C0890935D08E0916808F0916908BE
+:1080F000E659F74F8081811114C0ECEFF8E08491CC
+:10810000882341F09091C00095FFFCCF8093C6007A
+:108110003196F5CF8091C00085FFFCCF8AE0809337
+:10812000C60008958CE99DE00E949889EFEFF8E081
+:108130008491882341F09091C00095FFFCCF8093FB
+:10814000C6003196F5CF4091F3095091F409609142
+:10815000F5097091F6094F5F5F4F6F4F7F4F2AE02F
+:1081600030E08CE99DE00E94378A8091C00085FF55
+:10817000FCCF8AE08093C600ADCF8F929F92AF92E2
+:10818000BF92CF92DF92EF92FF920F931F93CF9304
+:10819000DF9337ECE32E34E0F32E04E41AE0CFE073
+:1081A000DAE049E5C42E4AE0D42EF70181917F013F
+:1081B0006ADF882311F153DF4B015C01F6018081F6
+:1081C000811103C06091EE0901C061E070E080E0C0
+:1081D00090E00E9442AFF8012081318142815381B9
+:1081E0000E9475B19B01AC01C501B4010E94C7ADED
+:1081F000688379838A839B8309C0F8018081918198
+:10820000A281B38188839983AA83BB830C5F1F4FAC
+:108210002496FFEFCF1ADF0A8BECE81684E0F8060D
+:1082200021F686E430DF8823D1F019DF6B017C0171
+:108230006093FF097093000A8093010A9093020AE9
+:1082400020E030E0A9010E94A3B0181644F4C092C7
+:108250002102D0922202E0922302F0922402DF91C6
+:10826000CF911F910F91FF90EF90DF90CF90BF9033
+:10827000AF909F908F90089580DF89E404DF88237A
+:1082800051F0EDDE6093030A7093040A8093050AAF
+:108290009093060A08C01092030A1092040A1092E2
+:1082A000050A1092060A8AE4EEDE882351F0D7DE32
+:1082B0006093070A7093080A8093090A90930A0A48
+:1082C00008951092070A1092080A1092090A109253
+:1082D0000A0A0895CF92DF92EF92FF92CF93DF9335
+:1082E000EC01C0904302D0904402E0904502F0902F
+:1082F0004602A7019601688179818A819B810E944B
+:10830000A0AE87FF04C0C882D982EA82FB82C090F7
+:108310004702D0904802E0904902F0904A02A7013B
+:1083200096016C817D818E819F810E94A0AE87FF26
+:1083300004C0CC82DD82EE82FF8220E030E0A90121
+:1083400060914B0270914C0280914D0290914E02CF
+:108350000E94C7AD6B017C019B01AC0168857985EA
+:108360008A859B850E94A0AE87FF04C0C886D986F7
+:10837000EA86FB86C0903702D0903802E09039023E
+:10838000F0903A02A7019601688179818A819B81E8
+:108390000E94A3B0181624F4C882D982EA82FB8214
+:1083A000C0903B02D0903C02E0903D02F0903E0233
+:1083B000A70196016C817D818E819F810E94A3B06F
+:1083C000181624F4CC82DD82EE82FF82C0903F0238
+:1083D000D0904002E0904102F0904202A701960145
+:1083E000688579858A859B850E94A3B0181624F438
+:1083F000C886D986EA86FB86DF91CF91FF90EF9001
+:10840000DF90CF900895CF92DF92EF92FF920F937B
+:108410001F938FE09AE05EDF0E9431A960935A08B3
+:1084200070935B0880935C0890935D0820910F0A1D
+:108430003091100A4091110A5091120A6091440A39
+:108440007091450A8091460A9091470A0E94A0AE19
+:10845000811179C02091130A3091140A4091150AB4
+:108460005091160A6091480A7091490A80914A0A0F
+:1084700090914B0A0E94A0AE811165C020E030E0CF
+:1084800040E752E460912102709122028091230220
+:10849000909124020E94A7AE50E3C52E5AE0D52E3B
+:1084A0007B018C012BE13AE047E15AE063E17AE09D
+:1084B0008FE09AE00E94779A80910F0A9091100ABB
+:1084C000A091110AB091120A8093440A9093450A30
+:1084D000A093460AB093470A8091130A9091140A18
+:1084E000A091150AB091160A8093480A9093490A00
+:1084F000A0934A0AB0934B0A8091170A9091180AE8
+:10850000A091190AB0911A0A80934C0A90934D0ACF
+:10851000A0934E0AB0934F0A80911B0A90911C0AB7
+:10852000A0911D0AB0911E0A8093500A9093510A9F
+:10853000A093520AB093530A1F910F91FF90EF90AE
+:10854000DF90CF90089560915D0270915E02882760
+:1085500077FD8095982F0E9442AF209121023091A3
+:10856000220240912302509124020E9475B120E022
+:1085700030E040E752E40E94A7AE20E030E048EC53
+:1085800052E488CFCF92DF92EF92FF92CF93C62F23
+:10859000E091300AF0E0882309F4C2C0DF01A45D55
+:1085A000B54F8C91811196C18091440A9091450AF2
+:1085B000A091460AB091470A80930F0A9093100A3F
+:1085C000A093110AB093120A8091480A9091490A27
+:1085D000A0914A0AB0914B0A8093130A9093140A0F
+:1085E000A093150AB093160A80914C0A90914D0AF7
+:1085F000A0914E0AB0914F0A8093170A9093180ADF
+:10860000A093190AB0931A0AC090500AD090510A48
+:10861000E090520AF090530AC0921B0AD0921C0AB2
+:10862000E0921D0AF0921E0AEE0FFF1FEE0FFF1FD1
+:10863000E15BFD4F2081318142815381CC2349F0A0
+:1086400060912F027091300280913102909132023C
+:1086500008C060913302709134028091350290918C
+:1086600036020E94A7AE9B01AC01C701B6010E9471
+:10867000C7AD6093500A7093510A8093520A909349
+:10868000530A80E59AE00E94E3A4C0902102D090B2
+:108690002202E0902302F090240220E030E040E744
+:1086A00052E460912B0270912C0280912D029091E6
+:1086B0002E020E9475B16093210270932202809372
+:1086C000230290932402E091300AF0E0E45DF54F3C
+:1086D00081E0808398DE2091280A3091290A409118
+:1086E0002A0A50912B0A60914C0A70914D0A809190
+:1086F0004E0A90914F0A0E94C6AD60934C0A709347
+:108700004D0A80934E0A90934F0A20E53AE04CE4DC
+:108710005AE068E47AE084E49AE00E943EA4D1C082
+:10872000E45DF54F8081882309F4D4C08091440A28
+:108730009091450AA091460AB091470A80930F0A8A
+:108740009093100AA093110AB093120A8091480ADC
+:108750009091490AA0914A0AB0914B0A8093130A5A
+:108760009093140AA093150AB093160A60914C0ACC
+:1087700070914D0A80914E0A90914F0A6093170AAA
+:108780007093180A8093190A90931A0AC090500A9D
+:10879000D090510AE090520AF090530AC0921B0AFE
+:1087A000D0921C0AE0921D0AF0921E0A2091280A1B
+:1087B0003091290A40912A0A50912B0A0E94C7AD94
+:1087C00060934C0A70934D0A80934E0A90934F0A1F
+:1087D00020E53AE04CE45AE068E47AE084E49AE088
+:1087E0000E943EA4F090300ACC2389F02091200A08
+:1087F0003091210A4091220A5091230A60912F0260
+:1088000070913002809131029091320210C020911B
+:10881000240A3091250A4091260A5091270A609136
+:1088200033027091340280913502909136020E9499
+:10883000C7AD24E0F29EF0011124E15BFD4F2081E1
+:108840003181428153810E94A7AE9B01AC016091AE
+:10885000500A7091510A8091520A9091530A0E94D5
+:10886000C6AD6093500A7093510A8093520A909358
+:10887000530A80E59AE00E94E3A4C0902102D090C0
+:108880002202E0902302F090240220E030E040E752
+:1088900052E4609127027091280280912902909100
+:1088A0002A020E9475B16093210270932202809384
+:1088B000230290932402E091300AF0E0E45DF54F4A
+:1088C0001082A1DDC0922102D0922202E092230206
+:1088D000F0922402CF91FF90EF90DF90CF90089517
+:1088E000AF92BF92CF92DF92EF92FF920F931F93BE
+:1088F000CF93DF93D82F2091070A3091080A409137
+:10890000090A50910A0A6091030A7091040A809141
+:10891000050A9091060A0E94B0B0C62F172F082FA3
+:10892000F92E60915D0270915E02882777FD809537
+:10893000982F0E9442AF2091210230912202409153
+:108940002302509124020E9475B120E030E040E7FC
+:1089500052E40E94A7AE20E030E048EC52E40E94CE
+:10896000A7AE2091300A2F93DF93FF920F931F93AE
+:10897000CF935B016C0172E0E72E01E020E043E061
+:108980005AE06FE07AE084E49AE00E943B2A80910A
+:108990000F0A9091100AA091110AB091120A8093C7
+:1089A000440A9093450AA093460AB093470A8091DF
+:1089B000130A9091140AA091150AB091160A809397
+:1089C000480A9093490AA0934A0AB0934B0A8091AF
+:1089D000170A9091180AA091190AB0911A0A809367
+:1089E0004C0A90934D0AA0934E0AB0934F0A80917F
+:1089F0001B0A90911C0AA0911D0AB0911E0A809337
+:108A0000500A9093510AA093520AB093530A0E94BD
+:108A100031A960935A0870935B0880935C08909327
+:108A20005D080F900F900F900F900F900F90DF91B7
+:108A3000CF911F910F91FF90EF90DF90CF90BF905B
+:108A4000AF900895F8940E944521179A1092350A24
+:108A5000169A1092360A159A1092370A149A60E004
+:108A600087E40E9451A8E5E3FEE08491882341F069
+:108A70009091C00095FFFCCF8093C6003196F5CF52
+:108A8000EDEDF8E08491882341F09091C00095FFCE
+:108A9000FCCF8093C6003196F5CF8091C00085FF52
+:108AA000FCCF8AE08093C60084ED98E00E940D76AA
+:108AB0007894C6E0D0E02197209749F068EC70E008
+:108AC00080E090E00E9460A90E949C76F4CFF89428
+:108AD000FFCF2F923F924F925F926F927F928F9231
+:108AE0009F92AF92BF92CF92DF92EF92FF920F933D
+:108AF0001F93CF93DF93CDB7DEB76E970FB6F89481
+:108B0000DEBF0FBECDBFB0E6BB2E14E0E12EF12CD0
+:108B10000BEBC02E0BE0D02E8AE0A82E9924939464
+:108B200080911D0E90911E0E20911F0E3091200EEF
+:108B3000821B930B8F779927892B09F41AC2809196
+:108B400064089091650804970CF013C28CE99DE0CD
+:108B50000E947C89809363082091610830916208AB
+:108B60008A3061F08D3051F08A3321F490916008A1
+:108B7000992321F02F3531050CF41DC12115310544
+:108B800009F437C18091660890916708B89E30015A
+:108B9000B99E700C1124F301E20FF31FE259F74F55
+:108BA000108220916008211101C110926008FC011F
+:108BB000E659F74F108283010259174F6EE470E0B7
+:108BC000C8010E9423B60097F1F190935F0880934B
+:108BD0005E08801B910B860D971D4AE050E060E017
+:108BE00070E08159974F0E945FB46093F7097093CA
+:108BF000F8098093F9099093FA094090F30950908D
+:108C0000F4096090F5097090F6092FEF421A520AA4
+:108C1000620A720A0091660810916708641575056A
+:108C20008605970509F4E8C0B09EC001B19E900D7D
+:108C3000112467ED7CE08259974F0E94CEB5892BB5
+:108C400009F0DAC069C16AE270E0C8010E9423B687
+:108C5000892B09F444C0E5E3FEE08491882341F0C8
+:108C60009091C00095FFFCCF8093C6003196F5CF60
+:108C7000E1E3FCE08491882341F09091C00095FFEE
+:108C8000FCCF8093C6003196F5CF4091F309509107
+:108C9000F4096091F5097091F6092AE030E08CE959
+:108CA0009DE00E94378A8091C00085FFFCCF8AE05A
+:108CB0008093C6001092620810926108C0C2809131
+:108CC000F7099091F809A091F909B091FA098093F8
+:108CD000F3099093F409A093F509B093F6098091F4
+:108CE000660890916708B89E8001B99E100D112406
+:108CF000C8018259974F3C0167E470E00E9423B697
+:108D0000009781F190935F0880935E088619970918
+:108D1000800F911F60E070E08159974F0E94F7B279
+:108D20000E940FAF64307105E8F480914C088823ED
+:108D3000C9F0F6018491EBEBFBE0882349F09091B8
+:108D4000C00095FFFCCF8093C60031968491F5CF8B
+:108D50008091C00085FFFCCFA092C60081EB9BE014
+:108D60000E9400760091660810916708B09EC001CD
+:108D7000B19E900D112463E973E08259974F0E94D0
+:108D80002EB6892B09F45EDEC8010196B7010E9458
+:108D90006BB2909367088093660880916408909105
+:108DA00065080196909365088093640810926208A4
+:108DB00010926108B5CE8B3311F4909260089091B7
+:108DC00060089111ADCE4091660850916708B901D5
+:108DD0006F5F7F4F7093620860936108B49EF001EB
+:108DE000B59EF00D1124E20FF31FE259F74F808377
+:108DF00097CE1092600823C2B09E3001B19E700CD5
+:108E00001124C3018259974F1C016AE270E00E944D
+:108E100023B6009789F5E5E3FEE08491882341F0CD
+:108E20009091C00095FFFCCF8093C6003196F5CF9E
+:108E3000EBE5FCE08491882341F09091C00095FF20
+:108E4000FCCF8093C6003196F5CF4091F309509145
+:108E5000F4096091F5097091F6092AE030E08CE997
+:108E60009DE00E94378A8091C00085FFFCCF8AE098
+:108E70008093C60057D91ECF20E010E0F301E20F27
+:108E8000F11DE259F74F30813A3219F02F5F132765
+:108E9000F5CF90935F0880935E0882199309860D41
+:108EA000971D60E070E08159974F0E94F7B20E94D1
+:108EB0000FAF212F30E02617370709F400CFE5E385
+:108EC000FEE08491882341F09091C00095FFFCCF93
+:108ED0008093C6003196F5CFE5E8FCE084918823C5
+:108EE00041F09091C00095FFFCCF8093C600319671
+:108EF000F5CF4091F3095091F4096091F509709113
+:108F0000F6092AE030E08CE99DE00E94378A8091E2
+:108F1000C00085FFFCCFABCFE5E3FEE08491882362
+:108F200041F09091C00095FFFCCF8093C600319630
+:108F3000F5CFE4EAFCE08491882341F09091C000F1
+:108F400095FFFCCF8093C6003196F5CF4091F30991
+:108F50005091F4096091F5097091F6092AE030E02A
+:108F60008CE99DE00E94378A8091C00085FFFCCF8C
+:108F70007ECF80915F0A882309F461C180916108E6
+:108F800090916208892B09F05AC1809164089091F0
+:108F90006508892B11F410924A08F8EE2F2EF3E0A1
+:108FA0003F2E412C512CACE3CA2ED12CE12CF12CBC
+:108FB0008E010F5F1F4FE0E66E2E77247394409171
+:108FC000FA0C5091FB0C6091FC0C7091FD0C80919F
+:108FD000F20C9091F30CA091F40CB091F50C4817A1
+:108FE00059076A077B0708F02AC1809164089091AD
+:108FF000650804970CF023C180914A0881111FC1B4
+:1090000080914D0C90914E0CA0914F0CB091500C52
+:109010008093FA0C9093FB0CA093FC0CB093FD0C86
+:1090200085E49CE00E94E011482F809363088A3019
+:10903000B9F04D30A9F0433229F420916008222381
+:1090400079F002C04A33C9F3209161083091620877
+:109050002F3531052CF48F3FFFEF9F0709F0D1C06A
+:109060004091FA0C5091FB0C6091FC0C7091FD0C3E
+:109070008091F20C9091F30CA091F40CB091F50C4E
+:10908000481759076A077B0708F481C0EEE9FBE03F
+:109090008491882341F09091C00095FFFCCF80938C
+:1090A000C6003196F5CF8091C00085FFFCCFFAE075
+:1090B000F093C6000E9431A960934E0870934F0848
+:1090C00080935008909351088090520890905308D4
+:1090D000A0905408B0905508681979098A099B092D
+:1090E000A20191010E947EB249015A01CA01B9014F
+:1090F000A70196010E947EB2CA01B901A70196019B
+:109100000E947EB27F936F93C501B40120E13EE0DF
+:1091100040E050E00E947EB23F932F93AAE8BBE06C
+:10912000BF93AF931F930F930E945BB6EFE2FEE0F5
+:1091300084910FB6F894DEBF0FBECDBF882349F0EF
+:109140009091C00095FFFCCF8093C600319684912A
+:10915000F5CFF8018191882339F09091C00095FFF7
+:10916000FCCF8093C600F6CF8091C00085FFFCCF76
+:109170003AE03093C600C8010E9448728DE59AE03B
+:109180000E945B3961E08DE59AE00E94873380910F
+:109190006308833211F470924A082091610830917B
+:1091A00062082115310509F424CE8091660890915A
+:1091B0006708689EF001699EF00D1124E20FF31F0D
+:1091C000E259F74F1082FC01E659F74F7082209167
+:1091D0006408309165082F5F3F4F309365082093F6
+:1091E0006408019664E070E00E946BB29093670897
+:1091F00080936608109260081092620810926108CD
+:10920000DECE4B3311F4709260084091600841113A
+:10921000D2CE4091660850916708B9016F5F7F4FC9
+:109220007093620860936108649EF001659EF00D82
+:109230001124E20FF31FE259F74F8083C0CE6E96E0
+:109240000FB6F894DEBF0FBECDBFDF91CF911F9157
+:109250000F91FF90EF90DF90CF90BF90AF909F90D5
+:109260008F907F906F905F904F903F902F900895D8
+:10927000CF92DF92EF92FF920F931F93CF93C82F5D
+:10928000809164089091650803970CF422DC0E9499
+:1092900031A9009156081091570820915808309133
+:1092A0005908C0905A08D0905B08E0905C08F09094
+:1092B0005D086C197D098E099F0906171707280795
+:1092C000390728F4012B022B032B09F0BBDB40915B
+:1092D0001D0250911E0260911F0270912002452BC9
+:1092E000462B472B19F10E9431A900915A08109181
+:1092F0005B0820915C0830915D08601B710B820B4C
+:10930000930B00911D0210911E0220911F023091BB
+:109310002002061717072807390740F490916D0EB1
+:1093200080916C0E981302C0CC2349F0CF911F910D
+:109330000F91FF90EF90DF90CF900C945B9A179A6B
+:109340001092350A169A1092360A159A1092370A18
+:10935000149AECCF0E94452180914C08811138C0AD
+:1093600081E080934C088091F3099091F409A091D9
+:10937000F509B091F6098093EF099093F009A09355
+:10938000F109B093F209E5E3FEE08491882341F00E
+:109390009091C00095FFFCCF8093C6003196F5CF29
+:1093A000EEE5F8E08491882341F09091C00095FFAC
+:1093B000FCCF8093C6003196F5CF8091C00085FF29
+:1093C000FCCF8AE08093C60084E598E00C94007698
+:1093D000089580914C080895CF93DF93EC0180911C
+:1093E000300A80934D0884E50E944340811102C0F9
+:1093F00080E075C00E942F400E9414AF60934D081A
+:109400006623B1F3EFE2FEE08491882341F090916E
+:10941000C00095FFFCCF8093C6003196F5CFCD36C6
+:10942000D105B9F054F4C836D105B1F0C936D1052B
+:1094300009F045C0EDEDF3E021C0CA3DD10531F0A2
+:10944000CD3DD105E1F5E8E9F3E036C0EFEAF3E020
+:1094500029C0E6ECF3E01CC0E4EFF3E0819188233F
+:1094600071F19091C00095FFFCCF8093C600F6CFBC
+:109470009091C00095FFFCCF8093C600819181112F
+:10948000F7CF1DC09091C00095FFFCCF8093C60020
+:1094900081918111F7CF13C09091C00095FFFCCF4F
+:1094A0008093C60081918111F7CF09C09091C000CF
+:1094B00095FFFCCF8093C60081918111F7CF40E0EA
+:1094C00050E060914D088CE99DE00E94918A809166
+:1094D000C00085FFFCCF8AE08093C60081E0DF9169
+:1094E000CF910895CF92DF92EF92FF922091540A8C
+:1094F0002223F1F020E030E040E05FE30E9475B10C
+:109500006B017C0120E030E0A9010E94A0AE88231D
+:1095100079F0A7019601C701B6010E9475B12BED44
+:109520003FE049E450E40E9475B19B01AC0104C0E6
+:1095300020E030E040E85FE360E070E080E89FE337
+:109540000E94A7AEFF90EF90DF90CF9008956091BA
+:109550005302709154028091550290915602C2DFDD
+:1095600060934F0270935002809351029093520285
+:1095700008953F924F925F926F927F928F929F9247
+:10958000AF92BF92CF92DF92EF92FF920F931F9311
+:10959000CF93DF93CDB7DEB7E9970FB6F894DEBF70
+:1095A0000FBECDBF80E50E9443408823B1F186E421
+:1095B0000E9443408823A9F0EAE1F4E081918823E6
+:1095C00039F09091C00095FFFCCF8093C600F6CF94
+:1095D0008091C00085FFFCCF8AE08093C6000C9488
+:1095E000F46082E50E944340882311F40C94F460F7
+:1095F000E0E2F4E08191882339F09091C00095FF7A
+:10960000FCCF8093C600F6CF8091C00085FFFCCFD1
+:109610008AE08093C6000C94F46087E40E94434083
+:10962000882309F44CC20E942F400E940FAF6A3079
+:10963000710509F4AFC09CF46230710509F44CC0A7
+:1096400024F477FF25C00C94F4606330710509F4AD
+:109650004EC06430710509F455C00C94F4606A354D
+:10966000710509F4D8C154F46B30710509F498C040
+:109670006C31710509F49AC00C94F4606B35710576
+:1096800009F4CDC16C35710509F4CEC10C94F460B8
+:1096900080914C0881110C94F4600E94BD4080912F
+:1096A0002D0A8823A9F088E50E944340811110C04B
+:1096B00089E50E94434081110BC08AE50E94434026
+:1096C000811106C085E40E94434081110C94F7602B
+:1096D0000E9403420C94F46080914C0881110C9418
+:1096E000F4600E943C4181E0FBD80C94F4608091CE
+:1096F0004C0881110C94F4600E943C4180E0F0D849
+:109700000C94F46081E89BE00E94007680E50E9462
+:109710004340882339F00E942F400E9414AF4B0130
+:109720005C0103C0812C912C540183E50E944340CD
+:10973000882361F00E942F4020E030E04AE754E4A3
+:109740000E9475B10E9414AF4B015C010E943D93D1
+:109750000E9431A96B017C01C80CD91CEA1CFB1CBE
+:109760000E9431A960935A0870935B0880935C084B
+:1097700090935D080E9431A96C157D058E059F05AB
+:1097800010F00C94F4600E94721E80E071DD0E9463
+:109790009C76F0CF60E081E00E94C2420C94F460BD
+:1097A00060E080E00E94C2420C94F460809121024B
+:1097B00090912202A0912302B09124028093FB0990
+:1097C0009093FC09A093FD09B093FE0980915D027E
+:1097D00090915E029093580A8093570A84E690E035
+:1097E00090935E0280935D020E9431A960935A08B3
+:1097F00070935B0880935C0890935D0881E00E9401
+:10980000F18B8091440A9091450AA091460AB0914B
+:10981000470A80930F0A9093100AA093110AB093FD
+:10982000120A8091480A9091490AA0914A0AB0917F
+:109830004B0A8093130A9093140AA093150AB093CD
+:10984000160A80914C0A90914D0AA0914E0AB0914F
+:109850004F0A8093170A9093180AA093190AB0939D
+:109860001A0A8091500A9091510AA091520AB0911F
+:10987000530A80931B0A90931C0AA0931D0AB0936D
+:109880001E0A1092210210922202109223021092BC
+:10989000240288E50E944340882311F090E00AC02A
+:1098A00089E50E9443408111F9CF8AE50E94434037
+:1098B00091E098279093250291110C94266188E5F8
+:1098C0000E94434081110C942661809125028111F0
+:1098D0000C942C6189E50E94434081110C942C6109
+:1098E00088E50E9443408823D1F00E943840672BCE
+:1098F000682B692BA1F00E942F402091380A3091EB
+:10990000390A40913A0A50913B0A0E94C7AD6093D0
+:10991000440A7093450A8093460A9093470A89E562
+:109920000E9443408823D1F00E943840672B682B67
+:10993000692BA1F00E942F4020913C0A30913D0AF2
+:1099400040913E0A50913F0A0E94C7AD6093480A79
+:109950007093490A80934A0A90934B0A809125029A
+:1099600081110C9432618AE50E94434081110C946C
+:1099700032618AE50E9443408823D1F00E9438403A
+:10998000672B682B692BA1F00E942F402091400A81
+:109990003091410A4091420A5091430A0E94C7AD5A
+:1099A00060934C0A70934D0A80934E0A90934F0A2D
+:1099B00020E53AE04CE45AE068E47AE084E49AE096
+:1099C0000E943EA480E00E94F18B8091FB0990915F
+:1099D000FC09A091FD09B091FE09809321029093AA
+:1099E0002202A0932302B09324028091570A9091FF
+:1099F000580A90935E0280935D020E9431A96093A1
+:109A00005A0870935B0880935C0890935D080E94ED
+:109A1000EA8B0C94F4601092EE090C94F46081E0EF
+:109A20008093EE090C94F46085E40E944340811118
+:109A300002C00E943D9357ECC52E54E0D52E68E33A
+:109A4000E62E6AE0F62E04E41AE0B12CF6018191CC
+:109A50006F010E944340882339F1F3E0BF120CC02C
+:109A60000E942F40F801608371838283938380E595
+:109A70009AE00E94E3A418C00E942F40F7012081C1
+:109A80003181428153810E94C7ADF80160837183A7
+:109A90008283938320E53AE04CE45AE068E47AE07C
+:109AA00084E49AE00E943EA4B394F4E0EF0EF11C2B
+:109AB0000C5F1F4F24E0B212C9CF0C94F4608DE408
+:109AC0000E944340882311F40C9423600E942F408D
+:109AD0000E940FAF6537710511F40C94C9550CF055
+:109AE000A6C06032710509F4F0C20CF056C06731AF
+:109AF000710509F445C254F56231710509F468C76E
+:109B0000BCF477FF02C00C94F460623071050CF471
+:109B100061C16131710511F00C94F46088E49BE03F
+:109B20000E94007617981698159814980C94F46073
+:109B30006531710509F418C20CF01CC2643171055D
+:109B400011F00C94F460E8E3FBE0EAC16B317105BD
+:109B500009F442C2B4F46931710509F429C20CF068
+:109B60002DC28DE59AE00E9416310E9431A96093C2
+:109B700052087093530880935408909355080C949E
+:109B8000F4606E31710509F462C20CF03AC36C31B5
+:109B9000710509F427C20C94F4606C35710509F461
+:109BA0006AC7ECF46235710509F409C764F46035DD
+:109BB000710509F4DAC60CF0E5C66A32710509F4DC
+:109BC0007EC30C94F4606435710509F401C70CF48C
+:109BD000FAC66535710509F433C70C94F4606B3629
+:109BE000710509F4BCC664F46936710509F4DEC375
+:109BF0000CF085C66836710509F4A8C30C94F460AE
+:109C00006037710509F4BFC334F46D36710509F48A
+:109C1000D9C40C94F4606237710509F4CEC7633778
+:109C2000710511F00C94F460EEEBF9E0ADC76D3DF9
+:109C3000710511F40C94D3590CF04DC06B3C7105B7
+:109C400011F40C944D5844F56C38710509F49DC31A
+:109C50009CF46837710511F40C94BD566937710591
+:109C600011F40C94C2566737710511F00C94F4602E
+:109C7000E7E2F4E00C94CD56683C710511F40C94C5
+:109C8000B757693C710511F40C942C586E3B710563
+:109C900011F00C94F46020C56F3C710511F40C9424
+:109CA000095954F46D3C710511F40C948C5814F45A
+:109CB0000C946A580C94EC58613D710511F40C94A5
+:109CC000645914F40C943E596C3D710511F40C94D4
+:109CD000C4590C94F460603931E0730711F40C94AA
+:109CE000965B54F56E3291E0790711F40C94505B59
+:109CF00084F46C32F1E07F0711F40C94545A14F0A0
+:109D00000C948A5A623E710511F40C94F9590C9422
+:109D1000F4606E3531E0730711F40C94905F6F3589
+:109D200081E0780711F40C94C75F6F32714011F035
+:109D30000C94F4600C945E5B6835E2E07E0711F4ED
+:109D40000C94745CBCF4663F21E0720711F40C942F
+:109D5000995B673F31E0730711F40C949C5B653F9E
+:109D6000714011F00C94F4600E9467870E9439835F
+:109D70000C94F4606B3893E0790711F40C946A5FEB
+:109D80003CF46335734011F40C949F5B0C94F460C5
+:109D9000603A23E0720709F401C2673E734011F094
+:109DA0000C94F46010924C080E9413768091EF0995
+:109DB0009091F009A091F109B091F2098093F30913
+:109DC0009093F409A093F509B093F6090E9492408C
+:109DD0000C94F46000915E0810915F080E5F1F4FB5
+:109DE00080E50E944340882379F00E942F400E9422
+:109DF00014AF6B017C01BB24B3946115710581051F
+:109E0000910531F4B12C04C0B12CC12CD12C7601B8
+:109E100083E50E944340882399F00E942F4020E070
+:109E200030E04AE754E40E9475B10E9414AF6B0120
+:109E30007C01AA24A394611571058105910509F49B
+:109E4000A12C6AE270E0C8010E9423B6009711F0CD
+:109E5000FC011082F801CF0121912032E1F3B11011
+:109E600007C0A11005C0222319F00E94487204C047
+:109E700080E79BE00E94007681E00E9428720E94A9
+:109E80003D930E9431A960935A0870935B088093B8
+:109E90005C0890935D08C114D104E104F104A9F0B9
+:109EA0000E9431A94B015C018C0C9D1CAE1CBF1C97
+:109EB0000E9431A9681579058A059B05B8F40E94AE
+:109EC0006277811113C00C9438610E9460778823F7
+:109ED00011F40C94F4600E94627781110AC00E9410
+:109EE000721E80E0C5D90E949C76F5CF80E00E946A
+:109EF000287280915F0A882331F081E69BE00E94FE
+:109F000000760C94F46081E59BE00E9400760C944E
+:109F1000F4609091C00095FFFCCF8093C60031960D
+:109F200084918111F6CF8091C00085FFFCCF8AE03B
+:109F30008093C6008DE59AE00E94F22FEAE2FBE0F2
+:109F40008491882341F09091C00095FFFCCF8093CD
+:109F5000C6003196F5CF8091C00085FFFCCF8AE026
+:109F60008093C6000C94F4608DE59AE00E9447301F
+:109F70000C94F4608DE59AE00E9412310C94F46028
+:109F800000915E0810915F080C5F1F4F6AE270E05D
+:109F9000C8010E9423B6009711F0FC01108221E055
+:109FA00041E0B8018DE59AE00E94EC340C94F46035
+:109FB0008DE59AE00E941D310C94F4608091600A56
+:109FC000882311F40C94F46083E50E9443408111CE
+:109FD0000C9441610C94F4608DE59AE00E94C132CA
+:109FE0000C94F46080915E0890915F086AE270E0E2
+:109FF00004960E9423B68C010097D9F0209168083E
+:10A000003091690840E6429FC001439F900D1124A2
+:10A010006EE470E08259974F0E9423B660E270E0D0
+:10A020000E9423B6019690935F0880935E08F80122
+:10A03000108260915E0870915F086C5F7F4F21E035
+:10A0400040E08DE59AE00E94EC340C94F46080913D
+:10A05000600A882311F40C94F46060E08DE59AE0C6
+:10A060000E947D3480915E0890915F086AE270E002
+:10A0700004960E9423B68C010097D9F020916808BD
+:10A080003091690840E6429FC001439F900D112422
+:10A090006EE470E08259974F0E9423B660E270E050
+:10A0A0000E9423B6019690935F0880935E08F801A2
+:10A0B000108260915E0870915F086C5F7F4F8DE544
+:10A0C0009AE00E9481310C94F46080915F0A8111C2
+:10A0D0000E943D9300915E0810915F080C5F1F4F36
+:10A0E0006AE270E0C8010E9423B67C0161E270E080
+:10A0F000C8010E9423B6009719F08C010F5F1F4F13
+:10A10000E114F10411F0F701108280E50E94434050
+:10A11000F82E20915E0830915F080217130708F4AB
+:10A12000F12C8091600A882311F40C94F46021E0F2
+:10A130002F2541E0B8018DE59AE00E94EC3483E5DB
+:10A140000E9443408823B9F020915E0830915F0857
+:10A150002017310780F40E943840AB01BC014093C6
+:10A16000FA0C5093FB0C6093FC0C7093FD0C85E48F
+:10A170009CE00E94A9128DE59AE00E941631F11030
+:10A180000C94F4600E9431A96093520870935308B4
+:10A1900080935408909355080C94F46080915E0865
+:10A1A00090915F086AE270E005960E9423B68C01E8
+:10A1B0000097D9F0209168083091690840E6429FE5
+:10A1C000C001439F900D11246EE470E08259974FB7
+:10A1D0000E9423B660E270E00E9423B6019690933D
+:10A1E0005F0880935E08F801108260915E087091AC
+:10A1F0005F086B5F7F4F8DE59AE00E9416380C94E4
+:10A20000F4600E9431A960934E0870934F088093C8
+:10A2100050089093510800915208109153082091D2
+:10A22000540830915508601B710B820B930B28EE7C
+:10A2300033E040E050E00E947EB2CA01B9012CE355
+:10A2400030E040E050E00E947EB27F936F933F93F6
+:10A250002F938BE19BE09F938F93CE0101969F9369
+:10A260008F930E945BB6EFE2FEE084910FB6F89404
+:10A27000DEBF0FBECDBF882349F09091C00095FF8F
+:10A28000FCCF8093C60031968491F5CFFE013196C4
+:10A290008191882339F09091C00095FFFCCF809385
+:10A2A000C600F6CF8091C00085FFFCCF8AE0809386
+:10A2B000C600CE0101960E9448720C94F46083E5BA
+:10A2C0000E944340882311F40C94F4600E942F40B4
+:10A2D0000E940FAFF62EE72E862F9E2D8C0180E573
+:10A2E0000E944340882331F00F3F110509F010F41C
+:10A2F0000C9452610DE010E0EFE8F4E0819191914F
+:10A300008017910711F40C94F46034E0E73CF307F4
+:10A31000A9F70830110539F48F2D9E2D90932F0A3F
+:10A3200080932E0A04C017FF02C00C94F46061E011
+:10A33000802F0E9451A86F2D802F0E948AA86F2D18
+:10A340007E2D802F0E9447A70C94F46088E690E051
+:10A3500043D881110C94F46083E50E944340882324
+:10A3600071F000914D080E942F4010E0000F111F66
+:10A37000085B174F0E940FAFF801718360830E9442
+:10A3800044210C94F4600E94224583E50E944340DE
+:10A39000882311F40C94F4600E942F400E940FAFA8
+:10A3A00070934708609346080C94F46089E690E047
+:10A3B00013D881110C94F460E5E1FBE084918823CB
+:10A3C00041F09091C00095FFFCCF8093C60031967C
+:10A3D000F5CFE0914D0824E0E29FF0011124E05C0C
+:10A3E000F74F408151816281738121E030E08CE937
+:10A3F0009DE00E94308BE2E1FBE08491882341F0F4
+:10A400009091C00095FFFCCF8093C6003196F5CFA8
+:10A41000E0914D08F0E0EE0FFF1FE85BF74F608121
+:10A420007181882777FD8095982F0E9442AFAB01FC
+:10A43000BC0121E030E08CE99DE00E94308BEEE031
+:10A44000FBE08491882341F09091C00095FFFCCF00
+:10A450008093C6003196F5CF40913A0850913B0861
+:10A4600060913C0870913D0821E030E08CE99DE06E
+:10A470000E94308BEBE0FBE08491882341F09091C7
+:10A48000C00095FFFCCF8093C6003196F5CF609158
+:10A49000460870914708882777FD8095982F0E947D
+:10A4A00042AFAB01BC0121E030E08CE99DE00E94AD
+:10A4B000308BE8E0FBE08491882341F09091C0006C
+:10A4C00095FFFCCF8093C6003196F5CF4AE050E06F
+:10A4D00060E070E08CE99DE00E945A8AE6E0FBE0D3
+:10A4E0008491882341F09091C00095FFFCCF809328
+:10A4F000C6003196F5CF40914008509141086091D7
+:10A5000042087091430821E030E08CE99DE00E9410
+:10A51000308BE3E0FBE08491882341F09091C00010
+:10A5200095FFFCCF8093C6003196F5CF6091480827
+:10A5300070914908882777FD8095982F0E9442AF37
+:10A54000AB01BC0121E030E08CE99DE00E94308B42
+:10A55000EFEFFAE08491882341F09091C00095FFDD
+:10A56000FCCF8093C6003196F5CF80914D0890E0E6
+:10A570000E943C1E4AE050E0BC018CE99DE00E9434
+:10A580005A8AEAEFFAE08491882341F09091C00062
+:10A5900095FFFCCF8093C6003196F5CF8FEF9FEFEC
+:10A5A0000E943C1E4AE050E0BC018CE99DE00E9404
+:10A5B0005A8A8091C00085FFFCCF8AE08093C60054
+:10A5C0000C94B0628DE690E00E94EC4981110C94ED
+:10A5D000F4608FEE9AE00E94007683E50E9443408B
+:10A5E000882391F000914D080E942F4010E0000F49
+:10A5F000111F085B174F0E940FAFF8017183608332
+:10A6000081E080931C0215C082E50E9443408823AC
+:10A6100081F000914D080E942F4010E0000F111FA3
+:10A62000085B174F0E940FAFF8017183608310928F
+:10A630001C020E9444210E9431A94B015C0100913F
+:10A640004D0810E0F801EE0FFF1FE85BF74F608147
+:10A650007181882777FD8095982F0E9442AFF8017D
+:10A66000EE0FFF1FEE0FFF1FE05CF74F11E02081A0
+:10A670003181428153810E94A3B018160CF010E082
+:10A6800010934B0810921F0ACC24CA94DC2C76013C
+:10A6900048EE442E43E0542E612C712C5AE0352EA6
+:10A6A00080911F0A81110C946D62FFEFCF16DF06B7
+:10A6B000EF06FF0611F40C945961F7FE02C00C94EA
+:10A6C0006D620E9431A96C197D09683B7B4010F4D2
+:10A6D0000C9459610C946D6289EC9AE00E940076AA
+:10A6E00083E50E944340882361F00E942F400E942E
+:10A6F0000FAF709347086093460881E080931C0277
+:10A700000FC082E50E944340882351F00E942F40F1
+:10A710000E940FAF709347086093460810921C0286
+:10A720000E9431A94B015C0110921F0A60914608FA
+:10A7300070914708882777FD8095982F0E9442AF37
+:10A7400011E020913A0830913B0840913C0850912B
+:10A750003D080E94A3B018160CF010E010934B08AF
+:10A7600006EC1AE0E2ECEE2EEAE0FE2EFEEBCF2E37
+:10A77000FAE0DF2EAAE07A2E80914B08609146081D
+:10A7800070914708882309F48BC080911F0A8111BA
+:10A7900087C0882777FD8095982F0E9442AF20912F
+:10A7A0003A0830913B0840913C0850913D080E9486
+:10A7B000A3B018160CF08BC00E9431A96819790952
+:10A7C0008A099B09693E73408105910508F460C0C0
+:10A7D000E091300A84E0E89FF0011124E05CF74F3B
+:10A7E0004081518162817381F8018491E6ECFAE045
+:10A7F000882349F09091C00095FFFCCF8093C6005C
+:10A8000031968491F5CF22E030E08CE99DE00E9402
+:10A81000308BF7018491E2ECFAE0882349F09091C3
+:10A82000C00095FFFCCF8093C60031968491F5CF90
+:10A830006091300A70E04AE050E08CE99DE00E94AF
+:10A840005A8AF6018491EEEBFAE0882349F0909160
+:10A85000C00095FFFCCF8093C60031968491F5CF60
+:10A8600040913A0850913B0860913C0870913D0836
+:10A8700021E030E08CE99DE00E94308B8091C000A7
+:10A8800085FFFCCF7092C6000E9431A94B015C018C
+:10A890000E94721E80E00E9438490E949C766CCF14
+:10A8A000882777FD8095982F0E9442AF20913A0823
+:10A8B00030913B0840913C0850913D080E94A0AE69
+:10A8C00087FF05C080911C02882309F475CF84EBB3
+:10A8D0009AE00E94007680915F0A882321F08EE73B
+:10A8E00093E00E9448720E9431A960935A087093C5
+:10A8F0005B0880935C0890935D080C94F46083E59A
+:10A900000E944340882319F10E942F4020E030E04C
+:10A91000A9010E94A0AE87FD0FC00E942F4020E039
+:10A9200030E04FE753E40E94A3B0181644F00E94B1
+:10A930002F400E940FAF05C060E070E002C06FEFD3
+:10A9400070E070932F0A60932E0A0C94F4608FEFDE
+:10A9500090E090932F0A80932E0A0C94F46010924A
+:10A960002F0A10922E0A0C94F4609B9AA39881E00F
+:10A970008093260284EA9AE00E9400760E949C76E8
+:10A980000C94F4600E9445210E943D93149A0E9409
+:10A99000A79310922F0A10922E0A68EE73E080E0BF
+:10A9A00090E00E9460A99B9AA39A1092260286E9E1
+:10A9B0009AE00E9400760E949C760C94F4601092BB
+:10A9C0005C0A0C94F46081E080935C0A0C94F4605F
+:10A9D00083E50E9443408823A1F00E942F4020E09D
+:10A9E00030E04AE754E40E9475B10E9414AF6093CE
+:10A9F0001D0270931E0280931F02909320020C94FC
+:10AA0000F46088E50E94434081110C948E6289E5D0
+:10AA10000E94434081110C948E628AE50E9443405B
+:10AA200081110C948E6285E40E94434081110C9444
+:10AA30008E620E943D93149A0E94A7930C94F46036
+:10AA400083E50E944340882311F40C94F4600E9433
+:10AA50002F4020E030E04AE754E40E9475B10E94A4
+:10AA600014AF6093560870935708809358089093DA
+:10AA700059080C94F46027EC34E039AF28AF01EAB0
+:10AA800013E161EB862E63E1962E75E6A72E73E146
+:10AA9000B72E312CE8ADF9AD8191F9AFE8AF0E9446
+:10AAA0004340882309F45BC0F3E03F1251C00E9489
+:10AAB0002F406B017C0120E030E040EA51E40E942D
+:10AAC000A0AE87FF3FC0A7019601F80160817181A8
+:10AAD000828193810E94A7AE2B013C019B01AC01B6
+:10AAE0006091791370917A1380917B1390917C130C
+:10AAF0000E9475B16093791370937A1380937B13DE
+:10AB000090937C13A3019201F40160817181828191
+:10AB100093810E9475B1F401608371838283938372
+:10AB2000F50160817181828193810E9440AFA30110
+:10AB300092010E9475B10E9414AFF5016083718388
+:10AB400082839383F801C082D182E282F38207C0BC
+:10AB50000E942F40F8016083718382839383339432
+:10AB60000C5F1F4FF4E08F0E911C24E0A20EB11C6D
+:10AB700034E033128FCF0C94F4609091C00095FFB5
+:10AB8000FCCF8093C600319684918111F6CF0C944E
+:10AB9000F46000915E0810915F080B5F1F4F6AE23E
+:10ABA00070E0C8010E9423B6009711F0FC011082EA
+:10ABB000C8010E9448720C94F460EBEBF9E08491B8
+:10ABC000882341F09091C00095FFFCCF8093C60090
+:10ABD0003196F5CF4091440A5091450A6091460A5A
+:10ABE0007091470A22E030E08CE99DE00E94308BB2
+:10ABF000E7EBF9E08491882341F09091C00095FF44
+:10AC0000FCCF8093C6003196F5CF4091480A509111
+:10AC1000490A60914A0A70914B0A22E030E08CE9BF
+:10AC20009DE00E94308BE3EBF9E08491882341F0B2
+:10AC30009091C00095FFFCCF8093C6003196F5CF70
+:10AC400040914C0A50914D0A60914E0A70914F0A02
+:10AC500022E030E08CE99DE00E94308BEFEAF9E0E1
+:10AC60008491882341F09091C00095FFFCCF8093A0
+:10AC7000C6003196F5CF4091500A5091510A60912B
+:10AC8000520A7091530A22E030E08CE99DE00E9464
+:10AC9000308BE4EAF9E08491882341F09091C00080
+:10ACA00095FFFCCF8093C6003196F5CF0E94999313
+:10ACB0000E9442AF2091A1133091A2134091A3139F
+:10ACC0005091A4130E94A7AEAB01BC0122E030E07A
+:10ACD0008CE99DE00E94308BE0EAF9E084918823C2
+:10ACE00041F09091C00095FFFCCF8093C600319653
+:10ACF000F5CF81E00E9499930E9442AF2091A51365
+:10AD00003091A6134091A7135091A8130E94A7AEAB
+:10AD1000AB01BC0122E030E08CE99DE00E94308B69
+:10AD2000ECE9F9E08491882341F09091C00095FF0F
+:10AD3000FCCF8093C6003196F5CF82E00E949993B4
+:10AD40000E9442AF2091A9133091AA134091AB13F6
+:10AD50005091AC130E94A7AEAB01BC0122E030E0E1
+:10AD60008CE99DE00E94308B8091C00085FFFCCF74
+:10AD70008AE08093C6000C94F46080E00E94F18B1E
+:10AD80000C94F46081E00E94F18B0C94F46090913B
+:10AD9000C00095FFFCCF8093C60081918111F7CF51
+:10ADA0008091C00085FFFCCF8AE08093C600E4E973
+:10ADB000F9E08491882341F09091C00095FFFCCF89
+:10ADC0008093C6003196F5CF1E9B03C0EBE0F4E004
+:10ADD00009C0E5E1F4E006C09091C00095FFFCCF0A
+:10ADE0008093C60081918111F7CF8091C00085FFCB
+:10ADF000FCCF8AE08093C600ECE8F9E084918823D8
+:10AE000041F09091C00095FFFCCF8093C600319631
+:10AE1000F5CF029903C0EBE0F4E009C0E5E1F4E00E
+:10AE200006C09091C00095FFFCCF8093C600819131
+:10AE30008111F7CF8091C00085FFFCCF8AE080931D
+:10AE4000C600E4E8F9E08491882341F09091C000C5
+:10AE500095FFFCCF8093C6003196F5CF1D9B03C0B4
+:10AE6000EBE0F4E009C0E5E1F4E006C09091C00039
+:10AE700095FFFCCF8093C60081918111F7CF80911F
+:10AE8000C00085FFFCCF8AE08093C600ECE7F9E0C4
+:10AE90008491882341F09091C00095FFFCCF80936E
+:10AEA000C6003196F5CF019903C0EBE0F4E009C08C
+:10AEB000E5E1F4E006C09091C00095FFFCCF8093DF
+:10AEC000C60081918111F7CF8091C00085FFFCCF32
+:10AED0008AE08093C600E4E7F9E08491882341F09A
+:10AEE0009091C00095FFFCCF8093C6003196F5CFBE
+:10AEF0001C9B03C0EBE0F4E009C0E5E1F4E006C010
+:10AF00009091C00095FFFCCF8093C6008191811184
+:10AF1000F7CF8091C00085FFFCCF8AE08093C60008
+:10AF2000ECE6F9E08491882341F09091C00095FF10
+:10AF3000FCCF8093C6003196F5CF379903C0EBE084
+:10AF4000F4E009C0E5E1F4E006C09091C00095FF8F
+:10AF5000FCCF8093C60081918111F7CF8091C00012
+:10AF600085FFFCCF8AE08093C6000C94F46080914A
+:10AF7000300A80934D0884E50E944340882319F1EC
+:10AF80000E942F400E9414AF60934D086623D9F0B1
+:10AF9000EFE2FEE08491882341F09091C00095FF9C
+:10AFA000FCCF8093C6003196F5CFE0E4F4E08191C8
+:10AFB000882311F40C94F4609091C00095FFFCCFAD
+:10AFC0008093C600F4CF84E40E944340882311F4A8
+:10AFD0000C94F4600E942F4020E030E0A9010E9410
+:10AFE000A0AE811103C01092540A32C000914D08E6
+:10AFF00010E00E942F40F801EE0FFF1FEE0FFF1F21
+:10B00000ED5AFD4F6083718382839383E0905302F6
+:10B01000F0905402009155021091560220E030E069
+:10B02000A901B701C8010E94A0AE811104C0E12CA2
+:10B03000F12C00E410E4C701D801809353029093EF
+:10B040005402A0935502B093560281E08093540AB3
+:10B050000E94A74A0C94F46007EC14E041E9E42E46
+:10B0600043E1F42EF80181918F010E94434088232F
+:10B0700049F00E942F400E9414AFF7016083718352
+:10B0800082839383F4E0EF0EF11C24E00B3C120763
+:10B0900049F70E9410A50C94F46007EC14E031EB22
+:10B0A000E32E33E1F32EF80181918F010E9443409A
+:10B0B000882339F00E942F40F701608371838283D7
+:10B0C0009383F4E0EF0EF11C24E00B3C120759F7D8
+:10B0D0000C94F46083E50E944340882351F00E9461
+:10B0E0002F406093891370938A1380938B139093EE
+:10B0F0008C1384E50E944340882311F40C94F4607F
+:10B100000E942F406093851370938613809387135A
+:10B11000909388130C94F46083E50E944340882345
+:10B1200051F00E942F4060938D1370938E13809383
+:10B130008F139093901384E50E944340882351F02D
+:10B140000E942F406093751370937613809377134A
+:10B150009093781382E40E944340882361F00E9418
+:10B160002F400E9414AF6093C1137093C213809359
+:10B17000C3139093C41388E50E944340882351F081
+:10B180000E942F40609381137093821380938313E6
+:10B19000909384138AE50E944340882351F00E94D3
+:10B1A0002F4060937D1370937E1380937F13909351
+:10B1B000801385E40E944340882311F40C94F460CA
+:10B1C0000E942F406093791370937A1380937B13BE
+:10B1D00090937C130C94F46007EC14E028E3E22EC7
+:10B1E0002AE0F22EF80181918F010E9443408823CA
+:10B1F00039F00E942F40F70160837183828393832B
+:10B20000F4E0EF0EF11C24E00A3C120709F4ECC74D
+:10B21000E9CF83E50E944340882351F00E942F40EC
+:10B220006093330270933402809335029093360218
+:10B2300086E40E944340882381F00E942F4020E052
+:10B2400030E040E752E40E94A7AE60932B02709377
+:10B250002C0280932D0290932E028AE50E94434097
+:10B26000882309F4C1C70E942F406093280A709375
+:10B27000290A80932A0A90932B0AB6C783E50E9475
+:10B280004340882351F00E942F406093240A70931A
+:10B29000250A8093260A9093270A86E40E94434059
+:10B2A000882309F4A1C70E942F4020E030E040E746
+:10B2B00052E40E94A7AE6093270270932802809305
+:10B2C000290290932A0290C783E50E944340882375
+:10B2D00009F48AC70E942F400E940FAF61157105C3
+:10B2E00049F06130710559F481E080932D0A109284
+:10B2F0002C0A7AC710922D0A10922C0A75C7EFE219
+:10B30000FEE08491882341F09091C00095FFFCCF2E
+:10B310008093C6003196F5CFE9E5F9E08491882362
+:10B3200041F09091C00095FFFCCF8093C60031960C
+:10B33000F5CF809168089091690820E6289FF00178
+:10B34000299FF00D1124E259F74F8191882339F09C
+:10B350009091C00095FFFCCF8093C600F6CFE7E543
+:10B36000F9E08491882341F09091C00095FFFCCFD3
+:10B370008093C6003196F5CF8091C00085FFFCCF49
+:10B380008AE08093C60030C783E50E94434088234B
+:10B3900009F42AC70E942F400E940FAF70935E02EB
+:10B3A00060935D0221C783E50E944340882309F42E
+:10B3B0001BC70E942F400E940FAF6B017C0184E5E8
+:10B3C0000E944340882381F08DED90E00E94EC497B
+:10B3D00081110AC7E0914D08F0E0EE0FFF1FE75A18
+:10B3E000FD4FD182C08200C7D0925C02C0925B0246
+:10B3F000FBC680E50E944340882309F4F5C60E94FD
+:10B400002F400E940FAFD62E062F172F83E50E94E4
+:10B410004340882331F00E942F400E940FAF7B01F0
+:10B4200003C0EE24EA94FE2CC7010196039708F0AE
+:10B43000DBC6EFE8F4E0819191918017910709F460
+:10B44000D3C634E0E73CF307B1F717FDCDC60E9441
+:10B450003D93CD2C60E08D2D0E9451A88FEFE81612
+:10B46000F80631F0EA94EF2871F000E010E00DC02A
+:10B470008D2D0E94BFA831E020E0892B09F030E03B
+:10B48000032F122F02C001E010E08C2D0E94BFA8F4
+:10B490008017910709F4A8C60E94721E80E00E94DE
+:10B4A00038490E949C76F1CF83E50E94434088236F
+:10B4B00031F00E942F400E940FAF8B0102C00EE6B8
+:10B4C00010E080E50E944340882331F00E942F4025
+:10B4D0000E940FAFCB0102C088EE93E06C01EE2416
+:10B4E000D7FCE094FE2C101611067CF420E030E02E
+:10B4F000A901B80184E50E94FDA9C701B6010E9417
+:10B5000060A984E50E940EAD6FC6C701B6010E9416
+:10B5100060A96AC680E50E944340882351F00E94DA
+:10B520002F40609318027093190280931A0290932F
+:10B530001B0289E40E944340882361F00E942F404F
+:10B540000E94B7276093140270931502809316022D
+:10B550009093170284E40E944340882361F00E9484
+:10B560002F400E94C32760931002709311028093B2
+:10B5700012029093130283E40E944340882351F007
+:10B580000E942F4060930C0270930D0280930E0274
+:10B5900090930F020E94251EE7E5F4E08191882335
+:10B5A00039F09091C00095FFFCCF8093C600F6CF94
+:10B5B000EAE5F4E08191882339F09091C00095FF8D
+:10B5C000FCCF8093C600F6CF40911802509119022B
+:10B5D00060911A0270911B0222E030E08CE99DE03C
+:10B5E0000E94308BEEE5F4E08191882339F0909150
+:10B5F000C00095FFFCCF8093C600F6CF6091140287
+:10B600007091150280911602909117020E94BD2739
+:10B61000AB01BC0122E030E08CE99DE00E94308B60
+:10B62000E2E6F4E08191882339F09091C00095FF23
+:10B63000FCCF8093C600F6CF60911002709111028A
+:10B6400080911202909113020E94C927AB01BC01A4
+:10B6500022E030E08CE99DE00E94308BE6E6F4E0E9
+:10B660008191882339F09091C00095FFFCCF8093A1
+:10B67000C600F6CF40910C0250910D0260910E026F
+:10B6800070910F0222E030E08CE99DE00E94308B47
+:10B690008091C00085FFFCCF8AE08093C600A4C5DE
+:10B6A00083E50E944340882319F00E942F4003C085
+:10B6B00060E070E0CB010E9407A596C585E40E947A
+:10B6C0004340882341F00E942F400E940FAF8B011E
+:10B6D00077FF03C009C000E010E0C12CD12CB6E117
+:10B6E000EB2EB3E4FB2E06C0C12CD12CACE8EA2E25
+:10B6F000A2E4FA2E83E50E944340882321F00E94B1
+:10B700002F406B017C0183E40E944340882331F089
+:10B710000E942F400E940FAF9B0102C025E030E045
+:10B72000A801C701B6010E9458215EC50E943D9341
+:10B730005BC50E94678758C50E94398355C58AE555
+:10B740000E944340882309F497C00E942F406B0158
+:10B750007C0120E030E040E751EC0E94A3B087FD7F
+:10B760003FC020E030E040EA50ECC701B6010E9443
+:10B77000A0AE1816ACF1F7FAF094F7F8F094C09276
+:10B78000310AD092320AE092330AF092340AEFE2A0
+:10B79000FEE08491882341F09091C00095FFFCCF9A
+:10B7A0008093C6003196F5CFEBE4F9E084918823CD
+:10B7B00041F09091C00095FFFCCF8093C600319678
+:10B7C000F5CF8091C00085FFFCCF8AE08093C60052
+:10B7D0008091C00085FFFCCF8AE08093C60004C53D
+:10B7E000EFE2FEE08491882341F09091C00095FF44
+:10B7F000FCCF8093C6003196F5CFE2E4F9E0849166
+:10B80000882341F09091C00095FFFCCF8093C60043
+:10B810003196F5CFEAE3F9E08491882341F09091E5
+:10B82000C00095FFFCCF8093C6003196F5CF4AE06B
+:10B8300050E061EF7FEF8CE99DE00E945A8AE2E3DD
+:10B84000F9E08491882341F09091C00095FFFCCFEE
+:10B850008093C6003196F5CF4AE050E06BEF7FEF62
+:10B860008CE99DE00E945A8A8091C00085FFFCCF40
+:10B870008AE08093C600B8C4EFE2FEE0849188239A
+:10B8800041F09091C00095FFFCCF8093C6003196A7
+:10B89000F5CFE6E2F9E08491882341F09091C00071
+:10B8A00095FFFCCF8093C6003196F5CF8091C00004
+:10B8B00085FFFCCF8AE08093C6004091310A509109
+:10B8C000320A6091330A7091340A705822E030E0F5
+:10B8D0008CE99DE00E94308B8091C00085FFFCCFF9
+:10B8E0008AE08093C60080C480915D0290915E02E0
+:10B8F0009093580280935702C090440AD090450A12
+:10B90000E090460AF090470ACF8ED8A2E9A2FAA2A8
+:10B910000091480A1091490A20914A0A30914B0A35
+:10B920000BA31CA32DA33EA340914C0A50914D0A9A
+:10B9300060914E0A70914F0A4FA358A769A77AA742
+:10B940008091500A9091510AA091520AB091530AE5
+:10B950008BA79CA7ADA7BEA7C982DA82EB82FC8227
+:10B960000D831E832F83388749875A876B877C878F
+:10B970008D879E87AF87B88B85E40E9443408823DC
+:10B9800059F00E942F409B01AC016BA57CA58DA5B1
+:10B990009EA50E94C7AD0AC020E030E040E050E420
+:10B9A0006BA57CA58DA59EA50E94C6AD6BA77CA7A7
+:10B9B0008DA79EA7E0E3CE2EEAE0DE2EE12CF12C4F
+:10B9C00008EC13E49E01255D3F4FAE01495D5F4FDA
+:10B9D000BE016D5D7F4FCE014F960E94779A8AE53A
+:10B9E0000E944340882349F00E942F409B01AC01F4
+:10B9F0006FA178A589A59AA51EC020E030E040E09F
+:10BA000050E46FA178A589A59AA50E94C7AD6B01E6
+:10BA10007C016FA378A789A79AA720E030E040E2D5
+:10BA200051E40E94A0AE87FF0CC020E030E040E26D
+:10BA300051E4C701B6010E94C7AD6FA378A789A7DB
+:10BA40009AA760E3C62E6AE0D62EE12CF12C06E917
+:10BA500013E49E01255D3F4FAE01495D5F4FBE017E
+:10BA60006D5D7F4FCE014F960E94779A88E50E94C8
+:10BA70004340882379F00E942F409B01AC016F8DD9
+:10BA800078A189A19AA10E94C7AD6F8F78A389A3DD
+:10BA90009AA308C080E090E0A3E5B3E48F8F98A359
+:10BAA000A9A3BAA389E50E944340882339F00E94E4
+:10BAB0002F406BA37CA38DA39EA304C01BA21CA23A
+:10BAC0001DA21EA240E3C42E4AE0D42EE12CF12C8C
+:10BAD0000CE812E49E01255D3F4FAE01495D5F4FCA
+:10BAE000BE016D5D7F4FCE014F960E94779A8CE428
+:10BAF0000E944340882359F00E942F409B01AC01D3
+:10BB00006BA57CA58DA59EA50E94C7AD0AC020E0AF
+:10BB100030E040EA52E46BA57CA58DA59EA50E946D
+:10BB2000C6AD6BA77CA78DA79EA720E3C22E2AE0F7
+:10BB3000D22EE12CF12C00EA11E49E01255D3F4F4D
+:10BB4000AE01495D5F4FBE016D5D7F4FCE014F96E7
+:10BB50000E94779A0E943D93149A64E670E080E018
+:10BB600090E00E9460A90E94827100E010E0F12C38
+:10BB70000E94627781112AC0F3940E94721E81E0B4
+:10BB80000E943849F110F4CF043FE1E01E0711F4A0
+:10BB900000E010E0809101018460809301010115B3
+:10BBA000110531F49FB7F89480910201846008C0B8
+:10BBB0000431110541F49FB7F894809102018B7F05
+:10BBC000809302019FBF0F5F1F4FD2CF9FB7F894A2
+:10BBD000809102018B7F809302019FBF20E030E0C3
+:10BBE0004CE852E46BA57CA58DA59EA50E94C7AD2F
+:10BBF0006BA77CA78DA79EA710E3C12E1AE0D12EBC
+:10BC0000E12CF12C00EA11E49E01255D3F4FAE01CD
+:10BC1000495D5F4FBE016D5D7F4FCE014F960E9423
+:10BC2000779A20E030E048E452E46BA57CA58DA52E
+:10BC30009EA50E94C7AD6BA77CA78DA79EA7E12CF0
+:10BC4000F12C00E010E49E01255D3F4FAE01495DFF
+:10BC50005F4FBE016D5D7F4FCE014F960E94779A78
+:10BC60001092560A1092550A0E94E8718091550A66
+:10BC70009091560A019709F47CC01092560A1092CE
+:10BC8000550A0E9468778091550A9091560A823031
+:10BC9000910549F1039709F069C020E030E048E4DC
+:10BCA00052E46BA57CA58DA59EA50E94C7AD6BA790
+:10BCB0007CA78DA79EA770E3C72E7AE0D72EE12C34
+:10BCC000F12C00E010E49E01255D3F4FAE01495D7F
+:10BCD0005F4FBE016D5D7F4FCE014F960E94779AF8
+:10BCE0000E94A871C3CF20E030E04CE852E46BA57D
+:10BCF0007CA58DA59EA50E94C7AD6BA77CA78DA72F
+:10BD00009EA7F0E3CF2EFAE0DF2EE12CF12C00EA23
+:10BD100011E49E01255D3F4FAE01495D5F4FBE01BD
+:10BD20006D5D7F4FCE014F960E94779A20E030E004
+:10BD300048E452E46BA57CA58DA59EA50E94C7ADE5
+:10BD40006BA77CA78DA79EA7E12CF12C00E010E447
+:10BD50009E01255D3F4FAE01495D5F4FBE016D5DA8
+:10BD60007F4FCE014F960E94779A7ECF0E949B71A3
+:10BD70007DCF20E030E040EA50E46BA57CA58DA5A6
+:10BD80009EA50E94C7AD6BA77CA78DA79EA790E339
+:10BD9000C92E9AE0D92EE12CF12C00E010E49E018E
+:10BDA000255D3F4FAE01495D5F4FBE016D5D7F4F29
+:10BDB000CE014F960E94779AA80197016BA57CA5AA
+:10BDC0008DA59EA50E94C6AD6BA77CA78DA79EA73B
+:10BDD000E12CF12C08EC13E49E01255D3F4FAE01F0
+:10BDE000495D5F4FBE016D5D7F4FCE014F960E9452
+:10BDF000779AE12CF12C0CE812E49E01255D3F4F6F
+:10BE0000AE01495D5F4FBE016D5D7F4FCE014F9624
+:10BE10000E94779A9E01255D3F4FAE01495D5F4FBD
+:10BE2000BE016B5F7F4FCE0101960E94779AE12C95
+:10BE3000F12C08E413E49E01255D3F4FAE01475FFE
+:10BE40005F4FBE016B5F7F4FCE0101960E94779AD4
+:10BE500020E030E040E050E46BA57CA58DA59EA5D8
+:10BE60000E94C7AD6BA77CA78DA79EA7E12CF12CE4
+:10BE700000EA10E49E01255D3F4FAE01475F5F4F32
+:10BE8000BE016B5F7F4FCE0101960E94779ACE0173
+:10BE90000D960E94E3A480915702909158028093DE
+:10BEA0005D0290935E029F938F938DE199E09F9343
+:10BEB0008F938E01015D1F4F1F930F930E945BB6FE
+:10BEC000C8010E94C03D0F900F900F900F900F90EF
+:10BED0000F908AC188E50E944340882339F00E9470
+:10BEE0002F400E940FAF80E00E9445948AE50E9497
+:10BEF0004340882339F00E942F400E940FAF81E019
+:10BF00000E94459485E40E944340882309F46CC153
+:10BF10000E942F400E940FAF82E00E94459464C1AE
+:10BF200083E50E944340811104C007EC14E0F12C2A
+:10BF300010C010E00E942F400E9414AF812F0E9479
+:10BF4000E4941F5F1530B1F7F0CFF394F4E0FF16DF
+:10BF500079F0F80181918F010E9443408823A9F371
+:10BF60000E942F400E9414AF8F2D0E94E494EDCFC9
+:10BF700082E40E944340882339F00E942F400E94AF
+:10BF800014AF84E00E94E4940E94AA952DC183E539
+:10BF90000E944340882309F453C00E942F400E940E
+:10BFA0000FAF6130710541F06230710509F048C092
+:10BFB00007EC14E0F12C25C007EC14E0F12CF8019B
+:10BFC00081918F010E944340882341F00E942F40BD
+:10BFD0000E940FAF4FEF8F2D0E94A694F394F4E0D0
+:10BFE000FF12EDCF82E40E944340882349F10E9472
+:10BFF0002F400E940FAF4FEF20C0F394F4E0FF16E4
+:10C0000089F0F80181918F010E9443408823A9F3B0
+:10C010000E942F400E940FAF462F6FEF8F2D0E947E
+:10C02000A694EBCF82E40E944340882349F00E940B
+:10C030002F400E940FAF462F6FEF84E00E94A6941E
+:10C040000E94AA95D1C084E50E944340882309F448
+:10C0500087C00E942F400E9414AF60934D08662352
+:10C06000A9F1EFE2FEE08491882341F09091C000B5
+:10C0700095FFFCCF8093C6003196F5CFEAE6F4E059
+:10C080008191882339F09091C00095FFFCCF809377
+:10C09000C600F6CF40E050E060914D088CE99DE08D
+:10C0A0000E94918AECE6F4E08191882339F0909126
+:10C0B000C00095FFFCCF8093C600F6CF8091C000F2
+:10C0C00085FFFCCF8AE08093C6008EC086E40E9484
+:10C0D00043408823D9F00E942F406B017C0160937C
+:10C0E000FF097093000A8093010A9093020A20E0EE
+:10C0F00030E0A9010E94A3B0181644F4C0922102B6
+:10C10000D0922202E0922302F0922402EFE2FEE0BB
+:10C110008491882341F09091C00095FFFCCF8093DB
+:10C12000C6003196F5CFEDE7F4E08191882339F030
+:10C130009091C00095FFFCCF8093C600F6CF609130
+:10C14000300A70E04AE050E08CE99DE00E945A8A93
+:10C150008091C00085FFFCCF8AE08093C60044C078
+:10C16000EFE2FEE08491882341F09091C00095FFBA
+:10C17000FCCF8093C6003196F5CFEAE0F9E08491D8
+:10C18000882341F09091C00095FFFCCF8093C600BA
+:10C190003196F5CF809168089091690820E6289F34
+:10C1A000F001299FF00D1124E259F74F8191882366
+:10C1B00039F09091C00095FFFCCF8093C600F6CF78
+:10C1C000E8E0F9E08491882341F09091C00095FF68
+:10C1D000FCCF8093C6003196F5CF8091C00085FFDB
+:10C1E000FCCF8AE08093C6000E946A40B9C1C0902B
+:10C1F0001B0AD0901C0AE0901D0AF0901E0A2091A4
+:10C20000500A3091510A4091520A5091530AC70185
+:10C21000B6010E94C6AD2DEC3CEC4CEC5DE30E94F7
+:10C22000A3B0181614F00C94684BC092500AD09228
+:10C23000510AE092520AF092530A80E59AE00E9475
+:10C24000E3A460E080E00E94C2428AC180E090E006
+:10C250000E942E3C0C94654C81E090E00E942E3CA4
+:10C260000C94704C82E090E00E942E3C0C94B94CEF
+:10C270000E94721E80E00E9438490E949C760C94B5
+:10C28000584F0E943840AB01BC014093FA0C5093C8
+:10C29000FB0C6093FC0C7093FD0C85E49CE00E9409
+:10C2A000A912A2CF0E942F400E940FAF8B010C94C5
+:10C2B0007C510E9431A9681979098A099B09693E54
+:10C2C00073408105910508F479C0ECEEFAE08491A1
+:10C2D000882341F09091C00095FFFCCF8093C60069
+:10C2E0003196F5CFE0914D0824E0E29FF001112452
+:10C2F000E05CF74F408151816281738121E030E041
+:10C300008CE99DE00E94308BE8EEFAE0849188236E
+:10C3100041F09091C00095FFFCCF8093C60031960C
+:10C32000F5CF60914D0870E04AE050E08CE99DE067
+:10C330000E945A8AE4EEFAE08491882341F09091B9
+:10C34000C00095FFFCCF8093C6003196F5CFF7FE75
+:10C3500003C0E6E7F5E025C00E9431A98B019C01EE
+:10C36000C701B6016854744F8F4F9F4F601B710B0C
+:10C37000820B930BA30192010E947EB2BA01A90124
+:10C380002AE030E08CE99DE00E94868A8091C0001E
+:10C3900085FFFCCF0DC09091C00095FFFCCF80932E
+:10C3A000C60081918111F7CF8091C00085FFFCCF3D
+:10C3B0003092C6000E9431A94B015C010E94721E9E
+:10C3C00080E00E9438490E949C76FFEFCF16DF067E
+:10C3D000EF06FF0609F046C080914B08E0914D083A
+:10C3E000F0E08F01000F111F000F111F005C174FAD
+:10C3F000EE0FFF1FE85BF74F608171818823C9F062
+:10C40000882777FD8095982F0E9442AF20E030E08A
+:10C4100040E85FE30E94C6AD9B01AC01F80160817A
+:10C420007181828193810E94A3B087FF50C00C94D8
+:10C430005053882777FD8095982F0E9442AF20E0C7
+:10C4400030E040E85FE30E94C7AD9B01AC01F8011A
+:10C4500060817181828193810E94A0AE1816BCF523
+:10C460000C945053F7FE02C00C945053E0914D08C9
+:10C47000F0E08F01000F111F000F111F005C174F1C
+:10C48000EE0FFF1FE85BF74F60817181882777FD12
+:10C490008095982F0E9442AF9B01AC01F80160810A
+:10C4A0007181828193810E94C6AD0E940FAF97FF78
+:10C4B00007C090958095709561957F4F8F4F9F4FE6
+:10C4C000663071058105910514F40C9450530E9457
+:10C4D00031A96B017C010C94505386ED9AE00E94C7
+:10C4E000007680915F0A882321F08EE793E00E9416
+:10C4F00048720E9431A96093520870935308809348
+:10C500005408909355080E9431A960935A0870937B
+:10C510005B0880935C0890935D0866CE0E943D9313
+:10C5200088E50E944340882319F0179A1092350A33
+:10C5300089E50E944340882319F0169A1092360A22
+:10C540008AE50E944340882319F0159A1092370A11
+:10C5500085E40E944340882309F446CE149A44CED1
+:10C56000E9960FB6F894DEBF0FBECDBFDF91CF9135
+:10C570001F910F91FF90EF90DF90CF90BF90AF9001
+:10C580009F908F907F906F905F904F903F90089515
+:10C59000CF93DF938091640890916508039714F41A
+:10C5A0000E94694560E08DE59AE00E9487338091A2
+:10C5B000640890916508892B09F464C080915D0A34
+:10C5C0008823E1F0809168089091690820E6289F0F
+:10C5D000E001299FD00D1124C259D74F61EF7CE0B3
+:10C5E000CE010E94CEB5892BF1F4BE018DE59AE013
+:10C5F0000E94163380915E0A882319F00E94B94A7E
+:10C600002BC0EEEEFCE08491882341F09091C000B5
+:10C6100095FFFCCF8093C6003196F5CF8091C00086
+:10C6200085FFFCCF16C060E08DE59AE00E947D3466
+:10C63000ECEDFCE08491882341F09091C00095FFDF
+:10C64000FCCF8093C6003196F5CF8091C00085FF66
+:10C65000FCCF8AE08093C6008091640890916508C1
+:10C660000197909365088093640880916808909181
+:10C670006908019664E070E00E946BB290936908CB
+:10C68000809368080E94721E80E00E9438490E94D0
+:10C690004F8BDF91CF910C949C768F929F92AF92AB
+:10C6A000BF92CF92DF92EF92FF920F931F93CF939F
+:10C6B000DF938C018C519E4F0E94B72D680189E851
+:10C6C000C80ED11C21F1780181E4E81A8EEFF80A36
+:10C6D000E70157018FE1A81AB1087AEB872E75E0C0
+:10C6E000972ECC15DD0599F0FE01EE19FF09EA0D34
+:10C6F000FB1D91828082FE0178978081811102C0AA
+:10C700006F97EFCFCE014B970E948C13F9CFC801E2
+:10C7100086599F4F0E94B72DC801875B9F4FDF91BD
+:10C72000CF911F910F91FF90EF90DF90CF90BF902E
+:10C73000AF909F908F900C94B72D8DE59AE00C945C
+:10C74000C32D8DE59AE0A9CFFB0160917002709135
+:10C75000710270932C0D60932B0D6091350D7091CB
+:10C76000360D70932A0D6093290D62E060936F027D
+:10C7700064EC7EE770937102609370029093280DD1
+:10C780008093270DF093260DE093250D662757FD26
+:10C790006095762F4093210D5093220D6093230DC9
+:10C7A0007093240DC901AA2797FDA095BA2F841B69
+:10C7B000950BA60BB70B80931D0D90931E0DA093A8
+:10C7C0001F0DB093200D80819181AA2797FDA09520
+:10C7D000BA2F841B950BA60BB70B8093350D909346
+:10C7E000360DA093370DB093380D08950F931F9316
+:10C7F000CF93DF93EB01142F022F482F60E080E4EA
+:10C800009DE00E947E28612F80E49DE00E94BFADE4
+:10C8100011E1FE016491662311F0111117C011237B
+:10C8200039F060E280E49DE00E94BFAD1150F7CF87
+:10C83000602F80E49DE00E94BFAD60E280E49DE057
+:10C84000DF91CF911F910F910C94BFAD80E49DE0DB
+:10C850000E94BFAD21961150DCCFEF92FF920F9353
+:10C860001F93CF93DF93EB01E42E8901F90101902F
+:10C870000020E9F7F22EFE1A92E1F90E482F60E04F
+:10C8800080E49DE00E947E286E2D80E49DE00E9461
+:10C89000BFADFE016491662311F0F11019C06AE387
+:10C8A00080E49DE00E94BFADFF2039F060E280E4AB
+:10C8B0009DE00E94BFADFA94F7CFB80180E49DE0FF
+:10C8C000DF91CF911F910F91FF90EF900C94BEAD2F
+:10C8D00080E49DE00E94BFAD2196FA94DACF1092D9
+:10C8E000990D8DE59AE00E94273910923E0D08952A
+:10C8F0008DE59AE00C9416318DE59AE00C941D318B
+:10C90000CF93DF93CDB7DEB7C054D1090FB6F894FB
+:10C91000DEBF0FBECDBF88E0EFEAF2E0DE01D996C0
+:10C9200001900D928A95E1F788E0E7EBF2E0DE01F5
+:10C93000D19601900D928A95E1F788E0EFEBF2E055
+:10C94000DE01999601900D928A95E1F788E0E7EC77
+:10C95000F2E0DE01919601900D928A95E1F788E070
+:10C96000EFECF2E0DE01599601900D928A95E1F725
+:10C9700088E0E7EDF2E0DE01519601900D928A9594
+:10C98000E1F788E0EFEDF2E0DE01199601900D92FB
+:10C990008A95E1F788E0E7EEF2E0DE01119601907A
+:10C9A0000D928A95E1F7AE01475C5F4F60E080E44D
+:10C9B0009DE00E94FC29AE014F5C5F4F61E080E486
+:10C9C0009DE00E94FC29AE01475D5F4F62E080E47C
+:10C9D0009DE00E94FC29AE014F5D5F4F63E080E463
+:10C9E0009DE00E94FC29AE01475E5F4F64E080E459
+:10C9F0009DE00E94FC29AE014F5E5F4F65E080E440
+:10CA00009DE00E94FC29AE01475F5F4F66E080E435
+:10CA10009DE00E94FC29AE014F5F5F4F67E080E41C
+:10CA20009DE00E94FC29C05CDF4F0FB6F894DEBF8A
+:10CA30000FBECDBFDF91CF910895CF9382E0809359
+:10CA40006F020E9431A96C507E4F8F4F9F4F6093B1
+:10CA50003A0D70933B0D80933C0D90933D0D80916A
+:10CA60000101846080930101CAE09FB7F89480912E
+:10CA700002018460809302019FBF84E690E00E94DF
+:10CA800084A99FB7F894809102018B7F8093020163
+:10CA90009FBF84E690E00E9484A9C15031F7CF91F6
+:10CAA0000895E0917002F0917102E817F90771F0B2
+:10CAB00090937102809370024093350D5093360D20
+:10CAC0006093370D7093380D2111B7CF089521E091
+:10CAD00040E050E0BA01E5CF21E040E050E0BA018B
+:10CAE000E0CF8F929F92AF92BF92CF92DF92EF9260
+:10CAF000FF920F931F93CF93DF938091350D909109
+:10CB0000360DA091370DB091380D81309048A105B8
+:10CB1000B10540F01092350D1092360D1092370D80
+:10CB20001092380D6091350D7091360D8091370D52
+:10CB30009091380D25E030E040E050E00E947EB258
+:10CB400080913E0D90E0A0E0B0E0281739074A0739
+:10CB50005B0710F420933E0DD0913E0D10913F0DD8
+:10CB600012FB112710F9C0E085E0C82ED12CE12C72
+:10CB7000F12C9DE1892E912CA12CB12C01E060912A
+:10CB8000350D7091360D8091370D9091380DD11182
+:10CB900031C020916F02222369F023E065307105D6
+:10CBA0008105910510F443E001C040E266E870E1C0
+:10CBB0008C2F1CDE112309F400C18091350D90915A
+:10CBC000360DA091370DB091380D0597A105B1052F
+:10CBD00008F0F3C032DF8CE692E7DF91CF911F912E
+:10CBE0000F91FF90EF90DF90CF90BF90AF909F900C
+:10CBF0008F906DCFD13061F520916F02222391F09B
+:10CC0000A70196010E947EB22130310541055105F0
+:10CC100019F423E043E002C023E040E265E770E15D
+:10CC20008C2FE4DD112309F4C8C06091350D70919B
+:10CC3000360D8091370D9091380DA70196010E9415
+:10CC40007EB2213031054105510509F0B6C0C2CF91
+:10CC5000D23061F520916F02222391F0A701960155
+:10CC60000E947EB2223031054105510519F423E0BE
+:10CC700043E002C023E040E269E670E18C2FB6DDBC
+:10CC8000112309F49AC06091350D7091360D809191
+:10CC9000370D9091380DA70196010E947EB2223087
+:10CCA00031054105510509F088C094CFD33061F5B5
+:10CCB00020916F02222391F0A70196010E947EB27B
+:10CCC000233031054105510519F423E043E002C04A
+:10CCD00023E040E267E570E18C2F88DD112309F441
+:10CCE0006CC06091350D7091360D8091370D90912B
+:10CCF000380DA70196010E947EB22330310541050F
+:10CD0000510509F05AC066CFD43059F520916F0211
+:10CD1000222391F0A70196010E947EB224303105B2
+:10CD20004105510519F423E043E002C023E040E24D
+:10CD300065E470E18C2F5ADD112309F43EC0609147
+:10CD4000350D7091360D8091370D9091380DA701FA
+:10CD500096010E947EB2243031054105510569F5E6
+:10CD600039CFD53051F520916F02222391F0A701E0
+:10CD700096010E947EB2253031054105510519F416
+:10CD800023E043E002C023E040E269E370E18C2F3E
+:10CD90002DDD112391F06091350D7091360D80914C
+:10CDA000370D9091380DA70196010E947EB2253073
+:10CDB00031054105510509F40DCF8091350D909154
+:10CDC000360DA091370DB091380D4E97A105B105E4
+:10CDD00040F08092350D9092360DA092370DB092B2
+:10CDE000380D6091350D7091360D8091370D909111
+:10CDF000380DA70196010E947EB280913E0D90E011
+:10CE00000396422F50E0841795074CF48DEF820F64
+:10CE100080933E0D00936F02DCEFD20FCFEFCF5F18
+:10CE2000DF5FC43008F4ABCEDF91CF911F910F913B
+:10CE3000FF90EF90DF90CF90BF90AF909F908F903A
+:10CE400008958F929F92AF92BF92CF92DF92EF920E
+:10CE5000FF920F931F93CF93DF938091350D9091A5
+:10CE6000360DA091370DB091380D81309048A10555
+:10CE7000B10540F01092350D1092360D1092370D1D
+:10CE80001092380D6091350D7091360D8091370DEF
+:10CE90009091380D25E030E040E050E00E947EB2F5
+:10CEA00080913E0D90E0A0E0B0E0281739074A07D6
+:10CEB0005B0710F420933E0DD0913E0D10913F0D75
+:10CEC00012FB112710F9C0E025E0C22ED12CE12C75
+:10CED000F12C3DE1832E912CA12CB12C01E060912D
+:10CEE000350D7091360D8091370D9091380DD1111F
+:10CEF00031C020916F02222369F023E06530710573
+:10CF00008105910510F443E001C040E264E370E163
+:10CF10008C2F6CDC112309F429C18091350D90917F
+:10CF2000360DA091370DB091380D0597A105B105CB
+:10CF300008F01CC182DD8CE692E7DF91CF911F9152
+:10CF40000F91FF90EF90DF90CF90BF90AF909F90A8
+:10CF50008F90BDCDD13079F520916F02222391F0D1
+:10CF6000A70196010E947EB221303105410551058D
+:10CF700019F42EE74EE302C02EE740E268E270E1CA
+:10CF80008C2F34DC112309F4F1C06091350D7091C0
+:10CF9000360D8091370D9091380DA70196010E94B2
+:10CFA0007EB2213031054105510509F0DFC045DD74
+:10CFB0008BEA99E730C0D230D9F520916F02222355
+:10CFC00091F0A70196010E947EB222303105410501
+:10CFD000510519F42EE74EE302C02EE740E26EE160
+:10CFE00070E18C2F03DC112309F4C0C06091350D72
+:10CFF0007091360D8091370D9091380DA7019601F3
+:10D000000E947EB2223031054105510509F0AEC0C3
+:10D0100014DD8FEA9AE6DF91CF911F910F91FF9077
+:10D02000EF90DF90CF90BF90AF909F908F9054CDB6
+:10D03000D33079F520916F02222391F0A701960158
+:10D040000E947EB2233031054105510519F420E2DA
+:10D050004EE302C020E240E262E170E18C2FC6DBC9
+:10D06000112309F483C06091350D7091360D8091C4
+:10D07000370D9091380DA70196010E947EB22330A2
+:10D0800031054105510509F071C0D7DC8CE090E114
+:10D090005FC0D43079F520916F02222391F0A7016F
+:10D0A00096010E947EB2243031054105510519F4E4
+:10D0B00020E24EE302C020E240E26BEF7FE08C2FE3
+:10D0C00095DB112309F452C06091350D7091360D36
+:10D0D0008091370D9091380DA70196010E947EB284
+:10D0E000243031054105510509F040C0A6DC87EF29
+:10D0F0009FE02EC0D530D1F520916F02222391F010
+:10D10000A70196010E947EB22530310541055105E7
+:10D1100019F420E24EE302C020E240E26DEE7FE02F
+:10D120008C2F64DB112311F16091350D7091360D58
+:10D130008091370D9091380DA70196010E947EB223
+:10D14000253031054105510589F477DC89EE9FE0F2
+:10D15000DF91CF911F910F91FF90EF90DF90CF90D3
+:10D16000BF90AF909F908F900C94333E8091350D7F
+:10D170009091360DA091370DB091380D4E97A105C5
+:10D18000B10540F08092350D9092360DA092370D8A
+:10D19000B092380D6091350D7091360D8091370D3C
+:10D1A0009091380DA70196010E947EB280913E0DAC
+:10D1B00090E00396422F50E0841795074CF48DEFD2
+:10D1C000820F80933E0D00936F02DCEFD20FCFEF02
+:10D1D000CF5FDF5FC43008F482CEDF91CF911F9123
+:10D1E0000F91FF90EF90DF90CF90BF90AF909F9006
+:10D1F0008F900895BF92CF92DF92EF92FF920F939C
+:10D200001F93CF93DF938091350D9091360DA091B0
+:10D21000370DB091380D81309048A105B10540F02F
+:10D220001092350D1092360D1092370D1092380D68
+:10D230006091350D7091360D8091370D9091380DBC
+:10D2400025E030E040E050E00E947EB280913E0D4B
+:10D2500090E0A0E0B0E0281739074A075B0710F418
+:10D2600020933E0DD0913E0D10913F0D12FB1127E2
+:10D2700010F9C0E065E0C62ED12CE12CF12C01E0C4
+:10D280006091350D7091360D8091370D9091380D6C
+:10D29000D1112EC020916F02222369F023E0653066
+:10D2A00071058105910510F443E001C040E260EE94
+:10D2B0007FE08C2F9BDA112309F479C08091350D22
+:10D2C0009091360DA091370DB091380D0597A105BD
+:10D2D000B10508F06CC0B1DB81E297E6DF91CF9138
+:10D2E0001F910F91FF90EF90DF90CF90BF90EFCB09
+:10D2F000D13071F520916F02222391F0A7019601A0
+:10D300000E947EB2213031054105510519F42EE706
+:10D310004EE302C02EE740E269ED7FE08C2F66DA33
+:10D32000112309F444C06091350D7091360D809140
+:10D33000370D9091380DA70196010E947EB22130E1
+:10D3400031054105510599F578DB8FE090E8A8C0DB
+:10D35000D23069F520916F02222391F0A701960146
+:10D360000E947EB2223031054105510519F42EE7A5
+:10D370004EE302C02EE740E262ED7FE08C2F36DA0A
+:10D380001123A9F06091350D7091360D8091370D04
+:10D390009091380DA70196010E947EB2223031058E
+:10D3A0004105510521F449DB86E190E879C020E090
+:10D3B00030E040E251E46091110D7091120D8091C6
+:10D3C000130D9091140D0E94A0AE87FF73C0609161
+:10D3D000350D7091360D8091370D9091380DD33009
+:10D3E00081F520916F02222391F0A70196010E94FE
+:10D3F0007EB2233031054105510519F42EE74EE385
+:10D4000002C02EE740E26BEC7FE08C2FEFD91111C8
+:10D4100003C055E0B52E50C06091350D7091360DAA
+:10D420008091370D9091380DA70196010E947EB230
+:10D43000233031054105510561F7FFDA8DE190E8B0
+:10D440002FC0D43031F720916F02222391F0A70131
+:10D4500096010E947EB2243031054105510519F430
+:10D460002EE74EE302C02EE740E262EC7FE08C2F15
+:10D47000BDD9112371F26091350D7091360D8091F7
+:10D48000370D9091380DA70196010E947EB224308D
+:10D4900031054105510509F0BCCFCFDA8BE49EE799
+:10D4A000DF91CF911F910F91FF90EF90DF90CF9080
+:10D4B000BF9012CB43E0B42E6091350D7091360DC4
+:10D4C0008091370D9091380DA70196010E947EB290
+:10D4D0008B2D90E0A0E0B0E0281739074A075B07E2
+:10D4E00088F025E0B29EC00111240197AA2797FD7C
+:10D4F000A095BA2F8093350D9093360DA093370DDC
+:10D50000B093380D6091350D7091360D8091370DC7
+:10D510009091380DA70196010E947EB280913E0D38
+:10D5200090E00396422F50E0841795074CF48DEF5E
+:10D53000820F80933E0D00936F02DCEFD20FCFEF8E
+:10D54000CF5FDF5FC43008F49BCEDF91CF911F9196
+:10D550000F91FF90EF90DF90CF90BF90089580E003
+:10D5600090E0A0E8BFE38093110D9093120DA0937B
+:10D57000130DB093140D3ECE20E044E064E180E44E
+:10D580009DE00E94B128BCD980E49DE00C947228F3
+:10D59000F3DF20E040E050E0BA0184E290E881CA85
+:10D5A00010924908109248081092470810924608B5
+:10D5B00010922F0A10922E0AEBCF80E49DE00C947B
+:10D5C000722820E030E04EE353E46091400870910F
+:10D5D000410880914208909143080E94A3B0181618
+:10D5E0004CF480E89EE00E94333E83E79EE00E9478
+:10D5F000333E20C0E2DF40E060E080E49DE00E9436
+:10D600007E286BEC74E080E49DE00E94BEAD42E0B9
+:10D6100060E080E49DE00E947E2862ED74E080E49A
+:10D620009DE00E94BEAD60ED77E080E090E00E945A
+:10D6300060A9C3DFADCF20E030E04EE353E460915A
+:10D6400040087091410880914208909143080E94DF
+:10D65000A3B018166CF48FE69EE00E94333E83E67A
+:10D660009EE00E94333E87E59EE00E94333E20C04C
+:10D67000A4DF40E060E080E49DE00E947E286BEC47
+:10D6800074E080E49DE00E94BEAD42E060E080E492
+:10D690009DE00E947E2862ED74E080E49DE00E949F
+:10D6A000BEAD60ED77E080E090E00E9460A985DF8C
+:10D6B0006FCF8091970D9091980D9093490880932A
+:10D6C00048088091950D9091960D9093470880930E
+:10D6D000460810922F0A10922E0A5ADF0C94442109
+:10D6E0008091910D9091920D9093490880934808F4
+:10D6F00080918F0D9091900D9093470880934608EC
+:10D7000010922F0A10922E0A43DF0C94442180912C
+:10D7100095029091960290934908809348088091D1
+:10D720009302909194029093470880934608109238
+:10D730002F0A10922E0A2CDF0C9444218091910222
+:10D7400090919202909349088093480880918F02AB
+:10D7500090919002909347088093460810922F0A68
+:10D7600010922E0A15DF0C94442180918D02909125
+:10D770008E02909349088093480880918B02909183
+:10D780008C02909347088093460810922F0A1092BB
+:10D790002E0AFEDE0C9444218091890290918A0227
+:10D7A000909349088093480880918702909188025D
+:10D7B000909347088093460810922F0A10922E0AE1
+:10D7C000E7DE0C9444212F923F924F925F926F922A
+:10D7D0007F928F929F92AF92BF92CF92DF92EF9201
+:10D7E000FF920F931F93CF93DF93CDB7DEB7A89728
+:10D7F0000FB6F894DEBF0FBECDBF80916F028111CE
+:10D8000004C080913F0D82FFEBC28DE59AE00E943B
+:10D810001B389DA38CA38091350D9091360DA0915E
+:10D82000370DB091380D81309048A105B10540F019
+:10D830001092350D1092360D1092370D1092380D52
+:10D840006091350D7091360D8091370D9091380DA6
+:10D8500025E030E040E050E00E947EB280913E0D35
+:10D8600090E0A0E0B0E0281739074A075B0710F402
+:10D8700020933E0D40903E0D80913F0D82FB882706
+:10D8800080F98F8F512C35E0C32ED12CE12CF12C57
+:10D8900041102DC080916F028823A9F08091350D31
+:10D8A0009091360DA091370DB091380D23E005977A
+:10D8B000A105B10510F443E001C040E26BE77FE051
+:10D8C000852D0E94F6632F8D222389F08091350DDE
+:10D8D0009091360DA091370DB091380D0597A105A7
+:10D8E000B10528F4AAD88CE692E7F1D879C261E6AE
+:10D8F0007AE08BEC9AE00E9440108091610A8F32AE
+:10D9000031F041E0441671F022E0722E02C077241B
+:10D9100073940CA11DA101501109842C912CA12CF0
+:10D92000B12C52C080916F028823D9F06091350DDF
+:10D930007091360D8091370D9091380DA7019601A9
+:10D940000E947EB2213031054105510519F420E2D3
+:10D950004EE302C020E240E267E77FE0852D0E94AF
+:10D96000F6638F8D882381F26091350D7091360DAD
+:10D970008091370D9091380DA70196010E947EB2DB
+:10D98000213031054105510509F0BECF56D80E941E
+:10D990006F6426C2741088C140E050E0B8018DE584
+:10D9A0009AE00E9492349091A30A80916F02992389
+:10D9B00009F4A1C081110DC09F8D911179C0772408
+:10D9C0007394740C015011090F3FFFEF1F0711F7FB
+:10D9D0006DC16091350D7091360D8091370D90912C
+:10D9E000380DA70196010E947EB2281539054A0517
+:10D9F0005B0579F5452D60E080E49DE00E947E287E
+:10DA00006EE380E49DE00E94BFAD65E080E49DE0B0
+:10DA10000E94BFAD80916E0A882329F01092800A7F
+:10DA20008EE69AE002C081E69AE03C0192E1392E4E
+:10DA3000F30161913F01662311F0311085C133205C
+:10DA400009F4BACF60E280E49DE00E94BFAD3A9451
+:10DA5000F6CF452D60E080E49DE00E947E2860E2E4
+:10DA600080E49DE00E94BFAD65E080E49DE00E94FF
+:10DA7000BFAD80916E0A882329F01092800A8EE64D
+:10DA80009AE002C081E69AE03C0182E1382EF3017F
+:10DA900061913F01662311F031105CC1332009F41C
+:10DAA0008BCF60E280E49DE00E94BFAD3A94F6CF58
+:10DAB0006091350D7091360D8091370D9091380D34
+:10DAC000A70196010E947EB2281539054A055B051B
+:10DAD00009F075CF0E941D6561E67AE08DE59AE058
+:10DAE0000E947E381092350D1092360D1092370D2F
+:10DAF0001092380D75C1811104C0FF8DF11191C0D4
+:10DB00005ECF6091350D7091360D8091370D9091FB
+:10DB1000380DA70196010E947EB2281539054A05E5
+:10DB20005B0509F054C020919B0D2EA3712C472D4D
+:10DB300060E080E49DE00E947E2860E280E49DE059
+:10DB40000E94BFAD739444E07412F1CF452D60E0A4
+:10DB500080E49DE00E947E286EE380E49DE00E94C8
+:10DB6000BFADBFE62B2EBAE03B2E2EE63AE0612C8D
+:10DB7000712C39A328A361E070E0E8A1F9A12191FB
+:10DB8000F9A3E8A32223B1F0CB0101969BA38AA3BA
+:10DB9000452D80E49DE028A76114710409F4E0C0DC
+:10DBA0000E947E2828A5622F80E49DE00E94BFADE0
+:10DBB0006AA17BA1F4E17F2E761A772009F49DCF2C
+:10DBC00060E280E49DE00E94BFAD7A94F6CF452DDF
+:10DBD00060E080E49DE00E947E2860E280E49DE0B9
+:10DBE0000E94BFAD80916E0A882329F01092810AAD
+:10DBF0008EE69AE002C081E69AE03C01E3E13E2E27
+:10DC0000F30161913F01662311F03110E3C033202D
+:10DC100009F473CF60E280E49DE00E94BFAD3A94C6
+:10DC2000F6CF6091350D7091360D8091370D909142
+:10DC3000380DA70196010E947EB2281539054A05C4
+:10DC40005B0509F0BCCE0E941D6581E69AE09F93BA
+:10DC50008F9380E79FE09F938F938E010F5F1F4FFD
+:10DC60001F930F930E945BB60F900F900F900F9031
+:10DC70000F900F907E01F5E0EF0EF11CF70180810F
+:10DC8000882349F0992787FD90950E9498B5F70160
+:10DC900081937F01F3CFC8010E94C03D8CE69FE0D5
+:10DCA0000E94333E75DC9CC073948CCE6091350D20
+:10DCB0007091360D8091370D9091380DA701960126
+:10DCC0000E947EB2872D90E0A0E0B0E028173907CF
+:10DCD0004A075B0788F025E0729EC0011124019776
+:10DCE000AA2797FDA095BA2F8093350D9093360DF6
+:10DCF000A093370DB093380D6091350D7091360DAE
+:10DD00008091370D9091380DA70196010E947EB247
+:10DD100080913E0D90E00396422F50E084179507C6
+:10DD200064F48DEF820F80933E0D81E080936F024B
+:10DD30007CEF472E420E55245A945394439443E06B
+:10DD4000451508F0A5CD4CC080E49DE00E94BFAD14
+:10DD50003A946ECE80E49DE00E94BFAD3A9497CE97
+:10DD60000E947E2828A5622F80E49DE00E94BFAD1E
+:10DD70006AA17BA16431710509F0FFCE9101ACE28B
+:10DD80006A2E7724739480913F0D82FD05C08091A7
+:10DD90009B0D9EA1981789F081E090E0E1E06E1A5A
+:10DDA00071086114710421F0892B69F381E090E01E
+:10DDB000FFEF2F1A3F0A3C01DCCE61E070E080E00B
+:10DDC00090E028A73FA30E9460A980E090E028A5EA
+:10DDD0003FA1E4CF80E49DE00E94BFAD3A9410CF14
+:10DDE000A8960FB6F894DEBF0FBECDBFDF91CF91DE
+:10DDF0001F910F91FF90EF90DF90CF90BF90AF9069
+:10DE00009F908F907F906F905F904F903F902F905A
+:10DE100008958F929F92AF92BF92CF92DF92EF922E
+:10DE2000FF920F931F93CF93DF938091350D9091C5
+:10DE3000360DA091370DB091380D81309048A10575
+:10DE4000B10540F01092350D1092360D1092370D3D
+:10DE50001092380D6091350D7091360D8091370D0F
+:10DE60009091380D25E030E040E050E00E947EB215
+:10DE700080913E0D90E0A0E0B0E0281739074A07F6
+:10DE80005B0710F420933E0DD0913E0D10913F0D95
+:10DE900012FB112710F9C0E045E0C42ED12CE12C73
+:10DEA000F12C57E2852E912CA12CB12C01E0609130
+:10DEB000350D7091360D8091370D9091380DD1113F
+:10DEC00034C020916F02222371F023E06530710588
+:10DED0008105910510F443E001C040E267E57FE071
+:10DEE0008C2F0E94F663112309F4C8C18091350D6F
+:10DEF0009091360DA091370DB091380D0597A10581
+:10DF0000B10508F0BBC10E941D658CE692E7DF9168
+:10DF1000CF911F910F91FF90EF90DF90CF90BF9026
+:10DF2000AF909F908F900C946765D130D9F5209178
+:10DF30006F02222399F0A70196010E947EB2213040
+:10DF400031054105510519F420E24EE302C020E2FB
+:10DF500040E267E47FE08C2F0E94F663112309F40E
+:10DF60008DC16091350D7091360D8091370D909176
+:10DF7000380DA70196010E947EB22130310541057E
+:10DF8000510509F07BC10E941D65DF91CF911F9162
+:10DF90000F91FF90EF90DF90CF90BF90AF909F9048
+:10DFA0008F909ECBD230D9F520916F02222399F029
+:10DFB000A70196010E947EB222303105410551052C
+:10DFC00019F420E24EE302C020E240E268E37FE081
+:10DFD0008C2F0E94F663112309F450C16091350D16
+:10DFE0007091360D8091370D9091380DA7019601F3
+:10DFF0000E947EB2223031054105510509F03EC133
+:10E000000E941D65DF91CF911F910F91FF90EF90BE
+:10E01000DF90CF90BF90AF909F908F904ACBD3303E
+:10E02000D9F520916F02222399F0A70196010E9451
+:10E030007EB2233031054105510519F420E24EE34B
+:10E0400002C020E240E269E27FE08C2F0E94F6638A
+:10E05000112309F413C16091350D7091360D809133
+:10E06000370D9091380DA70196010E947EB22330A2
+:10E0700031054105510509F001C10E941D65DF917F
+:10E08000CF911F910F91FF90EF90DF90CF90BF90B5
+:10E09000AF909F908F9052CBD430D9F520916F02E2
+:10E0A000222399F0A70196010E947EB22430310507
+:10E0B0004105510519F420E24EE302C020E240E29E
+:10E0C00069E17FE08C2F0E94F663112309F4D6C02A
+:10E0D0006091350D7091360D8091370D9091380D0E
+:10E0E000A70196010E947EB22430310541055105F9
+:10E0F00009F0C4C00E941D65DF91CF911F910F915F
+:10E10000FF90EF90DF90CF90BF90AF909F908F9057
+:10E110002CCBD530D9F520916F02222399F0A7019D
+:10E1200096010E947EB2253031054105510519F452
+:10E1300020E24EE302C020E240E269E07FE08C2F63
+:10E140000E94F663112309F499C06091350D709116
+:10E15000360D8091370D9091380DA70196010E94E0
+:10E160007EB2253031054105510509F087C00E9476
+:10E170001D65DF91CF911F910F91FF90EF90DF9080
+:10E18000CF90BF90AF909F908F90C1CAD630D9F5F5
+:10E1900020916F02222399F0A70196010E947EB27E
+:10E1A000263031054105510519F420E24EE302C045
+:10E1B00020E240E26AEF7EE08C2F0E94F66311239A
+:10E1C00009F45CC06091350D7091360D8091370D6A
+:10E1D0009091380DA70196010E947EB2263031053C
+:10E1E0004105510509F04AC00E941D65DF91CF919C
+:10E1F0001F910F91FF90EF90DF90CF90BF90AF9065
+:10E200009F908F90C9CAD730C9F520916F02222301
+:10E2100099F0A70196010E947EB227303105410591
+:10E22000510519F420E24EE302C020E240E261EF22
+:10E230007EE08C2F0E94F663112301F16091350D71
+:10E240007091360D8091370D9091380DA701960190
+:10E250000E947EB2273031054105510579F40E94B4
+:10E260001D65DF91CF911F910F91FF90EF90DF908F
+:10E27000CF90BF90AF909F908F9092C98091350DB5
+:10E280009091360DA091370DB091380D8897A1056A
+:10E29000B10540F08092350D9092360DA092370D69
+:10E2A000B092380D6091350D7091360D8091370D1B
+:10E2B0009091380DA70196010E947EB280913E0D8B
+:10E2C00090E00396422F50E0841795074CF48DEFB1
+:10E2D000820F80933E0D00936F02DCEFD20FCFEFE1
+:10E2E000CF5FDF5FC43008F4E2CDDF91CF911F91A3
+:10E2F0000F91FF90EF90DF90CF90BF90AF909F90E5
+:10E300008F9008955AD941E060E080E49DE00E943A
+:10E310007E2869EF74E080E49DE00E94BEAD42E09B
+:10E3200060E080E49DE00E947E2869E075E080E482
+:10E330009DE00C94BEAD41D942E060E080E49DE0F8
+:10E340000E947E286CE175E080E49DE00C94BEADF7
+:10E350001F93CF93DF9331D940E060E080E49DE0EC
+:10E360000E947E286CE275E080E49DE00E94BEADD4
+:10E3700042E060E080E49DE00E947E286AE375E070
+:10E3800080E49DE00E94BEAD10E043E0612F80E498
+:10E390009DE00E947E286FE573E080E49DE00E948E
+:10E3A000BEADCAE0D0E00E94721E81E00E943849F2
+:10E3B00065E570E080E090E00E9460A921972097D9
+:10E3C00091F71F5F143109F7DF91CF911F910895E5
+:10E3D0001F93CF93DF93F1D840E060E080E49DE0AD
+:10E3E0000E947E2866E475E080E49DE00E94BEAD58
+:10E3F00042E060E080E49DE00E947E286AE375E0F0
+:10E4000080E49DE00E94BEAD10E043E0612F80E417
+:10E410009DE00E947E286FE573E080E49DE00E940D
+:10E42000BEADCAE0D0E00E94721E81E00E94384971
+:10E430006EE670E080E090E00E9460A9219720974E
+:10E4400091F71F5F143109F7DF91CF911F91089564
+:10E4500080932E0D10922D0D0895E2E7F2E00190C9
+:10E460000020E9F73197E257F2401E161F0634F0FC
+:10E470001092860282E080936F02089580E2E43178
+:10E48000F105B4F7DF01AE58BD4F8C933196F7CF4D
+:10E4900020918C0D211108C044E150E0BC0182E7BD
+:10E4A00092E00E944CB6D9CF089510925F0A60E0C6
+:10E4B0008DE59AE00E947D340E94B39380E69FE050
+:10E4C0000E94333E81E080931F0A87E595E0E0DFFC
+:10E4D0008CE59FE00C94333EAF92BF92CF92DF92D7
+:10E4E000EF92FF920F931F93CF93DF931092990DAA
+:10E4F0008091350D9091360DA091370DB091380D6A
+:10E5000081309048A105B10540F01092350D109270
+:10E51000360D1092370D1092380D6091350D7091B7
+:10E52000360D8091370D9091380D25E030E040E0B8
+:10E5300050E00E947EB280913E0D90E0A0E0B0E0FD
+:10E54000281739074A075B0710F420933E0DD09136
+:10E550003E0D10913F0D12FB112710F9C0E075E040
+:10E56000C72ED12CE12CF12CAA24A394D11137C0B1
+:10E5700080916F028823A9F08091350D9091360D1E
+:10E58000A091370DB091380D23E00597A105B10595
+:10E5900010F443E001C040E264E071E18C2F0E947E
+:10E5A000F6631123E1F08091350D9091360DA09125
+:10E5B000370DB091380D0597A105B10580F40E9483
+:10E5C0001D6584E290E8DF91CF911F910F91FF903C
+:10E5D000EF90DF90CF90BF90AF900C9467650E9452
+:10E5E00000A54091350D5091360D6091370D709119
+:10E5F000380D811104C080915F0A882399F1D130D0
+:10E60000C9F580916F028823A9F0CB01BA01A70157
+:10E6100096010E947EB2213031054105510519F461
+:10E620002EE74EE302C02EE740E26FEF70E18C2F41
+:10E630000E94F6631123F1F06091350D7091360D53
+:10E640008091370D9091380DA70196010E947EB2FE
+:10E65000213031054105510569F40E941D6582E6AE
+:10E660009BE73EC2D13031F480916F0281119BC291
+:10E670001111AFC22091600A6091350D7091360D75
+:10E680008091370D9091380D222309F4F1C020912B
+:10E69000480C222309F4B9C020915F0A2223E9F132
+:10E6A000D23009F076C020916F02222399F0A701A1
+:10E6B00096010E947EB2223031054105510519F4C0
+:10E6C00020E24EE302C020E240E26BEE70E18C2FCC
+:10E6D0000E94F663112309F4E2C06091350D709138
+:10E6E000360D8091370D9091380DA70196010E944B
+:10E6F0007EB2223031054105510509F0D0C00E949B
+:10E700001D65DF91CF911F910F91FF90EF90DF90EA
+:10E71000CF90BF90AF900C947C64D230D1F5209113
+:10E720006F02222399F0A70196010E947EB2223047
+:10E7300031054105510519F420E24EE302C020E203
+:10E7400040E26EED70E18C2F0E94F663112309F414
+:10E75000A6C06091350D7091360D8091370D909166
+:10E76000380DA70196010E947EB222303105410585
+:10E77000510509F094C00E941D65DF91CF911F9152
+:10E780000F91FF90EF90DF90CF90BF90AF900C94DF
+:10E790007864D33009F083C020916F02222399F06E
+:10E7A000A70196010E947EB2233031054105510533
+:10E7B00019F420E24EE302C020E240E263ED70E192
+:10E7C0008C2F0E94F663112309F469C06091350D06
+:10E7D0007091360D8091370D9091380DA7019601FB
+:10E7E0000E947EB2233031054105510509F057C022
+:10E7F0000E941D65DF91CF911F910F91FF90EF90C7
+:10E80000DF90CF90BF90AF9050CED23011F003E0A8
+:10E8100047C020916F02222399F0A70196010E9420
+:10E820007EB2223031054105510519F42EE74EE341
+:10E8300002C02EE740E265EC70E18C2F0E94F66387
+:10E84000112329F36091350D7091360D8091370DAC
+:10E850009091380DA70196010E947EB222303105B9
+:10E8600041055105A1F60E941D6583EE9BE638C166
+:10E87000D23069F620916F02222311F3A70196018D
+:10E880000E947EB2223031054105510519F42EE770
+:10E890004EE302C02EE740E26AEB70E1CECF04E027
+:10E8A00080915F0A8111DCC00D1348C080916F0216
+:10E8B0008823F9F06091350D7091360D8091370DF8
+:10E8C0009091380DA70196010E947EB2802F90E0B2
+:10E8D000A0E0B0E0281739074A075B0719F420E2E7
+:10E8E0004EE302C020E240E26CEA70E18C2F0E940D
+:10E8F000F663112319F16091350D7091360D8091F9
+:10E90000370D9091380DA70196010E947EB2802F9D
+:10E9100090E0A0E0B0E0281739074A075B0771F4E0
+:10E920000E941D65DF91CF911F910F91FF90EF9095
+:10E93000DF90CF90BF90AF900C941B6BBB24B3942F
+:10E94000B00EBD1248C080916F028823F9F060912B
+:10E95000350D7091360D8091370D9091380DA701CE
+:10E9600096010E947EB28D2F90E0A0E0B0E02817C3
+:10E9700039074A075B0719F420E24EE302C020E2A0
+:10E9800040E26CE970E18C2F0E94F663112319F1CB
+:10E990006091350D7091360D8091370D9091380D45
+:10E9A000A70196010E947EB28B2D90E0A0E0B0E01E
+:10E9B000281739074A075B0771F40E941D65DF912C
+:10E9C000CF911F910F91FF90EF90DF90CF90BF906C
+:10E9D000AF900C94E16A62E0B62EB00EBD123FC05B
+:10E9E00080916F028823F9F06091350D7091360D9A
+:10E9F0008091370D9091380DA70196010E947EB24B
+:10EA00008D2F90E0A0E0B0E0281739074A075B0798
+:10EA100019F42EE74EE302C02EE740E263E970E10D
+:10EA20008C2F0E94F6631123D1F06091350D709107
+:10EA3000360D8091370D9091380DA70196010E94F7
+:10EA40007EB28B2D90E0A0E0B0E0281739074A078E
+:10EA50005B0729F40E941D6581E297E641C00D5FC6
+:10EA60000D134AC080916F028823F9F06091350D33
+:10EA70007091360D8091370D9091380DA701960158
+:10EA80000E947EB2802F90E0A0E0B0E02817390706
+:10EA90004A075B0719F42EE74EE302C02EE740E277
+:10EAA0006BE870E18C2F0E94F663112329F16091CD
+:10EAB000350D7091360D8091370D9091380DA7016D
+:10EAC00096010E947EB2802F90E0A0E0B0E028176F
+:10EAD00039074A075B0781F40E941D6581E795E6C7
+:10EAE000DF91CF911F910F91FF90EF90DF90CF902A
+:10EAF000BF90AF900C946C65BB24B394B00E609142
+:10EB0000350D7091360D8091370D9091380DA7011C
+:10EB100096010E947EB28B2D90E0A0E0B0E0281715
+:10EB200039074A075B0788F025E0B29EC00111242F
+:10EB30000197AA2797FDA095BA2F8093350D909342
+:10EB4000360DA093370DB093380D6091350D70914F
+:10EB5000360D8091370D9091380DA70196010E94D6
+:10EB60007EB280913E0D90E00396422F50E08417D4
+:10EB700095074CF48DEF820F80933E0DA0926F02AB
+:10EB8000DCEFD20FCFEFCF5FDF5FC43008F4EECC05
+:10EB9000DF91CF911F910F91FF90EF90DF90CF9079
+:10EBA000BF90AF900895CB01BA01A70196010E94D2
+:10EBB0007EB2213031054105510519F42EE74EE3AF
+:10EBC00002C02EE740E267EF70E18C2F0E94F663EF
+:10EBD0004FCD6091350D7091360D8091370D90912C
+:10EBE000380DA70196010E947EB221303105410502
+:10EBF000510509F03FCD0E941D6589E09FE670CF69
+:10EC000020918C0D211108C044E150E0BC0182E745
+:10EC100092E00E94BFB521CC0895F2DF81E080939D
+:10EC20008C0D0C94C86A10928C0D0895CF92DF92CF
+:10EC3000EF92FF92CF93CCB1C095CC1FCC27CC1FC5
+:10EC40008091030183FFC260C0903A0DD0903B0DCC
+:10EC5000E0903C0DF0903D0D0E9431A9C616D706FC
+:10EC6000E806F90610F4489B39C0C0933F0D809127
+:10EC70003F0D817090913F0D91FD82609091390D13
+:10EC8000891721F18130F1F028F0823089F083304A
+:10EC9000A1F01CC0913021F490919B0D9F5F05C0A5
+:10ECA0009230A1F490919B0D915090939B0D0EC0CA
+:10ECB000992391F3933051F4F5CF923069F3913069
+:10ECC00029F4F0CF933041F3992361F38093390D08
+:10ECD000CF91FF90EF90DF90CF900895C460C5CFA3
+:10ECE0000E94BC6A6F98E4E0F1E08081877F8083B6
+:10ECF000779A9FB7F894E5E0F1E08081886080839F
+:10ED00009FBF5098589A60E088E40E9451A89FB72E
+:10ED1000F894E5E0F1E08081846080839FBF80917A
+:10ED2000030182FB882780F991E089278093340DC5
+:10ED30007DDF10929B0D0895CF92DF92EF92FF92AC
+:10ED400075DF8091030191E082FB882780F9892794
+:10ED50002091340D8217C9F082E080936F02809178
+:10ED6000030182FB882780F989278093340D0E9454
+:10ED7000BC6A8091340D882309F490C08DE59AE037
+:10ED80000E94473089E49EE03BDFC090300DD09078
+:10ED9000310DE090320DF090330D0E9431A9C6166E
+:10EDA000D706E806F90608F086C040919B0D44237B
+:10EDB00061F181E080936F02552747FD5095652FE3
+:10EDC000752F8091350D9091360DA091370DB09132
+:10EDD000380D840F951FA61FB71F8093350D909394
+:10EDE000360DA093370DB093380D10929B0D0E94F5
+:10EDF00031A96856754C8F4F9F4F6093050D7093E6
+:10EE0000060D8093070D9093080D80913F0D82FFB2
+:10EE10000EC00E9431A96856754C8F4F9F4F60936A
+:10EE2000050D7093060D8093070D9093080DE091EA
+:10EE30007002F09171021995C090050DD090060DE9
+:10EE4000E090070DF090080D0E9431A9C616D70674
+:10EE5000E806F90638F480917002909171028452AC
+:10EE6000904819F580916F02823011F40E94DD6A9A
+:10EE700080916F02882319F0815080936F020E9465
+:10EE800031A96C597F4F8F4F9F4F6093300D709316
+:10EE9000310D8093320D9093330D0DC08DE59AE0C6
+:10EEA0000E9412318CE39EE06FCF0E94C86A82E01C
+:10EEB00080936F02D7CFFF90EF90DF90CF900895AF
+:10EEC00081E0089580913F0D82FB882780F90895A5
+:10EED0000F931F93CF93DF930E94DD6A40E060E0C1
+:10EEE00080E49DE00E947E2865E675E080E49DE078
+:10EEF0000E94BEAD41E061E080E49DE00E947E287A
+:10EF000068E775E080E49DE00E94BEAD42E061E00C
+:10EF100080E49DE00E947E286CE775E080E49DE03F
+:10EF20000E94BEAD43E061E080E49DE00E947E2847
+:10EF300060E975E080E49DE00E94BEAD41E060E0E4
+:10EF400080E49DE00E947E2860EA75E080E49DE018
+:10EF50000E94BEAD00919B0D112707FD1095C1E0E9
+:10EF6000D0E08091550A9091560A892B09F076C01D
+:10EF70000E94721E81E00E94384980919B0D992762
+:10EF800087FD90950817190709F459C09801281BA7
+:10EF9000390B37FF03C031952195310922303105F6
+:10EFA0000CF44DC0801791070CF42197081719072E
+:10EFB0000CF42196C430D1052CF4209729F4C1E03B
+:10EFC000D0E002C0C3E0D0E041E060E080E49DE03A
+:10EFD0000E947E2861E973E080E49DE00E94BEAD5E
+:10EFE00042E060E080E49DE00E947E2861E973E0F9
+:10EFF00080E49DE00E94BEAD43E060E080E49DE0DF
+:10F000000E947E2861E973E080E49DE00E94BEAD2D
+:10F010004C2F60E080E49DE00E947E2860EA75E06D
+:10F0200080E49DE00E94BEAD00919B0D112707FD7D
+:10F03000109564E670E080E090E00E9460A942DFF5
+:10F04000882309F48ECFD093560AC093550A64EFF3
+:10F0500071E080E090E00E9460A983CF0E94DD6AA9
+:10F06000DF91CF911F910F910C94C86AFC018081B0
+:10F0700090E02AE030E0B9010E946BB2482FCB014A
+:10F08000B9010E946BB2805D8093090D405D409391
+:10F090000A0D10920B0D89E09DE0089520E030E00C
+:10F0A00040E251E4FC0160817181828193810E9480
+:10F0B00075B10E940FAF77FD02C02BE201C02DE2B7
+:10F0C0002093090D9B0177FF04C022273327261BBD
+:10F0D000370BC90168EE73E00E946BB2CB01EAE026
+:10F0E000F0E0BF010E946BB2805D80930A0DC90100
+:10F0F00064E670E00E946BB2CB01BF010E946BB26C
+:10F10000805D80930B0DC901BF010E946BB2282F57
+:10F11000CB01BF010E946BB2805D80930C0D8EE22B
+:10F1200080930D0D205D20930E0D10920F0D89E040
+:10F130009DE008958F929F92AF92BF92CF92DF92FF
+:10F14000EF92FF92FC0180809180A280B38020E04A
+:10F1500030E048EC52E4C501B4010E9475B16B0186
+:10F160007C0120E030E0A9010E94A3B018161CF435
+:10F17000C701B60103C0C701B60190580E940FAF86
+:10F180006B017C0120E030E0A901C501B4010E94BF
+:10F19000A0AE87FF12C08DE28093090DC701B601B2
+:10F1A00028EE33E040E050E00E94A0B2CA01B9016D
+:10F1B0002AE030E040E050E036C0C701B60120E16F
+:10F1C00037E240E050E00E94A0B28AE0882E912C05
+:10F1D000A12CB12CCA01B901A50194010E94A0B2D1
+:10F1E000662391F0605D6093090DC701B60128EEBA
+:10F1F00033E040E050E00E94A0B2CA01B901A5018D
+:10F2000094010E94A0B213C080E28093090DC7014F
+:10F21000B60128EE33E040E050E00E94A0B2CA01FF
+:10F22000B901A50194010E94A0B2662311F0605DAE
+:10F2300001C060E260930A0DC701B60124E630E028
+:10F2400040E050E00E94A0B2BAE08B2E912CA12C9D
+:10F25000B12CCA01B901A50194010E94A0B2605D60
+:10F2600060930B0DC701B601A50194010E94A0B2E5
+:10F27000662381F0605D60930E0DCA01B901A5019E
+:10F2800094010E94A0B2605D60930D0D8EE28093A8
+:10F290000C0D15C0CA01B901A50194010E94A0B2CC
+:10F2A000662329F0605D60930D0D8EE203C080E25D
+:10F2B00080930D0D80930C0D80E280930E0D1092C3
+:10F2C0000F0D89E09DE0FF90EF90DF90CF90BF9011
+:10F2D000AF909F908F900895FC012081318137FF7E
+:10F2E00007C08DE28093090D31952195310914C035
+:10F2F0002436310574F0C90164E670E00E946BB2F7
+:10F30000CB016AE070E00E946BB2805D8093090DD2
+:10F3100006C080E28093090D2A30310564F0EAE0EE
+:10F32000F0E0C901BF010E946BB2CB01BF010E9496
+:10F330006BB2805D01C080E280930A0DC9016AE072
+:10F3400070E00E946BB2805D80930B0D10920C0DEB
+:10F3500089E09DE008958F929F92AF92BF92CF92E5
+:10F36000DF92EF92FF920F931F93CF93DF93609101
+:10F3700014027091150280911602909117020E945A
+:10F38000BD276093190D70931A0D80931B0D9093F8
+:10F390001C0D6091100270911102809112029091E7
+:10F3A00013020E94C9276093150D7093160D809368
+:10F3B000170D9093180D8091350D9091360DA091F9
+:10F3C000370DB091380D81309048A105B10540F05E
+:10F3D0001092350D1092360D1092370D1092380D97
+:10F3E0006091350D7091360D8091370D9091380DEB
+:10F3F00025E030E040E050E00E947EB280913E0D7A
+:10F4000090E0A0E0B0E0281739074A075B0710F446
+:10F4100020933E0DD0913E0D10913F0D12FB112710
+:10F4200010F9C0E095E0C92ED12CE12CF12C23E19C
+:10F43000822E912CA12CB12C01E06091350D7091A0
+:10F44000360D8091370D9091380DD11134C0209137
+:10F450006F02222371F023E065307105810591056B
+:10F4600010F443E001C040E26AEA7FE08C2F0E9482
+:10F47000F663112309F4E2C08091350D9091360DA9
+:10F48000A091370DB091380D0597A105B10508F091
+:10F49000D5C00E941D6581E297E6DF91CF911F9153
+:10F4A0000F91FF90EF90DF90CF90BF90AF909F9023
+:10F4B0008F900C946765D130D9F520916F0222238B
+:10F4C000B9F0A70196010E947EB288E498E021304D
+:10F4D00031054105510521F4FFDE9C014EE303C0D7
+:10F4E000FBDE9C0140E263EA7FE08C2F0E942D64EA
+:10F4F000112309F4A3C06091350D7091360D8091F0
+:10F50000370D9091380DA70196010E947EB22130EF
+:10F5100031054105510509F091C00E941D6528E3A0
+:10F5200031E040E050E068E478E08CE99FE078C0AA
+:10F53000D230D9F520916F022223B9F0A7019601AC
+:10F540000E947EB286E498E02230310541055105E3
+:10F5500021F4C2DE9C014EE303C0BEDE9C0140E20A
+:10F5600068E97FE08C2F0E942D64112309F466C0A6
+:10F570006091350D7091360D8091370D9091380D59
+:10F58000A70196010E947EB2223031054105510546
+:10F5900009F054C00E941D6523E930E040E050E0CE
+:10F5A00066E478E084E99FE03BC0D33009F046C0D0
+:10F5B00020916F022223B9F0A70196010E947EB22A
+:10F5C0008EE29AE0233031054105510521F484DEB5
+:10F5D0009C014EE303C080DE9C0140E26AE87FE0CC
+:10F5E0008C2F0E942D64112349F16091350D70918B
+:10F5F000360D8091370D9091380DA70196010E942C
+:10F600007EB22330310541055105C1F40E941D65CC
+:10F610002FEF30E040E050E06EE27AE080E89FE0DB
+:10F62000DF91CF911F910F91FF90EF90DF90CF90DE
+:10F63000BF90AF909F908F900C94A4638091350DF4
+:10F640009091360DA091370DB091380D4497A105DA
+:10F65000B10540F08092350D9092360DA092370D95
+:10F66000B092380D6091350D7091360D8091370D47
+:10F670009091380DA70196010E947EB280913E0DB7
+:10F6800090E00396422F50E0841795074CF48DEFDD
+:10F69000820F80933E0D00936F02DCEFD20FCFEF0D
+:10F6A000CF5FDF5FC43008F4C8CEDF91CF911F91E8
+:10F6B0000F91FF90EF90DF90CF90BF90AF909F9011
+:10F6C0008F9008958F929F92AF92BF92CF92DF92C8
+:10F6D000EF92FF920F931F93CF93DF938091350D9D
+:10F6E0009091360DA091370DB091380D8130904832
+:10F6F000A105B10540F01092350D1092360D109213
+:10F70000370D1092380D6091350D7091360D809146
+:10F71000370D9091380D25E030E040E050E00E9438
+:10F720007EB280913E0D90E0A0E0B0E0281739074E
+:10F730004A075B0710F420933E0DD0913E0D1091C7
+:10F740003F0D12FB112710F9C0E035E0C32ED12C7C
+:10F75000E12CF12C42E2842E912CA12CB12C01E061
+:10F760006091350D7091360D8091370D9091380D67
+:10F77000D11134C020916F02222371F023E0653053
+:10F7800071058105910510F443E001C040E26CEE83
+:10F790007EE08C2F0E94F663112309F49CC18091B6
+:10F7A000350D9091360DA091370DB091380D05971C
+:10F7B000A105B10508F08FC10E941D658CE692E796
+:10F7C000DF91CF911F910F91FF90EF90DF90CF903D
+:10F7D000BF90AF909F908F900C946765D130D9F512
+:10F7E00020916F022223B9F0A70196010E947EB2F8
+:10F7F0008DE592E0213031054105510521F46CDDA4
+:10F800009C014EE303C068DD9C0140E266EE7EE0B1
+:10F810008C2F0E942D64112309F45DC16091350D78
+:10F820007091360D8091370D9091380DA70196019A
+:10F830000E947EB2213031054105510509F04BC1CE
+:10F840000E941D6527EE33E04AE050E06DE572E06E
+:10F8500080EE9EE03DC0D23009F048C020916F029A
+:10F860002223B9F0A70196010E947EB288E498E0B5
+:10F87000223031054105510521F42EDD9C014EE376
+:10F8800003C02ADD9C0140E269ED7EE08C2F0E94DE
+:10F890002D64112309F41FC16091350D7091360D4F
+:10F8A0008091370D9091380DA70196010E947EB28C
+:10F8B000223031054105510509F00DC10E941D6539
+:10F8C00028E331E040E050E068E478E082ED9EE03B
+:10F8D000DF91CF911F910F91FF90EF90DF90CF902C
+:10F8E000BF90AF909F908F900C94A463D330D9F5C4
+:10F8F00020916F022223B9F0A70196010E947EB2E7
+:10F9000086E498E0233031054105510521F4E4DC1B
+:10F910009C014EE303C0E0DC9C0140E26EEC7EE023
+:10F920008C2F0E942D64112309F4D5C06091350DF0
+:10F930007091360D8091370D9091380DA701960189
+:10F940000E947EB2233031054105510509F0C3C044
+:10F950000E941D6523E930E040E050E066E478E075
+:10F960008AEC9EE0B5CFD430D9F520916F022223E6
+:10F97000B9F0A70196010E947EB28EE29AE024308F
+:10F9800031054105510521F4A7DC9C014EE303C07C
+:10F99000A3DC9C0140E260EC7EE08C2F0E942D6491
+:10F9A000112309F498C06091350D7091360D809146
+:10F9B000370D9091380DA70196010E947EB2243038
+:10F9C00031054105510509F086C00E941D652FEFE4
+:10F9D00030E040E050E06EE27AE086EB9EE078CFE7
+:10F9E000D530D9F520916F022223B9F0A7019601F5
+:10F9F0000E947EB28BE592E025303105410551052C
+:10FA000021F46ADC9C014EE303C066DC9C0140E209
+:10FA100061EB7EE08C2F0E942D64112309F45BC002
+:10FA20006091350D7091360D8091370D9091380DA4
+:10FA3000A70196010E947EB225303105410551058E
+:10FA400009F049C00E941D6527EE33E04AE050E00E
+:10FA50006BE572E08CEA9EE03BCFD630E1F5209179
+:10FA60006F02222399F0A70196010E947EB22630F0
+:10FA700031054105510519F420E24EE302C020E2B0
+:10FA800040E26CE97EE08C2F0E94F663112319F1AD
+:10FA90006091350D7091360D8091370D9091380D34
+:10FAA000A70196010E947EB226303105410551051D
+:10FAB00091F40E941D6587E99EE0DF91CF911F912F
+:10FAC0000F91FF90EF90DF90CF90BF90AF909F90FD
+:10FAD0008F900C94333E8091350D9091360DA0910E
+:10FAE000370DB091380D8397A105B10540F0809294
+:10FAF000350D9092360DA092370DB092380D609171
+:10FB0000350D7091360D8091370D9091380DA7010C
+:10FB100096010E947EB280913E0D90E00396422FA6
+:10FB200050E0841795074CF48DEF820F80933E0DC3
+:10FB300000936F02DCEFD20FCFEFCF5FDF5FC430F7
+:10FB400008F40ECEDF91CF911F910F91FF90EF90AF
+:10FB5000DF90CF90BF90AF909F908F900895FC0161
+:10FB6000808191818436910524F164E670E00E94E1
+:10FB70006BB2CB012AE030E0B9010E946BB2805D2C
+:10FB80008093090D80819181B9010E946BB2CB01F4
+:10FB9000B9010E946BB2805D80930A0D80819181D2
+:10FBA000B9010E946BB2805D80930B0D10920C0D19
+:10FBB00023C08A309105BCF02AE030E0B9010E94F0
+:10FBC0006BB2CB01B9010E946BB2805D8093090DCD
+:10FBD00080819181B9010E946BB2805D80930A0D92
+:10FBE00010920B0D09C06AE070E00E946BB2805D5C
+:10FBF0008093090D10920A0D89E09DE00895CF923F
+:10FC0000EF920F93EFE1CE2EF0E2EF2E0FE02EE019
+:10FC100045E066E280E49DE00E9459290F91EF9053
+:10FC2000CF900895CF93DF93FC016491EC0121966E
+:10FC3000662331F080E49DE00E94362ACE01F4CFA5
+:10FC4000DF91CF9108950F931F93CF93DF938C0192
+:10FC5000EB0141E061E080E49DE00E947E28C80164
+:10FC6000E1DF6AE380E49DE00E94BFADFE01019008
+:10FC70000020E9F76C2F6E1B6C5E41E080E49DE094
+:10FC80000E947E28BE0180E49DE0DF91CF911F910C
+:10FC90000F910C94BEADCF92DF92EF92FF920F9333
+:10FCA0001F938091350D9091360DA091370DB09135
+:10FCB000380D0097A105B10509F442C0BC018827A1
+:10FCC00077FD8095982F0E9442AF2091110D3091C1
+:10FCD000120D4091130D5091140D0E9475B19B01AE
+:10FCE000AC016091500A7091510A8091520A909132
+:10FCF000530A0E94C7AD6093500A7093510A8093D3
+:10FD0000520A9093530A1092350D1092360D1092AC
+:10FD1000370D1092380DA0E3CA2EAAE0DA2EE12C9E
+:10FD2000F12C00E81FE320E53AE04CE45AE068E4F7
+:10FD30007AE084E49AE00E94779A81E080936F02EF
+:10FD400080916F02882339F080E59AE0A7D9BC0141
+:10FD500089EB9FE078DF80913F0D82FF0EC021E0AC
+:10FD600040E050E0BA018AEF98E61F910F91FF90B2
+:10FD7000EF90DF90CF900C9451651F910F91FF9001
+:10FD8000EF90DF90CF900895CF93DF931F921F9253
+:10FD9000CDB7DEB78091350D9091360DA091370D1E
+:10FDA000B091380DB7FF08C01092350D1092360D86
+:10FDB0001092370D1092380D80911D0D90911E0DEF
+:10FDC000A0911F0DB091200D4091350D5091360D31
+:10FDD0006091370D7091380D84179507A607B70706
+:10FDE00044F48093350D9093360DA093370DB09366
+:10FDF000380D80916F028823A9F08091210D909198
+:10FE0000220D2091350D3091360D820F931F9A836C
+:10FE10008983CE01019660DABC018091270D909113
+:10FE2000280D11DF80913F0D82FF1DC0E091250D4F
+:10FE3000F091260D8091210D9091220D2091350D8C
+:10FE40003091360D820F931F918380834091290D4D
+:10FE500050912A0D60E070E021E080912B0D90918F
+:10FE60002C0D0E9451650F900F90DF91CF91089556
+:10FE70004F925F926F927F928F929F92AF92BF92BA
+:10FE8000CF92DF92EF92FF920F931F93CF93DF9366
+:10FE90004C015B017A018091350D9091360DA09156
+:10FEA000370DB091380D892B8A2B8B2B09F47BC031
+:10FEB0000E945F40E501CC0FDD1FCC0FDD1F8E01DE
+:10FEC0000C5B154F6091350D7091360D882777FDCD
+:10FED0008095982F0E9442AF2091110D3091120D04
+:10FEE0004091130D5091140D0E9475B1F8012081BD
+:10FEF0003181428153810E94C7AD2B013C0120E03A
+:10FF000030E0A9010E94A0AEF80187FD05C0408243
+:10FF100051826282738204C0108211821282138223
+:10FF2000B701882777FD8095982F0E9442AF6B011B
+:10FF30007C018E010C5B154F9B01AC01F8016081C7
+:10FF40007181828193810E94A3B018162CF4F8016C
+:10FF5000C082D182E282F3821092350D1092360D6A
+:10FF60001092370D1092380DCA55DA4F20E030E06C
+:10FF700040E752E4688179818A819B810E94A7AE23
+:10FF8000D0E3CD2EDAE0DD2E7B018C0120E53AE0D6
+:10FF90004CE45AE068E47AE084E49AE00E94779ABC
+:10FFA00081E080936F0280916F02882359F0C50130
+:10FFB000880F991F880F991F8C5B954F6FD8BC01D4
+:10FFC000C40141DE80913F0D82FF18C021E040E076
+:10FFD00050E0BA018AEF98E6DF91CF911F910F911F
+:10FFE000FF90EF90DF90CF90BF90AF909F908F9059
+:10FFF0007F906F905F904F900C945165DF91CF91FF
+:020000021000EC
+:100000001F910F91FF90EF90DF90CF90BF90AF9036
+:100010009F908F907F906F905F904F90089546EDE6
+:1000200050E060E070E083EB9FE022CF46EC50E0D0
+:1000300061E070E085EB9FE01BCF49EC50E062E0AF
+:1000400070E087EB9FE014CF8F929F92AF92BF92A8
+:10005000CF92DF92EF92FF920F931F93CF93DF9394
+:10006000CDB7DEB728970FB6F894DEBF0FBECDBF71
+:1000700080912F0D882321F0815080932F0D03C094
+:1000800081E080936F0280916F02882309F456C249
+:1000900080919A0D8F5F80939A0D8E3129F40E9482
+:1000A000BC6A10929A0D0EC06AE00E944AB2911189
+:1000B00009C020E044E064E180E49DE00E947E29E4
+:1000C0000E94806420E030E040E05FE360914008FF
+:1000D0007091410880914208909143080E94C7ADF9
+:1000E0000E940FAF78876F8360914808709149082C
+:1000F000882777FD8095982F0E9442AF20E030E05E
+:1001000040E05FE30E94C7AD0E940FAF7E836D8326
+:1001100040E060E080E49DE00E947E2862E080E4B0
+:100120009DE00E94BFADCE010796D6D8BC0180E409
+:100130009DE00E94BEAD6FE280E49DE00E94BFADF5
+:10014000CE0105960CDDBC0180E49DE00E94BEADB1
+:1001500084E99EE067DD60E973E080E49DE00E9451
+:10016000BEAD40E06AE080E49DE00E947E2862EA45
+:1001700075E080E49DE00E94BEAD2CEA35EC47E2DC
+:1001800057E360914C0A70914D0A80914E0A90910C
+:100190004F0A0E94C7AD69837A838B839C83CE010B
+:1001A00001960E949A78BC0180E49DE00E94BEAD59
+:1001B00060E280E49DE00E94BFAD41E060E080E449
+:1001C0009DE00E947E2820E030E040E05FE3609107
+:1001D0003A0870913B0880913C0890913D080E943C
+:1001E000C7AD0E940FAF78876F836091460870910A
+:1001F0004708882777FD8095982F0E9442AF20E01E
+:1002000030E040E05FE30E94C7AD0E940FAF7E8305
+:100210006D8360E080E49DE00E94BFADCE01079653
+:100220005BD8BC0180E49DE00E94BEAD6FE280E43B
+:100230009DE00E94BFADCE01059691DCBC0180E43B
+:100240009DE00E94BEAD81E99EE0ECDC60E973E0D8
+:1002500080E49DE00E94BEAD41E06AE080E49DE064
+:100260000E947E2860E973E080E49DE00E94BEADBC
+:1002700066E080E49DE00E94BFAD8DE592E02CD861
+:10028000BC0180E49DE00E94BEAD65E280E49DE09B
+:100290000E94BFAD6DE873E080E49DE00E94BEADBA
+:1002A00042E060E080E49DE00E947E288EE89EE0CF
+:1002B000B9DC80915F0A8823A9F18091480C8823DA
+:1002C00019F18091F20C9091F30CA091F40CB09183
+:1002D000F50C0097A105B105B9F0BC01CD016D5930
+:1002E0007F4F8F4F9F4F24E630E040E050E00E9468
+:1002F0007EB26091FA0C7091FB0C8091FC0C909195
+:10030000FD0C0E947EB201C020E030E03A832983D8
+:10031000CE0101960E946C79BC0180E49DE00E94B0
+:10032000BEAD03C08AE89EE07DDC65E280E49DE02E
+:100330000E94BFAD6CE873E080E49DE00E94BEAD1A
+:1003400042E06AE080E49DE00E947E2860E973E07C
+:1003500080E49DE00E94BEAD67E080E49DE00E94E5
+:10036000BFAD8091520890915308A0915408B0916C
+:100370005508892B8A2B8B2BE1F10E9431A920E6AD
+:10038000C22E2AEED22EE12CF12CA70196010E945A
+:100390007EB249015A0160915208709153088091D0
+:1003A000540890915508A70196010E947EB2C4019D
+:1003B000821B930B6CE370E00E9457B2182F698385
+:1003C000CE0101960E943678BC0180E49DE00E9437
+:1003D000BEAD6AE380E49DE00E94BFAD1983CE010B
+:1003E00001960E943678BC0180E49DE00E94BEAD7B
+:1003F00003C084E89EE016DC60E973E080E49DE0E1
+:100400000E94BEAD43E060E080E49DE00E947E2853
+:100410006EE773E082E792E00E942EB6892B09F026
+:1004200074C06EE67AE085E59DE00E942EB6892BC9
+:10043000D1F0E5E5FDE0DF010D900020E9F7AD0129
+:100440004150510945555D4060E070E0CF010E9488
+:10045000FEB56EE67AE085E59DE00E9437B6109223
+:100460008B0D10928A0DEEE6FAE001900020E9F77C
+:10047000EF56FA40759708F445C000918A0D109127
+:100480008B0DC12CD12C80918A0D90918B0D9801F0
+:10049000281B390B2431310534F0019690938B0DD4
+:1004A00080938A0D38C0C114D104B9F7F801E35A1A
+:1004B000F54F7F019189602F681B43E0911115C0B2
+:1004C00080E49DE00E947E28D70150966C9180E4E4
+:1004D0009DE00E94BFAD10928B0D10928A0D00E03E
+:1004E00010E0CC24C394D12CCECF80E49DE00E94B8
+:1004F0007E28F701608980E49DE00E94BFAD0F5F18
+:100500001F4FC1CF65E57DE002C062E772E080E485
+:100510009DE00E94BEAD02E712E0D8018D918D01F1
+:1005200080322CF460E280E49DE00E94BFADB2E036
+:1005300006381B0791F78AE080932F0D80913F0DBD
+:1005400082FB882780F990912E0D992399F0909144
+:100550002D0D992339F0811119C010922D0D109293
+:100560002E0D14C0882391F00E941D6581E08093B8
+:100570002D0D0CC0882351F021E040E050E0BA017D
+:100580008CE692E70E9451650E94BC6A80915D02F0
+:1005900090915E022091350D3091360D8436910593
+:1005A00034F4820F931F853691054CF416C08436BF
+:1005B000910599F0820F931F8436910574F410927F
+:1005C000350D1092360D1092370D1092380D84E6CD
+:1005D00090E090935E0280935D0220915D023091E5
+:1005E0005E028091350D9091360D2436310569F407
+:1005F0008B3091051CF0865A9F4F09C0863FEFEF64
+:100600009E078CF482599F4F02C0820F931F9093D4
+:100610005E0280935D021092350D1092360D10929D
+:10062000370D1092380D80915D0290915E028A30F4
+:1006300091051CF48AE090E005C0883E934034F0B8
+:1006400087EE93E090935E0280935D0228960FB64A
+:10065000F894DEBF0FBECDBFDF91CF911F910F91F8
+:10066000FF90EF90DF90CF90BF90AF909F908F90D2
+:100670000895CF93DF93CFE2DEE0FE0184918823DB
+:1006800041F09091C00095FFFCCF8093C600319659
+:10069000F5CFE4E0F4E18491882341F09091C0002B
+:1006A00095FFFCCF8093C6003196F5CF8091C000B6
+:1006B00085FFFCCF8AE08093C600FE018491EFE2C3
+:1006C000FEE0882349F09091C00095FFFCCF809315
+:1006D000C60031968491F5CF4091A1135091A21399
+:1006E0006091A3137091A4138CEF93E10E949C3D41
+:1006F0004091A5135091A6136091A7137091A81370
+:1007000089EF93E10E949C3D4091A9135091AA1357
+:100710006091AB137091AC1386EF93E10E949C3D06
+:100720004091AD135091AE136091AF137091B0131F
+:1007300083EF93E10E949C3D8091C00085FFFCCF38
+:100740008AE08093C600FE018491EFE2FEE08823F8
+:1007500049F09091C00095FFFCCF8093C600319680
+:100760008491F5CFE9EDF3E18491882341F09091F4
+:10077000C00095FFFCCF8093C6003196F5CF8091E5
+:10078000C00085FFFCCF8AE08093C600FE01849103
+:10079000EFE2FEE0882349F09091C00095FFFCCF86
+:1007A0008093C60031968491F5CF4091B11350915A
+:1007B000B2136091B3137091B41380ED93E10E9472
+:1007C0009C3D4091B5135091B6136091B713709151
+:1007D000B8138DEC93E10E949C3D4091B913509168
+:1007E000BA136091BB137091BC138AEC93E10E9421
+:1007F0009C3D4091BD135091BE136091BF13709109
+:10080000C01387EC93E10E949C3D8091C00085FF5E
+:10081000FCCF8AE08093C600FE018491EFE2FEE007
+:10082000882349F09091C00095FFFCCF8093C600CB
+:1008300031968491F5CFE9EAF3E18491882341F080
+:100840009091C00095FFFCCF8093C6003196F5CF04
+:100850008091C00085FFFCCF8AE08093C600FE0136
+:100860008491EFE2FEE0882349F09091C00095FF6B
+:10087000FCCF8093C60031968491F5CF40919113BF
+:1008800050919213609193137091941380EA93E1C5
+:100890000E94AE3D4091951350919613609197132D
+:1008A000709198138DE993E10E94AE3D40919913A8
+:1008B00050919A1360919B1370919C138AE993E174
+:1008C0000E94AE3D40919D1350919E1360919F13E5
+:1008D0007091A01387E993E10E94AE3D8091C00022
+:1008E00085FFFCCF8AE08093C600FE018491EFE291
+:1008F000FEE0882349F09091C00095FFFCCF8093E3
+:10090000C60031968491F5CFE2E6F3E18491882325
+:1009100041F09091C00095FFFCCF8093C6003196C6
+:10092000F5CF8091C00085FFFCCF8AE08093C600A0
+:10093000FE018491EFE2FEE0882349F09091C0002F
+:1009400095FFFCCF8093C60031968491F5CF4091FE
+:10095000891350918A1360918B1370918C1389E5E0
+:1009600093E10E949C3D40918513509186136091C4
+:1009700087137091881386E593E10E949C3D8091D6
+:10098000C00085FFFCCF8AE08093C600FE01849101
+:10099000EFE2FEE0882349F09091C00095FFFCCF84
+:1009A0008093C60031968491F5CFE3EAF2E1849119
+:1009B000882341F09091C00095FFFCCF8093C60042
+:1009C0003196F5CF8091C00085FFFCCF8AE08093FF
+:1009D000C600FE018491EFE2FEE0882349F0909189
+:1009E000C00095FFFCCF8093C60031968491F5CF6F
+:1009F00040918D1350918E1360918F1370919013CD
+:100A00008AE992E10E949C3D4091751350917613C2
+:100A1000609177137091781387E992E10E949C3D71
+:100A20004091C1135091C2136091C3137091C413CC
+:100A300084E992E10E94AE3D40918113509182136E
+:100A4000609183137091841381E992E10E949C3D2F
+:100A500040917D1350917E1360917F1370918013AC
+:100A60008EE892E10E949C3D4091791350917A1357
+:100A700060917B1370917C138BE892E10E949C3D06
+:100A80008091C00085FFFCCF8AE08093C600FE0104
+:100A90008491EFE2FEE0882349F09091C00095FF39
+:100AA000FCCF8093C60031968491F5CFE9E7F2E15F
+:100AB0008491882341F09091C00095FFFCCF8093F2
+:100AC000C6003196F5CF8091C00085FFFCCF8AE04B
+:100AD0008093C600FE018491EFE2FEE0882349F096
+:100AE0009091C00095FFFCCF8093C6003196849111
+:100AF000F5CF4091380A5091390A60913A0A7091C5
+:100B00003B0A80E792E10E949C3D40913C0A509153
+:100B10003D0A60913E0A70913F0A8DE692E10E9483
+:100B20009C3D4091400A5091410A6091420A709167
+:100B3000430A8AE692E10E949C3D8091C00085FFB5
+:100B4000FCCF8AE08093C600FE018491EFE2FEE0D4
+:100B5000882349F09091C00095FFFCCF8093C60098
+:100B600031968491F5CFECE5F2E18491882341F050
+:100B70009091C00095FFFCCF8093C6003196F5CFD1
+:100B80008091C00085FFFCCF8AE08093C600FE0103
+:100B90008491EFE2FEE0882349F09091C00095FF38
+:100BA000FCCF8093C60031968491F5CF4091180216
+:100BB0005091190260911A0270911B0282E592E134
+:100BC0000E949C3D60911402709115028091160262
+:100BD000909117020E94BD27AB01BC018FE492E106
+:100BE0000E949C3D6091100270911102809112024E
+:100BF000909113020E94C927AB01BC018CE492E1E1
+:100C00000E949C3D8091C00085FFFCCF8AE08093CC
+:100C1000C600FE018491EFE2FEE0882349F0909146
+:100C2000C00095FFFCCF8093C60031968491F5CF2C
+:100C3000E8E1F2E18491882341F09091C00095FFB2
+:100C4000FCCF8093C6003196F5CF8091C00085FF20
+:100C5000FCCF8AE08093C600FE018491EFE2FEE0C3
+:100C6000882349F09091C00095FFFCCF8093C60087
+:100C700031968491F5CF40913302509134026091C6
+:100C80003502709136028EE092E10E949C3D20E098
+:100C900030E040E752E460912B0270912C02809189
+:100CA0002D0290912E020E9475B1AB01BC018BE028
+:100CB00092E10E949C3D4091280A5091290A60913E
+:100CC0002A0A70912B0A88E092E10E949C3D809153
+:100CD000C00085FFFCCF8AE08093C600FE018491AE
+:100CE000EFE2FEE0882349F09091C00095FFFCCF31
+:100CF0008093C60031968491F5CFECEDF1E18491BB
+:100D0000882341F09091C00095FFFCCF8093C600EE
+:100D10003196F5CF8091C00085FFFCCF8AE08093AB
+:100D2000C600FE018491EFE2FEE0882349F0909135
+:100D3000C00095FFFCCF8093C60031968491F5CF1B
+:100D40004091240A5091250A6091260A7091270A41
+:100D500082ED91E10E949C3D20E030E040E752E4CA
+:100D600060912702709128028091290290912A02B5
+:100D70000E9475B1AB01BC018FEC91E10E949C3DDA
+:100D80008091C00085FFFCCF8AE08093C600FE0101
+:100D90008491EFE2FEE0882349F09091C00095FF36
+:100DA000FCCF8093C60031968491F5CFE5E7F1E161
+:100DB0008491882341F09091C00095FFFCCF8093EF
+:100DC000C6003196F5CF8091C00085FFFCCF8AE048
+:100DD0008093C600FE018491EFE2FEE0882349F093
+:100DE0009091C00095FFFCCF8093C600319684910E
+:100DF000F5CF40912D0A50E060E070E08BE691E184
+:100E00000E94AE3D8091C00085FFFCCF8AE08093B8
+:100E1000C600FE018491EFE2FEE0882349F0909144
+:100E2000C00095FFFCCF8093C60031968491F5CF2A
+:100E30008091540A8823A1F1E8E5F1E184918823A7
+:100E400041F09091C00095FFFCCF8093C600319691
+:100E5000F5CF8091C00085FFFCCF8AE08093C6006B
+:100E6000FE01C491EFE2FEE0CC2349F08091C00086
+:100E700085FFFCCFC093C6003196C491F5CF409159
+:100E800053025091540260915502709156028EE4C3
+:100E900091E10E949C3D8091C00085FFFCCF11C074
+:100EA000E2E3F1E18491882341F09091C00095FF45
+:100EB000FCCF8093C6003196F5CF8091C00085FFAE
+:100EC000FCCF8AE08093C600DF91CF910895AF9266
+:100ED000BF92CF92DF92EF92FF920F931F93CF9327
+:100EE000DF93CDB7DEB7E0970FB6F894DEBF0FBE45
+:100EF000CDBF80E1EFEEF2E0DE01919601900D9220
+:100F00008A95E1F780E1EFEFF2E0DE015196019082
+:100F10000D928A95E1F780E1EFE0F3E0DE011196B2
+:100F200001900D928A95E1F76E0181E2C80ED11C05
+:100F300081EAE82E83E1F82E8E010F5E1F4F61EBF0
+:100F400073E1AE014F5F5F4F91E9A92E93E1B92E96
+:100F500020E030E0F60181919191A191B1916F0172
+:100F6000F70181939193A193B1937F01F80181914E
+:100F70009191A191B1918F01FB0181939193A193E3
+:100F8000B193BF01FA0181919191A191B191AF010A
+:100F9000F50181939193A193B1935F012F5F3F4F2F
+:100FA00024303105B9F60E9410A580E090E8ABE34B
+:100FB000B5E48093891390938A13A0938B13B09315
+:100FC0008C138093851390938613A0938713B0930B
+:100FD000881310928D1310928E1310928F1310920B
+:100FE000901380E29EE4A0E0B0E08093C113909360
+:100FF000C213A093C313B093C4131092751310922D
+:101000007613109277131092781380E090E0A0EAA4
+:10101000B1E48093811390938213A0938313B093D0
+:1010200084138DEC9CECACECBEE380937D13909329
+:101030007E13A0937F13B093801380E090E0A0EA2A
+:10104000B0E48093791390937A13A0937B13B093B9
+:101050007C131092400A1092410A1092420A109298
+:10106000430A10923C0A10923D0A10923E0A1092D6
+:101070003F0A1092380A1092390A10923A0A1092D6
+:101080003B0A8CED90E09093980D8093970D82E34E
+:1010900090E09093960D8093950D8FEF90E0909354
+:1010A000940D8093930D2DE131E03093920D2093B8
+:1010B000910D24E630E03093900D20938F0D9093A6
+:1010C0008E0D80938D0D83E393E3ABE4B1E48093C5
+:1010D000180290931902A0931A02B0931B026FE1B9
+:1010E00075E88BE89FE30E94B72760931402709322
+:1010F000150280931602909317026AE979E985E157
+:1011000092E40E94C32760931002709311028093AF
+:101110001202909313020E94251E80E090E0A0E846
+:10112000BFE380930C0290930D02A0930E02B09344
+:101130000F0210922D0A80E090E0A0E4B0E48093CA
+:10114000330290933402A0933502B093360240E00C
+:1011500050E064E372E440932B0250932C026093BE
+:101160002D0270932E021092280A1092290A1092D2
+:101170002A0A10922B0A1092240A1092250A109221
+:10118000260A1092270A40E050E060E071E44093A4
+:101190002702509328026093290270932A0210922A
+:1011A000540A8093530290935402A0935502B09333
+:1011B00056020E94A74AEFE2FEE08491882341F0A4
+:1011C0009091C00095FFFCCF8093C6003196F5CF7B
+:1011D000E0E1F1E18491882341F09091C00095FF16
+:1011E000FCCF8093C6003196F5CF8091C00085FF7B
+:1011F000FCCF8AE08093C600E0960FB6F894DEBF7D
+:101200000FBECDBFDF91CF911F910F91FF90EF9057
+:10121000DF90CF90BF90AF9008951F920F920FB6BE
+:101220000F9211240BB60F922F933F934F935F931E
+:101230006F938F939F93EF93FF936091C6002091DC
+:101240001D0E30911E0EC90101968F77992740918E
+:101250001F0E5091200E8417950741F0F901E356B7
+:10126000F24F608390931E0E80931D0EFF91EF91BD
+:101270009F918F916F915F914F913F912F910F901F
+:101280000BBE0F900FBE0F901F9018959A01AB01E7
+:10129000211581EE38074105510549F182E080931F
+:1012A000C00060E079E08DE390E00E94A0B22150A0
+:1012B000310941095109CA01B90122E030E040E099
+:1012C00050E00E94A0B23093C5002093C4008091EA
+:1012D000C10080618093C1008091C10088608093CB
+:1012E000C1008091C10080688093C1000895109270
+:1012F000C00020E130E0E7CF20911F0E3091200E9A
+:1013000080911D0E90911E0E8217930771F0F901C6
+:10131000E356F24F80812F5F3F4F2F773327309373
+:10132000200E20931F0E90E008958FEF9FEF0895F9
+:1013300080911F0E9091200E90931E0E80931D0E93
+:1013400008954F925F926F927F928F929F92AF9289
+:10135000BF92CF92DF92EF92FF920F931F93CF93A2
+:10136000DF93CDB7DEB7A0970FB6F894DEBF0FBE00
+:10137000CDBF5C014115510561057105E9F420E01F
+:1013800030E040E350E060E070E0A0960FB6F894E3
+:10139000DEBF0FBECDBFDF91CF911F910F91FF90A8
+:1013A000EF90DF90CF90BF90AF909F908F907F9005
+:1013B0006F905F904F905BC08E010F5F1F4FC12CED
+:1013C000D12C76014801422E512C612C712C8FEFCB
+:1013D000C81AD80AE80AF80ACB01BA01A301920197
+:1013E0000E947EB2CA01F80161938F01A901BC017C
+:1013F000411551056105710551F7F1E0CF1AD1088A
+:10140000E108F108F401EC0DFD1D80818A3010F433
+:1014100040E301C047E3480F552747FD5095652F2E
+:10142000752F20E030E0C50122D081E0C81AD10834
+:10143000E108F108EFEFCE16DE06EE06FE0611F724
+:10144000A0960FB6F894DEBF0FBECDBFDF91CF914F
+:101450001F910F91FF90EF90DF90CF90BF90AF90D2
+:101460009F908F907F906F905F904F90089521157F
+:10147000310539F48091C00085FFFCCF4093C60050
+:1014800008952A30310509F41CC05BCFCF93DF9358
+:10149000EC0120E030E04DE050E060E070E0E7DF9C
+:1014A00020E030E04AE050E060E070E0CE01DF9103
+:1014B000CF91DDCF9A01AB01662757FD6095762F5E
+:1014C000D6CFCF92DF92EF92FF92CF93DF93EC01D2
+:1014D0006A017B0177FF0FC020E030E04DE250E071
+:1014E00060E070E0C4DFF094E094D094C094C11C3C
+:1014F000D11CE11CF11C2AE0B701A601CE01DF914D
+:10150000CF91FF90EF90DF90CF901BCF2115310549
+:1015100039F48091C00085FFFCCF4093C600089548
+:1015200010CF9A01462F50E060E070E0EFCFCF93EC
+:10153000DF93EC019A01AB0160E070E0E7DFCE01E0
+:10154000DF91CF91A3CF8F929F92AF92BF92CF9214
+:10155000DF92EF92FF921F93CF93DF93EC016A012A
+:101560007B01122F20E030E0A901C701B6010E94E3
+:10157000A0AE87FF0CC020E030E04DE250E060E01C
+:1015800070E0CE0174DFF7FAF094F7F8F094B12C24
+:1015900060E070E080E09FE3B11641F020E030E0D1
+:1015A00040E251E40E94A7AEB394F6CF9B01AC0198
+:1015B000C701B6010E94C7AD6B017C010E9414AF48
+:1015C0004B015C010E9440AF9B01AC01C701B60119
+:1015D0000E94C6AD6B017C012AE0B501A401CE01D9
+:1015E000B0DE112361F0EFE5F3E08191882339F05B
+:1015F0009091C00095FFFCCF8093C600F6CF1123D9
+:1016000019F120E030E040E251E4C701B6010E9448
+:1016100075B16B017C010E940FAF4B01AA2497FCAE
+:10162000A094BA2CB501A401CE014BDFC501B401D1
+:101630000E9442AF9B01AC01C701B6010E94C6AD3A
+:101640006B017C011150DBCFDF91CF911F91FF9097
+:10165000EF90DF90CF90BF90AF909F908F900895C4
+:1016600072CFCF93DF931F92CDB7DEB7698341E08E
+:1016700050E0BE016F5F7F4F04960E9481160F906D
+:10168000DF91CF910895FB0101900020E9F7AF01B0
+:1016900041505109461B570B04960C9481168091BA
+:1016A000390E811109C08091380E811105C08091D9
+:1016B000370E811101C00895EFE2FEE08491882386
+:1016C00041F09091C00095FFFCCF8093C600319609
+:1016D000F5CFEFE6F4E18491882341F09091C000CA
+:1016E00095FFFCCF8093C6003196F5CF8091390EDF
+:1016F0008823F1F060913A0E70913B0E80913C0E80
+:1017000090913D0E0E9442AF2091A1133091A213FF
+:101710004091A3135091A4130E94A7AEAB01BC014A
+:101720008BE694E10E949C3D8BE594E10E9400765B
+:101730008091380E8823F1F060913E0E70913F0E3B
+:101740008091400E9091410E0E9442AF2091A513CE
+:101750003091A6134091A7135091A8130E94A7AEF1
+:10176000AB01BC0187E594E10E949C3D87E494E1D4
+:101770000E9400768091370E8823F1F06091420E2E
+:101780007091430E8091440E9091450E0E9442AF9D
+:101790002091A9133091AA134091AB135091AC132F
+:1017A0000E94A7AEAB01BC0183E494E10E949C3D82
+:1017B00083E394E10E9400768091C00085FFFCCF16
+:1017C0008AE08093C6001092390E1092380E109263
+:1017D000370E08951092390E1092380E1092370E6F
+:1017E000089580939B020895EFE6F0E08081826087
+:1017F000808308951F920F920FB60F9211240BB69B
+:101800000F920F931F932F933F934F935F936F9379
+:101810007F938F939F93AF93BF93EF93FF938091A9
+:101820006A0E90916B0E892B09F084C190916D0E18
+:1018300080916C0E981771F0E0916C0E8DE4E89F2A
+:10184000F0011124E259F14FDF01A45BBF4F81E0A9
+:101850008C9302C0E0E0F0E0F0936B0EE0936A0E30
+:10186000309709F461C1DF01A45BBF4F81E08C9325
+:1018700010924D0E10924E0E10924F0E1092500E6E
+:1018800060AD71AD61349CE9790728F461329EE462
+:10189000790748F002C060E47CE976956795769513
+:1018A000679584E007C0613197E2790730F076955B
+:1018B000679582E080934A0E07C080934A0E60329B
+:1018C000710510F460E270E060527109611588E002
+:1018D0007807D0F0872F9927880F991F880F991FB5
+:1018E0008258974EFC01329645915491AA27659FE4
+:1018F0009001649F210D3A1F06942A1F3A1F11245C
+:10190000FC01859194911DC0CB01969587958C7FA4
+:1019100082589B4EFC01459154910296FC018591A1
+:101920009491FB01E770FF278E9F90018F9F300DF0
+:101930009E9F300D1124E3E036952795EA95E1F757
+:10194000CA01821B930B8436910598F4EEEBF5E007
+:101950008191882339F09091C00095FFFCCF80934E
+:10196000C600F6CF4AE050E08CE99DE0E0DD84E679
+:1019700090E09093490E8093480E80914A0E9927EB
+:1019800087FD90959093470E8093460EE0916A0EE6
+:10199000F0916B0E64AD75AD70934C0E60934B0E71
+:1019A00061349CE9790728F461328EE4780748F0C5
+:1019B00002C060E47CE9769567957695679584E04A
+:1019C00007C0613197E2790730F07695679582E03C
+:1019D00080934A0E08C081E080934A0E6032710500
+:1019E00010F460E270E060527109611588E07807D8
+:1019F000E0F0872F9927880F991F880F991F825829
+:101A0000974EFC01329625913491AA27639FA0013D
+:101A1000629F410D5A1F06944A1F5A1F1124FC0150
+:101A200025913491241B350B1EC0CB0196958795CB
+:101A30008C7F82589B4EFC01259134910296FC01CB
+:101A400045915491FB01E770FF274E9FC0014F9FC6
+:101A5000900D5E9F900D1124F3E096958795FA9571
+:101A6000E1F7281B390B2436310598F4EEEBF5E04D
+:101A70008191882339F09091C00095FFFCCF80932D
+:101A8000C600F6CF4AE050E08CE99DE050DD24E648
+:101A900030E0C901A0E0B0E08093510E9093520E67
+:101AA000A093530EB093540E309389002093880076
+:101AB000E0916A0EF0916B0E80899189A289B389B9
+:101AC000B695A79597958795B095A0959095819592
+:101AD0009F4FAF4FBF4F8093650E9093660EA093BC
+:101AE000670EB093680E8093610E9093620EA09380
+:101AF000630EB093640E80935D0E90935E0EA09380
+:101B00005F0EB093600E8093590E90935A0EA0937F
+:101B10005B0EB0935C0E1092550E1092560E109202
+:101B2000570E1092580E06C080ED97E090938900F2
+:101B300080938800E0916A0EF0916B0E309709F463
+:101B400087C580A18093690E9FB780FF09C0F89474
+:101B500080910B018D7F80930B019FBF8FEF08C099
+:101B6000F89480910B01826080930B019FBF81E00C
+:101B7000809397028091690E9FB781FF09C0F89406
+:101B800080910B018E7F80930B019FBF8FEF08C068
+:101B9000F89480910B01816080930B019FBF81E0DD
+:101BA000809398022091690E30919B0220FF3BC0E8
+:101BB000332309F472C01E9902C080E031C08091C5
+:101BC000360E882361F1E0916A0EF0916B0E8081F0
+:101BD0009181A281B381181619061A061B06FCF41E
+:101BE0008091210E9091220EA091230EB091240E8F
+:101BF00080933A0E90933B0EA0933C0EB0933D0E13
+:101C000081E08093390E80899189A289B38980937C
+:101C1000550E9093560EA093570EB093580E81E038
+:101C20008093360E3AC03323C1F140B151E042FBFC
+:101C3000442740F9452779F18091350E882359F1E1
+:101C4000E0916A0EF0916B0E80819181A281B38147
+:101C5000181619061A061B06F4F48091210E9091AD
+:101C6000220EA091230EB091240E80933A0E9093F1
+:101C70003B0EA0933C0EB0933D0E5093390E8089DD
+:101C80009189A289B3898093550E9093560EA093A3
+:101C9000570EB093580E4093350E21FF3BC03323AF
+:101CA00009F471C01D9902C080E031C08091340EEA
+:101CB000882361F1E0916A0EF0916B0E8481958129
+:101CC000A681B781181619061A061B06FCF4809126
+:101CD000250E9091260EA091270EB091280E80938C
+:101CE0003E0E90933F0EA093400EB093410E81E0C4
+:101CF0008093380E80899189A289B3898093550E8B
+:101D00009093560EA093570EB093580E81E0809397
+:101D1000340E39C03323B9F130B141E0369531701A
+:101D2000342779F18091330E882359F1E0916A0EBE
+:101D3000F0916B0E84819581A681B78118161906E2
+:101D40001A061B06F4F48091250E9091260EA091A0
+:101D5000270EB091280E80933E0E90933F0EA093D5
+:101D6000400EB093410E4093380E80899189A2892C
+:101D7000B3898093550E9093560EA093570EB0934F
+:101D8000580E3093330E9FB722FF47C0F8948091CE
+:101D90000B018B7F80930B019FBF8FEF8093990284
+:101DA00080919B02882309F47DC01C9902C080E0C9
+:101DB00031C08091320E882361F1E0916A0EF0917A
+:101DC0006B0E80859185A285B385181619061A06B3
+:101DD0001B06FCF48091290E90912A0EA0912B0EE7
+:101DE000B0912C0E8093420E9093430EA093440E1C
+:101DF000B093450E81E08093370E80899189A28946
+:101E0000B3898093550E9093560EA093570EB093BE
+:101E1000580E81E08093320E45C0F89480910B01FA
+:101E2000846080930B019FBF31E0309399028091D1
+:101E30009B028823B9F126B12095221F2227221F59
+:101E400079F18091310E882359F1E0916A0EF09179
+:101E50006B0E80859185A285B385181619061A0622
+:101E60001B06F4F48091290E90912A0EA0912B0E5E
+:101E7000B0912C0E8093420E9093430EA093440E8B
+:101E8000B093450E3093370E80899189A289B3892A
+:101E90008093550E9093560EA093570EB093580E04
+:101EA0002093310E8091690E9FB783FF09C0F8948B
+:101EB00080910B01806480930B019FBF8FEF08C05E
+:101EC000F89480910B018F7B80930B019FBF81E081
+:101ED00080939A0220E080914A0E28170CF0ADC141
+:101EE0008091C00087FF19C03091C60040911D0E3F
+:101EF00050911E0ECA0101968F77992760911F0E8F
+:101F00007091200E8617970741F0FA01E356F24FC1
+:101F1000308390931E0E80931D0EE0916A0EF09117
+:101F20006B0E8091650E9091660EA091670EB09138
+:101F3000680E4081518162817381840F951FA61FB5
+:101F4000B71F8093650E9093660EA093670EB093B3
+:101F5000680E181619061A061B06CCF5409AE09171
+:101F60006A0EF0916B0E8091650E9091660EA091B5
+:101F7000670EB091680E4089518962897389841B0C
+:101F8000950BA60BB70B8093650E9093660EA093EE
+:101F9000670EB093680E409197028091210E909148
+:101FA000220EA091230EB091240E552747FD509587
+:101FB000652F752F840F951FA61FB71F8093210EC5
+:101FC0009093220EA093230EB093240E4098E0919C
+:101FD0006A0EF0916B0E8091610E9091620EA0914D
+:101FE000630EB091640E4481558166817781840FC0
+:101FF000951FA61FB71F8093610E9093620EA0934A
+:10200000630EB093640E181619061A061B06CCF55B
+:10201000419AE0916A0EF0916B0E8091610E909161
+:10202000620EA091630EB091640E4089518962895D
+:102030007389841B950BA60BB70B8093610E90934D
+:10204000620EA093630EB093640E4091980280914B
+:10205000250E9091260EA091270EB091280E55279F
+:1020600047FD5095652F752F840F951FA61FB71F2D
+:102070008093250E9093260EA093270EB093280EE2
+:102080004198E0916A0EF0916B0E80915D0E9091F7
+:102090005E0EA0915F0EB091600E40855185628505
+:1020A0007385840F951FA61FB71F80935D0E9093B5
+:1020B0005E0EA0935F0EB093600E181619061A06F6
+:1020C0001B06CCF5429AE0916A0EF0916B0E80915E
+:1020D0005D0E90915E0EA0915F0EB091600E4089F2
+:1020E000518962897389841B950BA60BB70B80936A
+:1020F0005D0E90935E0EA0935F0EB093600E4091C4
+:1021000099028091290E90912A0EA0912B0EB091E8
+:102110002C0E552747FD5095652F752F840F951F61
+:10212000A61FB71F8093290E90932A0EA0932B0E03
+:10213000B0932C0E4298E0916A0EF0916B0E809154
+:10214000590E90915A0EA0915B0EB0915C0E448591
+:10215000558566857785840F951FA61FB71F8093C9
+:10216000590E90935A0EA0935B0EB0935C0E181606
+:1021700019061A061B06CCF5439AE0916A0EF091F7
+:102180006B0E8091590E90915A0EA0915B0EB091FA
+:102190005C0E4089518962897389841B950BA60B5B
+:1021A000B70B8093590E90935A0EA0935B0EB09389
+:1021B0005C0E40919A0280912D0E90912E0EA0916E
+:1021C0002F0EB091300E552747FD5095652F752F76
+:1021D000840F951FA61FB71F80932D0E90932E0E70
+:1021E000A0932F0EB093300E43988091550E90918E
+:1021F000560EA091570EB091580E0196A11DB11D1B
+:102200008093550E9093560EA093570EB093580E90
+:102210004091550E5091560E6091570E7091580E88
+:10222000E0916A0EF0916B0E80899189A289B38941
+:10223000481759076A077B07B0F04091550E509137
+:10224000560E6091570E7091580EE0916A0EF09103
+:102250006B0E84899589A689B78984179507A60787
+:10226000B70718F4D9C02F5F36CE4091510E509168
+:10227000520E6091530E7091540E048D158D268D63
+:10228000378DAA27419FB12D529FC001629F900DAB
+:10229000619F800D911D429FB00D811D9A1F519F1E
+:1022A000B00D811D9A1F609FB00D811D9A1F509F18
+:1022B000B10D8A1F9A1FB6958A1F9A1F112444AD2B
+:1022C00055AD480F591F50934C0E40934B0E80ADA7
+:1022D00091ADA2ADB3AD60E070E084179507A6079D
+:1022E000B70720F490934C0E80934B0E60914B0EE9
+:1022F00070914C0E61349CE9790728F461328EE4C8
+:10230000780748F002C060E47CE976956795769599
+:10231000679584E007C0613197E2790730F07695E0
+:10232000679582E080934A0E08C081E080934A0E50
+:102330006032710510F460E270E06052710961155D
+:1023400088E07807E0F0872F9927880F991F880F7A
+:10235000991F8258974EFC01329625913491AA27F5
+:10236000639FA001629F410D5A1F06944A1F5A1F86
+:102370001124FC0125913491241B350B1EC0CB0187
+:10238000969587958C7F82589B4EFC0125913491C0
+:102390000296FC0145915491FB01E770FF274E9F87
+:1023A000C0014F9F900D5E9F900D112413E09695F4
+:1023B00087951A95E1F7281B390B2436310598F4D7
+:1023C000EEEBF5E08191882339F09091C00095FF04
+:1023D000FCCF8093C600F6CF4AE050E08CE99DE048
+:1023E000A6D824E630E030938900209388008091BD
+:1023F000510E9091520EA091530EB091540E820F37
+:10240000931FA11DB11D8093510E9093520EA09366
+:10241000530EB093540EF7C04091550E5091560E86
+:102420006091570E7091580E808D918DA28DB38D55
+:1024300084179507A607B70708F0D9C040914D0E3D
+:1024400050914E0E60914F0E7091500E048D158D6F
+:10245000268D378DAA27419FB12D529FC001629FC3
+:10246000900D619F800D911D429FB00D811D9A1F9F
+:10247000519FB00D811D9A1F609FB00D811D9A1F45
+:10248000509FB10D8A1F9A1FB6958A1F9A1F11245B
+:1024900020914B0E30914C0EE05CFF4F281739070E
+:1024A00018F42081318102C0281B390B8081918171
+:1024B000A281B381A90160E070E0481759076A075B
+:1024C0007B0708F49C0121349CE9390728F4213268
+:1024D0008EE4380748F002C020E43CE936952795A1
+:1024E0003695279584E007C0213197E2390730F00F
+:1024F0003695279582E080934A0E08C081E080934C
+:102500004A0E2032310510F420E230E0B901605269
+:102510007109611588E07807E0F0872F9927880F07
+:10252000991F880F991F8258974EFC01329625916A
+:102530003491AA27639FA001629F410D5A1F069400
+:102540004A1F5A1F1124FC0125913491241B350B7D
+:102550001EC0CB01969587958C7F82589B4EFC01BF
+:10256000259134910296FC0145915491FB01E7704D
+:10257000FF274E9FC0014F9F900D5E9F900D11242D
+:1025800043E0969587954A95E1F7281B390B243649
+:102590003105A0F4EEEBF5E08191882339F09091BC
+:1025A000C00095FFFCCF8093C600F6CF4AE050E014
+:1025B0008CE99DE00E94978A24E630E03093890000
+:1025C0002093880080914D0E90914E0EA0914F0E59
+:1025D000B091500E820F931FA11DB11D80934D0E1F
+:1025E00090934E0EA0934F0EB093500E0CC080915E
+:1025F000480E9091490E90938900809388008091B5
+:10260000460E80934A0E4091550E5091560E6091A1
+:10261000570E7091580EE0916A0EF0916B0E808902
+:102620009189A289B389481759076A077B0780F007
+:1026300010926B0E10926A0E90916D0E80916C0E3E
+:10264000981731F080916C0E8F5F8F7080936C0EB5
+:10265000FF91EF91BF91AF919F918F917F916F917A
+:102660005F914F913F912F911F910F910F900BBE52
+:102670000F900FBE0F901F90189590916D0E809146
+:102680006C0E981741F00E94721E80E00E9438493B
+:102690000E949C76F2CF0895CF93DF93EFB7F89422
+:1026A000EC0188819981AA81BB818093210E90934E
+:1026B000220EA093230EB093240EEB018881998102
+:1026C000AA81BB818093250E9093260EA093270E9E
+:1026D000B093280EEA0188819981AA81BB818093F9
+:1026E000290E90932A0EA0932B0EB0932C0EE90185
+:1026F00088819981AA81BB8180932D0E90932E0EA3
+:10270000A0932F0EB093300EEFBFDF91CF910895BD
+:102710002FB7F894FC0180819181A281B3818093CD
+:102720002D0E90932E0EA0932F0EB093300E2FBF30
+:1027300008952FB7F89494E0899FF0011124EF5D7C
+:10274000F14F60817181828193812FBF089595DF60
+:10275000179A1092350A169A1092360A159A109204
+:10276000370A149A089580916F008D7F80936F00CF
+:1027700090916D0E80916C0E981769F090916D0E8E
+:1027800080916C0E9817A1F380916C0E8F5F8F7003
+:1027900080936C0EEDCF10926B0E10926A0E8091AA
+:1027A0006F00826080936F000895813039F120F0CE
+:1027B000823009F445C0089517988091090182700C
+:1027C0002FB7662329F0F89490910B01926004C012
+:1027D000F89490910B019D7F90930B012FBF409A2D
+:1027E00040989FB7882329F0F89480910B0182606C
+:1027F00048C0F89480910B018D7F43C0169880915A
+:10280000090181702FB7662329F0F89490910B018C
+:10281000916004C0F89490910B019E7F90930B01FE
+:102820002FBF419A41989FB7882329F0F89480914F
+:102830000B01816026C0F89480910B018E7F21C02E
+:1028400015988091090184702FB7662329F0F894B8
+:1028500090910B01946004C0F89490910B019B7FC0
+:1028600090930B012FBF429A42989FB7882329F07B
+:10287000F89480910B01846004C0F89480910B015E
+:102880008B7F80930B019FBF0895DB0181110DC0E9
+:102890002FEF30E00E94C2B220ED37E040E050E080
+:1028A0000E94A0B2B9018CE21DC0813069F42FEF03
+:1028B00030E00E94C2B220ED37E040E050E00E94DC
+:1028C000A0B2B9018DE20EC0823071F42FEF30E07A
+:1028D0000E94C2B220ED37E040E050E00E94A0B27A
+:1028E000B9018EE20C9447A7089561E08CE20E9442
+:1028F00051A861E08DE20E9451A861E08EE20E9441
+:1029000051A860919C0270919D0280E0BEDF6091B1
+:102910009E0270919F0281E0B8DFA091A002B09169
+:10292000A1022FEF30E00E94C2B220ED37E040E07C
+:1029300050E00E94A0B2B9018EE20E9447A7E1E2F6
+:10294000F1E08081887F816080830895CF93C42FD8
+:1029500067FD20C0813061F028F0823079F083304B
+:1029600099F018C088E20E948AA8C7FF1DC02AC03B
+:1029700085E40E948AA8C7FF1AC024C084E40E948C
+:102980008AA8C7FF17C01EC081E40E948AA8C7FF9B
+:1029900014C018C0C7FD16C0813049F028F082303D
+:1029A00049F0833051F00EC06C2F89E208C06C2FC3
+:1029B00087E205C06C2F83E402C06C2F82E4CF91C4
+:1029C0000C948AA8CF910895643079F028F461308E
+:1029D00041F0623041F00895683051F0603141F0CB
+:1029E000089540E003C040E004C041E060E002C060
+:1029F00041E061E0ABCFFF920F931F93CF93DF9342
+:102A000000D01F921F92CDB7DEB785E0EFE1F3E073
+:102A1000DE01119601900D928A95E1F761E088E25E
+:102A20000E9451A861E089E20E9451A861E085E41A
+:102A30000E9451A861E087E20E9451A861E084E40D
+:102A40000E9451A861E083E40E9451A861E081E402
+:102A50000E9451A861E082E40E9451A88E010F5F9C
+:102A60001F4FF12CF80161918F018F2DADDFF39491
+:102A7000F5E0FF12F7CF0F900F900F900F900F908F
+:102A8000DF91CF911F910F91FF9008952EDFB3DF5B
+:102A9000EAE0F1E0808182608083808181608083D0
+:102AA0008081846080838081806480830F9A179AFC
+:102AB0000E9A169A0D9A159A0C9A149A26982E9A8E
+:102AC00025982D9A24982C9A0A98129A0998119A66
+:102AD0003F98479A389A4098179A1092350A399A2F
+:102AE0004198169A1092360A3A9A4298159A10927C
+:102AF000370A3B9A4398149AA1E8B0E08C918F7EF4
+:102B00008C938C9188608C93E0E8F0E080818D7FDD
+:102B1000808380818E7F808380818F73808380819A
+:102B20008F7C80838C91887F82608C9380E090E49E
+:102B30009093890080938800109285001092840001
+:102B4000EFE6F0E080818260808381E080939B02E9
+:102B500078940895E5E2F4E18491882341F090911E
+:102B6000C00095FFFCCF8093C6003196F5CFE1E21F
+:102B7000F4E18491882341F09091C00095FFFCCF4F
+:102B80008093C6003196F5CF88E20E94BFA84AE044
+:102B900050E0BC018CE99DE00E945A8A89E20E94C3
+:102BA000BFA84AE050E0BC018CE99DE00E945A8A2F
+:102BB0008091C00085FFFCCF8AE08093C600EDE1E4
+:102BC000F4E18491882341F09091C00095FFFCCFFF
+:102BD0008093C6003196F5CF85E40E94BFA84AE0F5
+:102BE00050E0BC018CE99DE00E945A8A87E20E9475
+:102BF000BFA84AE050E0BC018CE99DE00E945A8ADF
+:102C00008091C00085FFFCCF8AE08093C600E9E197
+:102C1000F4E18491882341F09091C00095FFFCCFAE
+:102C20008093C6003196F5CF84E40E94BFA84AE0A5
+:102C300050E0BC018CE99DE00E945A8A83E40E9426
+:102C4000BFA84AE050E0BC018CE99DE00E945A8A8E
+:102C50008091C00085FFFCCF8AE08093C600E4E14C
+:102C6000F4E18491882341F09091C00095FFFCCF5E
+:102C70008093C6003196F5CF81E40E94BFA84AE058
+:102C800050E0BC018CE99DE00E945A8A82E40E94D7
+:102C9000BFA84AE050E0BC018CE99DE00E945A8A3E
+:102CA0008091C00085FFFCCF8AE08093C600089524
+:102CB000CF93DF931F92CDB7DEB72091B714309139
+:102CC000B814CE0101962115310519F0821B930B22
+:102CD00002C08D5B94410F90DF91CF9108952F92A8
+:102CE0003F924F925F926F927F928F929F92AF929C
+:102CF000BF92CF92DF92EF92FF920F931F93CF93E9
+:102D0000DF93CDB7DEB768970FB6F894DEBF0FBE7E
+:102D1000CDBF1C012A013B0148015901DC01D896B5
+:102D20006D917D918D919C91DB970E9440AF6B01DD
+:102D30007C01A30192010E9475B10E948DAE0E9498
+:102D400014AF69877A878B879C87A5019401C70197
+:102D5000B6010E9475B10E948DAE0E9414AF6D87BE
+:102D60007E878F87988B29853A854B855C852837A8
+:102D700031054105510540F488E790E0A0E0B0E05E
+:102D800089879A87AB87BC872D853E854F85588973
+:102D9000283731054105510540F488E790E0A0E06F
+:102DA000B0E08D879E87AF87B88B91012C5B3F4F3A
+:102DB000D9018D919D910D90BC91A02D8D839E8305
+:102DC000AF83B887BC01CD010E9442AF69837A838B
+:102DD0008B839C8369857A858B859C850E9440AF17
+:102DE000698B7A8B8B8B9C8B20E030E0A901698109
+:102DF0007A818B819C810E94A0AE882339F1A70142
+:102E00009601C701B6010E9475B14B015C01298989
+:102E10003A894B895C89CA01B9010E9475B19B014D
+:102E2000AC01C501B4010E94C6AD4B015C01298112
+:102E30003A814B815C81CA01B9010E94C7AD9B01F7
+:102E4000AC01C501B4010E94A7AE03C060E070E010
+:102E5000CB010E948DAE0E940FAF2B013C016D8112
+:102E60007E818F81988590958095709561957F4F33
+:102E70008F4F9F4F0E9442AF4B015C016D857E8555
+:102E80008F8598890E9440AF6D837E838F8398875A
+:102E900020E030E0A901C501B4010E94A0AE882362
+:102EA00049F12D813E814F815885CA01B9010E94A7
+:102EB00075B16D8B7E8B8F8B988FA7019601C701A3
+:102EC000B6010E9475B19B01AC016D897E898F8925
+:102ED000988D0E94C6AD6B017C01A5019401C501CE
+:102EE000B4010E94C7AD9B01AC01C701B6010E94AD
+:102EF000A7AE03C060E070E0CB010E947DAFF1019E
+:102F000080889188A288B38875016401C418D508A7
+:102F1000E608F7080E940FAFC61AD70AE80AF90AAE
+:102F2000F7FE6BC020E030E0A90169817A818B81D6
+:102F30009C810E94A0AE882309F447C029813A8170
+:102F40004B815C81CA01B9010E94C7AD6B017C0154
+:102F5000C501B4010E9440AF9B01AC01C701B6019D
+:102F60000E9475B16B017C0129893A894B895C8982
+:102F7000CA01B9010E9475B19B01AC01C701B6013C
+:102F80000E94C6AD6B017C012D813E814F81588529
+:102F9000CA01B9010E9475B19B01AC01C701B6011C
+:102FA0000E94C7AD6B017C0120E030E040E850E4B6
+:102FB00069817A818B819C810E9475B19B01AC01F2
+:102FC000C701B6010E94A7AE03C060E070E0CB016C
+:102FD0000E948DAE0E940FAF2B013C0197FF03C0F2
+:102FE000412C512C3201481459046A047B0410F01E
+:102FF00024013501C12CD12C76018FB7F894F10151
+:10300000E45BFF4F9081911125C0D10154964D9200
+:103010005D926D927C925797C40CD51CE61CF71CF0
+:10302000F101C08ED18EE28EF38E29853A854B85D3
+:103030005C85DC962D933D934D935C93DF97A05C6C
+:10304000BF4F2D853E854F8558892D933D934D93D8
+:103050005C9313978FBF68960FB6F894DEBF0FBED0
+:10306000CDBFDF91CF911F910F91FF90EF90DF9037
+:10307000CF90BF90AF909F908F907F906F905F9018
+:103080004F903F902F9008954F925F926F927F9252
+:10309000AF92BF92CF92DF92EF92FF920F931F9366
+:1030A000CF93DF93EB017A01209709F458C04115C3
+:1030B000510509F454C0AAA4BBA40CA51DA59501F3
+:1030C000A8016EA17FA188A599A50E94A0AE882322
+:1030D00009F445C08FA981113AC0F70146A057A055
+:1030E00060A471A4A3019201B501C8010E94A3B01C
+:1030F00018166CF5A3019201C301B2010E9475B1CB
+:103100006B017C018AA99BA9ACA9BDA9BC01CD0119
+:1031100090589B01AC010E94C7AD2EA53FA548A9C0
+:1031200059A90E9475B19B01AC01C701B6010E946B
+:10313000C6AD0E94E2B16B017C019B01AC01B501FF
+:10314000C8010E94A0AE87FD02C056018701A501FB
+:10315000B8014EA35FA368A779A781E08EABDF918A
+:10316000CF911F910F91FF90EF90DF90CF90BF9084
+:10317000AF907F906F905F904F900895DF92EF92A5
+:10318000FF920F931F93CF93DF9380916D0E8FB7B4
+:10319000F894E0906C0E8FBF80916D0E90E08E19C8
+:1031A00091098F7099270497F4F010916D0E1350C8
+:1031B0001F7040E050E000E0F12C8DE4D82E1E1589
+:1031C00091F0111101C010E11150D19EE0011124C4
+:1031D000C259D14F602F7F2DCE0156DF402F5F2D7A
+:1031E0000C2FFD2EECCFDF91CF911F910F91FF900F
+:1031F000EF90DF9008954F925F926F927F92AF921F
+:10320000BF92CF92DF92EF92FF920F931F93CF93D3
+:10321000DF938C01EB01009709F453C0FC0187A9EF
+:1032200081114FC046A057A060A471A4AEA0BFA05A
+:10323000C8A4D9A49501A601C301B2010E94A0AE01
+:1032400087FF3FC0A3019201C301B2010E9475B183
+:103250002B013C01F80182A993A9A4A9B5A9BC013D
+:10326000CD0190589B01AC010E94C7ADF80126A585
+:1032700037A540A951A90E9475B19B01AC01C301BA
+:10328000B2010E94C6AD0E94E2B17B018C019B019C
+:10329000AC01B501C6010E94A0AE87FF02C0750156
+:1032A00086019701A801B501C6010E94A0AE88233E
+:1032B00041F0A701B8014EA35FA368A779A781E0F9
+:1032C0008EABDF91CF911F910F91FF90EF90DF9028
+:1032D000CF90BF90AF907F906F905F904F90089588
+:1032E000EF92FF920F931F93CF93DF93F0906C0EAA
+:1032F00000E010E080E090E02DE4E22E20916D0EE1
+:10330000F21689F0EF9CE0011124C259D14FAE01B1
+:10331000B80171DF81E08F0D803109F480E0F82E73
+:10332000C8018E01EBCF40E050E0B801DF91CF91B2
+:103330001F910F91FF90EF905ECF4F925F926F922F
+:103340007F928F929F92AF92BF92CF92DF92EF9235
+:10335000FF920F931F93CF93DF9390906C0EC0E07A
+:10336000D0E03DE4832E892D992787FD909520910B
+:103370006D0E30E082179307B9F1889E5001899E47
+:10338000B00C1124C5018259914F5C01209729F19D
+:103390008EA9811104C0F50186A98823F1F0CAA085
+:1033A000DBA0ECA0FDA0A7019601F50166A177A125
+:1033B00080A591A50E94A7AE2B013C01A701960113
+:1033C0006EA17FA188A599A50E94A7AEAB01BC0103
+:1033D00093018201CE0183DC1EAA9394F0E19F1237
+:1033E00001C0912CE501BFCF2097E9F0CAA0DBA076
+:1033F000ECA0FDA0A70196016DEC7CEC8CE49DE3B4
+:103400000E94A7AE4B015C01A70196016EA17FA1AE
+:1034100088A599A50E94A7AEAB01BC0195018401C6
+:10342000CE015DDC1EAADF91CF911F910F91FF901D
+:10343000EF90DF90CF90BF90AF909F908F907F9054
+:103440006F905F904F90089599DE4ADF76CF10928B
+:103450006D0E10926C0E80E1E5E5F3E1DF011D9247
+:103460008A95E9F71092451310924613109247136C
+:10347000109248131092491310924A1310924B1352
+:1034800010924C1310924D1310924E1310924F1332
+:103490001092501310925113109252131092531312
+:1034A000109254131092411310924213109243132E
+:1034B00010924413089560912E0A90916C0E8091A1
+:1034C0006D0E981781F080916C0E9DE4899FF0013C
+:1034D0001124EA54F14F608190916D0E891719F013
+:1034E0008F5F8F70F9CF70E088E00C9447A72F9220
+:1034F0003F924F925F926F927F928F929F92AF9284
+:10350000BF92CF92DF92EF92FF920F931F93CF93D0
+:10351000DF93CDB7DEB7CC56D1090FB6F894DEBF36
+:103520000FBECDBF3C015B014A012901E8A6F8AE00
+:1035300025960FAF25971CAF860120916D0E2F5F4A
+:1035400029962FAF2997203119F429961FAE299774
+:1035500029963FAD2997E32EFF24E7FCF094809154
+:103560006C0E90E08E159F0541F40E94721E80E063
+:103570000E9438490E949C76F2CF2091A11330918D
+:10358000A2134091A3135091A413D3016D917D9187
+:103590008D919C910E9475B10E9445B169966CAF66
+:1035A0007DAF8EAF9FAF69972091A5133091A61381
+:1035B0004091A7135091A813F50160817181828118
+:1035C00093810E9475B10E9445B16D966CAF7DAF3D
+:1035D0008EAF9FAF6D972091A9133091AA134091A0
+:1035E000AB135091AC13D4016D917D918D919C9151
+:1035F0000E9475B10E9445B1A1966CAF7DAF8EAFB0
+:103600009FAFA1972091AD133091AE134091AF13AE
+:103610005091B013F20160817181828193810E9487
+:1036200075B10E9445B124966CAF7DAF8EAF9FAF50
+:1036300024978091611390916213A0916313B091CC
+:10364000641324962CAD3DAD4EAD5FAD2497281785
+:1036500039074A075B0709F4ADC0E091300A34E04E
+:10366000E39FF0011124E05CF74F2091A20230911A
+:10367000A3024091A4025091A502608171818281D0
+:1036800093810E94A0AE87FF2FC024968CAD9DAD84
+:10369000AEADBFAD24978093611390936213A09356
+:1036A0006313B0936413EFE2FEE08491882341F04A
+:1036B0009091C00095FFFCCF8093C6003196F5CF66
+:1036C000ECE9FCE18491882341F09091C00095FFE2
+:1036D000FCCF8093C6003196F5CF8091C00085FF66
+:1036E000FCCF8AE08093C6008091611390916213B1
+:1036F000A0916313B091641324962CAD3DAD4EADF3
+:103700005FAD2497281B390B4A0B5B0BCA01B9012B
+:1037100057FF07C090958095709561957F4F8F4FAB
+:103720009F4F0E9442AF6B017C0120E030E04EECE5
+:1037300053E46091AD137091AE138091AF139091EB
+:10374000B0130E9475B19B01AC01C701B6010E9484
+:10375000A3B018167CF524968CAD9DADAEADBFAD73
+:1037600024978093611390936213A0936313B09393
+:103770006413EFE2FEE08491882341F09091C00051
+:1037800095FFFCCF8093C6003196F5CFEEE7FCE1C4
+:103790008491882341F09091C00095FFFCCF8093E5
+:1037A000C6003196F5CF8091C00085FFFCCF8AE03E
+:1037B0008093C60080916D0E9DE4899F10011124B5
+:1037C000D101A259B14F1D01FD01E45BFF4F1082F1
+:1037D000209155133091561340915713509158131F
+:1037E0002BA33CA34DA35EA369964CAC5DAC6EAC21
+:1037F0007FAC6997421A530A640A750A77FE08C0BB
+:103800007094609450944094411C511C611C711C34
+:10381000D1014D925D926D927C9213972091591334
+:1038200030915A1340915B1350915C132CAB3DAB1C
+:103830004EAB5FAB6D968CAC9DACAEACBFAC6D9738
+:10384000821A930AA40AB50AB7FE08C0B094A094DD
+:1038500090948094811C911CA11CB11CD1011496E0
+:103860008D929D92AD92BC92179720915D133091ED
+:103870005E1340915F13509160132CA73DA74EA794
+:103880005FA7A196CCACDDACEEACFFACA197C21AA1
+:10389000D30AE40AF50AF7FE08C0F094E094D09445
+:1038A000C094C11CD11CE11CF11CD1011896CD9211
+:1038B000DD92ED92FC921B9720916113309162137F
+:1038C000409163135091641328AB39AB4AAB5BABA7
+:1038D00024966CAD7DAD8EAD9FAD2497621B730BAE
+:1038E000840B950B97FF07C0909580957095619517
+:1038F0007F4F8F4F9F4F0E9442AFE091300A34E0DC
+:10390000E39FF0011124E15BFD4F20813181428171
+:1039100053810E9475B10E940FAF9B01AC01A09131
+:103920005B02B0915C020E94D2B224E630E040E03B
+:1039300050E00E94A0B2D1011C962D933D934D936F
+:103940005C931F97C814D904EA04FB0414F47501AE
+:103950006401C216D306E406F50614F469017A017F
+:10396000D301C2014C145D046E047F0414F4D7012A
+:10397000C601F101808B918BA28BB38B0697A105B9
+:10398000B10508F461C7E85BFF4F80912E0A909162
+:103990002F0AAA2797FDA095BA2F80839183A2832F
+:1039A000B38369962CAD3DAD4EAD5FAD69978BA1EC
+:1039B0009CA1ADA1BEA1281739074A075B0724F0D7
+:1039C000D10190961C9203C081E0F10180A36D9615
+:1039D0002CAD3DAD4EAD5FAD6D978CA99DA9AEA947
+:1039E000BFA9281739074A075B073CF4D101909615
+:1039F0008C919097826090968C93A1962CAD3DAD62
+:103A00004EAD5FADA1978CA59DA5AEA5BFA528170E
+:103A100039074A075B073CF4D10190968C91909747
+:103A2000846090968C9324962CAD3DAD4EAD5FADE9
+:103A3000249788A999A9AAA9BBA9281739074A07D1
+:103A40005B073CF4D10190968C919097886090969A
+:103A50008C93F8018081D10191968C93452846285A
+:103A6000472809F01798F10184819581A681B781D3
+:103A7000892B8A2B8B2B09F01698F1018085918573
+:103A8000A285B385892B8A2B8B2B09F01598F10120
+:103A900084859585A685B785892B8A2B8B2B69F123
+:103AA00080913E13882319F0815080933E138091BA
+:103AB0003F13882319F0815080933F138091401366
+:103AC000882319F0815080934013D8018C91813064
+:103AD00061F030F0823089F480E28093401308C0B6
+:103AE000149880E280933E1308C080E280933F13D5
+:103AF00080913E13811101C0149AD1011C962D9121
+:103B00003D914D915C911F972D962CAF3DAF4EAFDF
+:103B10005FAF2D97232B242B252B09F5B09175131F
+:103B2000BBA3E0917613EFA3109177130091781364
+:103B30002B2F3E2F412F502F68A578AD25968FADA6
+:103B400025979CAD0E94A0AE87FD16C0F8A5FBA3EB
+:103B500028AD2FA325961FAD25970CAD0DC0309134
+:103B60008D133BA340918E134FA310918F1300919F
+:103B70009013232F342FDECF80915513909156133D
+:103B8000A0915713B091581369962CAD3DAD4EAD31
+:103B90005FAD6997281B390B4A0B5B0BCA01B90152
+:103BA0000E9442AF2091A1133091A2134091A31320
+:103BB0005091A4130E94A7AE68A779A78AA79BA7D4
+:103BC000698B7A8B8B8B9C8B6D966CAD7DAD8EAD3E
+:103BD0009FAD6D972CA93DA94EA95FA9621B730BE0
+:103BE000840B950B0E9442AF2091A5133091A61330
+:103BF0004091A7135091A8130E94A7AE4B015C01FE
+:103C00006D8B7E8B8F8B988FA1966CAD7DAD8EADBD
+:103C10009FADA1972CA53DA54EA55FA5621B730B7B
+:103C2000840B950B0E9442AF2091A9133091AA13E7
+:103C30004091AB135091AC130E94A7AE6B017C0175
+:103C4000698F7A8F8B8F9C8F24966CAD7DAD8EADF6
+:103C50009FAD249728A939A94AA95BA9621B730BB8
+:103C6000840B950B0E9442AF2091AD133091AE139F
+:103C70004091AF135091B0130E94A7AEE091300A6B
+:103C800034E0E39FF0011124E15BFD4F208131819D
+:103C9000428153810E9475B12B013C0160915B020E
+:103CA00070915C02882777FD8095982F0E9442AF23
+:103CB0009B01AC01C301B2010E9475B120E030E06C
+:103CC00048EC52E40E94A7AE6D8F7E8F8F8F98A331
+:103CD000D1012D913D914D915C91139728AF39AF52
+:103CE0004AAF5BAF263031054105510504F5149606
+:103CF0004D905D906D907C901797B6E04B165104F7
+:103D000061047104A4F4F1014084518462847384D9
+:103D1000F6E04F165104610471044CF4DC01CB0150
+:103D2000BF77F10186A797A7A0ABB1AB27C068A565
+:103D300079A58AA59BA50E9420B22B013C01C50153
+:103D4000B4010E9420B29B01AC01C301B2010E94E8
+:103D5000C7AD4B015C01C701B6010E9420B29B01B7
+:103D6000AC01C501B4010E94C7AD0E94E2B1D1010E
+:103D70009E966D937D938D939C93D197D1019E9642
+:103D80002D913D914D915C91D19728962CAF3DAFEF
+:103D90004EAF5FAF289760E070E080E89FE30E943D
+:103DA000A7AE9B01AC016BA17FA1812F902F0E9438
+:103DB00075B12B013C0190916D0E80916C0EE92F35
+:103DC000F0E0E81BF109EF70FF27FDABECABA301BE
+:103DD000920160E074E284E799E40E94A7AE0E9439
+:103DE00045B16B017C012CA93DA9223031050CF4B1
+:103DF00042C04901AA2497FCA094BA2CC501B40181
+:103E00000E9442AF20E030E040E051E40E94A0AECA
+:103E100087FF31C08091C1139091C213A091C31349
+:103E2000B091C413C816D906EA06FB0620F5BC01FA
+:103E3000CD016C197D098E099F09660F771F881FB8
+:103E4000991FA50194010E947EB2CA01B9010E9486
+:103E500040AF0E9445B16C0D7D1D8E1D9F1D0E94BF
+:103E600040AF9B01AC0160E074E284E799E40E94FA
+:103E7000A7AE2B013C01A301920128966CAD7DAD4C
+:103E80008EAD9FAD28970E9475B16CAF7DAF8EAFA0
+:103E90009FAFD10192966D937D938D939C9395974F
+:103EA00050966D917D918D919C9153970E9440AF5A
+:103EB0006BA37CA38DA39EA3A30192010E9475B165
+:103EC0000E948DAE0E9414AF6B017C01F10160AFC6
+:103ED00071AF82AF93AF8E010F5E1F4F21EB33E1C5
+:103EE00065963FAF2EAF6597AE014F5D5F4F5AA30A
+:103EF00049A3CE01019663969FAF8EAF63971FA231
+:103F00001CA690E898ABAFE3A8A7F8016191719166
+:103F1000819191918F01A30192010E9475B16396E5
+:103F2000AEADBFAD63976D937D938D939D93639677
+:103F3000BFAFAEAF63979B01AC015F7761962CAFCB
+:103F40003DAF4EAF5FAF61976596AEADBFAD6597C4
+:103F50008D909D90AD90BD906596BFAFAEAF6597CB
+:103F6000A501940161966CAD7DAD8EAD9FAD61975D
+:103F70000E94A3B01816F4F461962CAD3DAD4EAD81
+:103F80005FAD6197C501B4010E94A7AEB62EA72E02
+:103F9000982E892E262F372F482F592F6FA17CA5B9
+:103FA00088A998A50E94A0AE87FD04C0BFA2ACA6B8
+:103FB00098AA88A6E9A1FAA10E171F0709F0A5CFB4
+:103FC00020E030E040E85FE36FA17CA588A998A5D8
+:103FD0000E94A0AE87FF3DC05E01F1E1AF0EB11CB3
+:103FE0008E010F5F1F4F2FA13CA548A958A5D801EE
+:103FF0006D917D918D919C910E9475B1F8016193B5
+:104000007193819391938F01EA15FB0561F72FA1BD
+:104010003CA548A958A56CAD7DAD8EAD9FAD0E9465
+:1040200075B1D10192966D937D938D939C939597E5
+:10403000C701B6010E9440AF2FA13CA548A958A5D1
+:104040000E9475B10E9414AFF10160AF71AF82AFF1
+:1040500093AF28962CAD3DAD4EAD5FAD28976BA1CB
+:104060007CA18DA19EA10E94A7AE6B017C0128AD11
+:1040700039AD4AAD5BAD232B242B252B59F5F1012E
+:1040800084819581A681B781892B8A2B8B2B11F591
+:1040900080859185A285B385892B8A2B8B2BD1F4C2
+:1040A0002091851330918613409187135091881386
+:1040B000C701B6010E9475B10E948DAE81010C5BF3
+:1040C0001F4F0E9414AFD8016D937D938D939C93E5
+:1040D0001397F6C02091891330918A1340918B1366
+:1040E00050918C13C701B6010E9475B10E948DAE2C
+:1040F0000E9414AF81010C5B1F4FF8016083718334
+:104100008283938340906513509066136090671389
+:10411000709068130E9440AF4B015C0168AD79ADAF
+:104120008AAD9BAD0E9442AF9B01AC01C501B401B9
+:104130000E9475B12BA13CA14DA15EA10E94A7AE2A
+:104140004B015C01C301B2010E9440AF9B01AC0175
+:10415000C501B4010E94A3B0181634F4D8014D92E1
+:104160005D926D927C9213974090691350906A1300
+:1041700060906B1370906C13F80160817181828183
+:1041800093810E9440AF4B015C01D10114966D9167
+:104190007D918D919C9117970E9442AF9B01AC013C
+:1041A000C501B4010E9475B12BA13CA14DA15EA136
+:1041B0000E94A7AE4B015C01C301B2010E9440AF57
+:1041C0009B01AC01C501B4010E94A3B018162CF4E8
+:1041D000F801408251826282738240907113509044
+:1041E0007213609073137090741381010C5B1F4FF6
+:1041F000D8016D917D918D919C910E9440AF4B01B2
+:104200005C012D966CAD7DAD8EAD9FAD2D970E945E
+:1042100042AF9B01AC01C501B4010E9475B12BA155
+:104220003CA14DA15EA10E94A7AE4B015C01C30160
+:10423000B2010E9440AF9B01AC01C501B4010E94D4
+:10424000A3B018162CF4F801408251826282738266
+:1042500040906D1350906E1360906F1370907013B8
+:10426000D8016D917D918D919C910E9440AF4B0141
+:104270005C01F10160857185828593850E9442AF62
+:104280009B01AC01C501B4010E9475B12BA13CA1F9
+:104290004DA15EA10E94A7AE4B015C01C301B2011A
+:1042A0000E9440AF9B01AC01C501B4010E94A3B0C4
+:1042B000181634F4D8014D925D926D927C9213974A
+:1042C000F101EC5BFF4F60817181828193810E94DB
+:1042D00040AF4B015C01A70196010E94A7AEA596D5
+:1042E0006CAF7DAF8EAF9FAFA597F10162AB73ABA3
+:1042F00084AB95AB2DEB37E346E051E4C501B40147
+:104300000E9475B10E940FAFD1015C966D937D93B1
+:104310008D939C935F97C0908113D0908213E0900F
+:104320008313F090841320E030E040E05FE3C701A6
+:10433000B6010E9475B16BA37FA38C0129853A85D4
+:104340004B855C85A9962CAF3DAF4EAF5FAFA9976B
+:1043500080917D1390917E13A0917F13B091801373
+:104360008CAF9DAFAEAFBFAF20E030E040E05FE389
+:10437000BC01CD010E9475B1B62EA72E982E892EB4
+:10438000A9966CAD7DAD8EAD9FADA9979F772B2D76
+:104390003A2D492D582D0E94A3B018167CF42B2DD0
+:1043A0003A2D492D582D6BA17FA1C8010E94A0AEC6
+:1043B00087FD04C0BBA2AFA2092D182D2D853E8517
+:1043C0004F855889AD962CAF3DAF4EAF5FAFAD97DF
+:1043D0008091791390917A13A0917B13B0917C1303
+:1043E0002D968CAF9DAFAEAFBFAF2D9720E030E0E4
+:1043F00040E05FE3BC01CD010E9475B1B62EA72E4F
+:10440000982E892EAD966CAD7DAD8EAD9FADAD97DE
+:104410009F772B2D3A2D492D582D0E94A3B01816A9
+:104420007CF42B2D3A2D492D582D6BA17FA1C8016D
+:104430000E94A0AE87FD04C0BBA2AFA2092D182D1B
+:10444000D1019296BC91BCA7F101F3A1F8ABD101C7
+:104450009496BC91B8A7F101F5A1F8AF2CA538A9A5
+:104460004B2F5F2F6BA17FA1C8010E94A0AE87FDDB
+:1044700006C02CA52BA338A93FA308A518AD4CA9AD
+:104480005DA9423051050CF405C1509141135CAB5C
+:10449000809142132E968FAF2E9790914313629680
+:1044A0009FAF6297A09144136496AFAF649727E1E2
+:1044B00037EB41ED58E36CA9782F892F9A2F0E9492
+:1044C000A3B018160CF0E6C02091451330914613A6
+:1044D000409147135091481369817A818B819C8167
+:1044E0000E94C6AD2B013C012091491330914A1323
+:1044F00040914B1350914C136D817E818F81988533
+:104500000E94C6AD4B015C01A3019201C301B2013F
+:104510000E9475B12B013C01A5019401C501B401B4
+:104520000E9475B19B01AC01C301B2010E94C7ADED
+:104530000E94E2B14B015C01A70196010E94A3B069
+:1045400018164CF4A5019401C701B6010E94A7AE4C
+:104550005B014C0106C0A12CB12C40E8842E5FE326
+:10456000952E20914D1330914E1340914F13509141
+:104570005013A9966CAD7DAD8EAD9FADA9970E94ED
+:10458000C6AD6B017C01E894F7F82CAD3DAD4EADA6
+:104590005FADC701B6010E94A3B01816D4F4A701FD
+:1045A00096016CAD7DAD8EAD9FAD0E94A7AEF62E8F
+:1045B000E72ED82EC92E262F372F482F592FB50179
+:1045C000C4010E94A0AE87FD04C0AF2CBE2C8D2C70
+:1045D0009C2C2091511330915213409153135091C0
+:1045E0005413AD966CAD7DAD8EAD9FADAD970E9471
+:1045F000C6AD6B017C01E894F7F82D962CAD3DAD6E
+:104600004EAD5FAD2D97C701B6010E94A3B018163D
+:10461000E4F4A70196012D966CAD7DAD8EAD9FADF6
+:104620002D970E94A7AEF62EE72ED82EC92E262F44
+:10463000372F482F592FB501C4010E94A0AE87FD26
+:1046400004C0AF2CBE2C8D2C9C2C9501A4016CA514
+:1046500078A988A598AD0E9475B14B015C019B01BA
+:10466000AC016CA92E967FAD2E9762968FAD6297A6
+:1046700064969FAD64970E94A0AE87FF0EC08CA881
+:104680002E969FAC2E976296AFAC62976496BFACA5
+:10469000649703C08BA09FA05801C401D501F1010C
+:1046A00082A793A7A4A7B5A7A5966CAD7DAD8EAD47
+:1046B0009FADA59790589B01AC010E94C7AD28966D
+:1046C0002CAD3DAD4EAD5FAD28970E9475B19B01FD
+:1046D000AC016BE077ED83E29BE30E94C6AD0E94E4
+:1046E000E2B17B01D82EC92E9B01482F592FB4016E
+:1046F000C5010E94A0AE87FD03C04701AD2CBC2CB4
+:10470000C401D501F10186A397A3A0A7B1A7970182
+:104710004D2D5C2D6CA578A988A598AD0E94A0AE02
+:1047200018162CF081E0D101D7968C9302C0F101CC
+:1047300017AA81E0D101D6968C9380E1FE013196D3
+:10474000A5E4B3E101900D928A95E1F78CA598A9B3
+:10475000A8A5B8AD8093411390934213A09343133F
+:10476000B09344139C01AD016BA17FA1C8010E94CD
+:10477000A7AE6B017C012CA538A948A558ADB401A2
+:10478000C5010E94A7AEAB01BC0197018601C10122
+:104790000E946F962996BFAD2997B0936D0E6996CA
+:1047A0002CAD3DAD4EAD5FAD699720935513309361
+:1047B000561340935713509358136D968CAD9DAD7F
+:1047C000AEADBFAD6D978093591390935A13A093DC
+:1047D0005B13B0935C13A1962CAD3DAD4EAD5FADB8
+:1047E000A19720935D1330935E1340935F13509312
+:1047F000601324968CAD9DADAEADBFAD2497809374
+:10480000611390936213A0936313B09364130E9497
+:10481000249AC459DF4F0FB6F894DEBF0FBECDBF48
+:10482000DF91CF911F910F91FF90EF90DF90CF908C
+:10483000BF90AF909F908F907F906F905F904F90C0
+:104840003F902F900C94F48BC459DF4F0FB6F8941F
+:10485000DEBF0FBECDBFDF91CF911F910F91FF90B3
+:10486000EF90DF90CF90BF90AF909F908F907F9010
+:104870006F905F904F903F902F900895EF92FF922E
+:104880000F931F93CF93DF937B018A01E90120915E
+:10489000A1133091A2134091A3135091A413FC01D2
+:1048A00060817181828193810E9475B10E9445B1BE
+:1048B0006093551370935613809357139093581326
+:1048C0002091A5133091A6134091A7135091A813DE
+:1048D000F70160817181828193810E9475B10E948C
+:1048E00045B16093591370935A1380935B1390935F
+:1048F0005C132091A9133091AA134091AB135091EE
+:10490000AC13F80160817181828193810E9475B13D
+:104910000E9445B160935D1370935E1380935F13A3
+:10492000909360132091AD133091AE134091AF136B
+:104930005091B013688179818A819B810E9475B101
+:104940000E9445B160936113709362138093631367
+:104950009093641321E633E14DE553E169E573E19A
+:1049600085E593E10E944C931092411310924213FB
+:104970001092431310924413109245131092461351
+:1049800010924713109248131092491310924A1331
+:1049900010924B1310924C1310924D1310924E1311
+:1049A00010924F13109250131092511310925213F1
+:1049B0001092531310925413DF91CF911F910F91C6
+:1049C000FF90EF9008952091AD133091AE13409178
+:1049D000AF135091B013FC0160817181828193818A
+:1049E0000E9475B10E9445B1609361137093621388
+:1049F000809363139093641381E693E10C948893FE
+:104A000080916D0E90916C0E891B8F70089560934C
+:104A1000A2027093A3028093A4029093A50208952A
+:104A2000CF92DF92EF92FF920F931F93CF93DF937A
+:104A300000D01F92CDB7DEB7F1E9CF2EF3E1DF2E24
+:104A4000A1EAEA2EA3E1FA2E05E613E1F60161914F
+:104A50007191819191916F01F70121913191419172
+:104A600051917F0129833A834B835C830E9440AF3D
+:104A700029813A814B815C810E9475B10E9414AFFB
+:104A8000F80161937193819391938F01F1EACF16AD
+:104A9000F3E1DF06D9F60F900F900F900F90DF91A2
+:104AA000CF911F910F91FF90EF90DF90CF900895DD
+:104AB0008091F41390E02091F513821B91090895E1
+:104AC0002091F5138091F413281750F4E22FF0E0B1
+:104AD000EA50FC4E808190E02F5F2093F5130895FB
+:104AE0008FEF9FEF0895E091F5138091F413E8178D
+:104AF00030F4F0E0EA50FC4E808190E008958FEFB2
+:104B00009FEF08950895CF92DF92EF92FF920F9357
+:104B10001F93CF93DF937C01CB018A012091D113A6
+:104B2000222389F0EB016B01C40ED51ECC15DD05E7
+:104B300061F06991D701ED91FC910190F081E02D38
+:104B4000C7011995F3CF642F4BD0C801DF91CF91E6
+:104B50001F910F91FF90EF90DF90CF900895CF932A
+:104B6000DF931F92CDB7DEB769832091D113222343
+:104B7000D1F02091D213203240F021E030E0FC014E
+:104B80003383228380E090E014C08091D313E82F18
+:104B9000F0E0EC52FC4E998190838F5F8093D313A9
+:104BA0008093D21304C061E0CE01019619D081E058
+:104BB00090E00F90DF91CF910895FC011382128253
+:104BC00048EE53E060E070E044835583668377836A
+:104BD00086ED95E091838083089585EC93E1EDCF98
+:104BE000613298F420918314243089F4609338144E
+:104BF000FC018AE394E1DC012A2F281B261718F414
+:104C000021912D93F9CF80E0089581E0089582E00D
+:104C1000089585ED8093BC008091BC0084FDFCCF9D
+:104C200010928314089585EC8093BC001092831435
+:104C300008951F920F920FB60F9211240BB60F9288
+:104C40002F933F934F935F936F937F938F939F9394
+:104C5000AF93BF93EF93FF938091B900887F803625
+:104C600009F49CC068F5883209F45BC090F4803187
+:104C700009F454C038F4882309F4F3C0883009F4E7
+:104C80004DC0F2C0883109F44CC0803209F45DC0D7
+:104C9000EBC0803409F468C048F4803309F455C08F
+:104CA000883309F0E1C080931614A7C0803509F459
+:104CB0004FC0883509F45DC0883409F0D5C0D3C031
+:104CC000883909F4C4C0A8F4883709F467C038F4F7
+:104CD000883609F463C0803709F460C0C5C08838DD
+:104CE00009F4B5C0803909F45FC0803809F0BCC050
+:104CF0005BC0803B09F483C038F4803A09F466C095
+:104D0000883A09F47CC0B0C0803C09F4A4C0883C57
+:104D100009F4A1C0883B09F487C0A6C08091821421
+:104D200010C090915B1480915A14981770F5E0911F
+:104D30005B1481E08E0F80935B14F0E0E45AFB4E2D
+:104D400080818093BB0085EC83C0809316148BC058
+:104D5000E0915B1481E08E0F80935B148091BB0027
+:104D6000F0E0E45AFB4E808390915B1480915A14DA
+:104D70006BC0E0915B1481E08E0F80935B14809197
+:104D8000BB00F0E0E45AFB4E8083809181148111D6
+:104D90006AC081E08093801484EA5EC083E08093DF
+:104DA000831410921714CFCF80911714803208F01B
+:104DB0004EC0E091171481E08E0F809317148091FC
+:104DC000BB00F0E0E85EFB4E8083BDCF80911714FE
+:104DD000803230F4E0911714F0E0E85EFB4E108270
+:104DE00018DF6091171470E0E0917C14F0917D144D
+:104DF00088E194E119951092171415DF35C084E00D
+:104E0000809383141092391410923814E0917E1418
+:104E1000F0917F14199580913814811105C081E0BB
+:104E20008093381410923A14E091391481E08E0F77
+:104E300080933914F0E0E65CFB4E80818093BB00E8
+:104E40009091391480913814981708F47CCF85E834
+:104E50008093BC0009C085EC8093BC001092831441
+:104E600003C010921614D5DEFF91EF91BF91AF9160
+:104E70009F918F917F916F915F914F913F912F9172
+:104E80000F900BBE0F900FBE0F901F9018951F93A1
+:104E9000CF93DF93182FEB0161E003D1209711F43A
+:104EA00060E004C0CF3FD10531F461E0812FDF9194
+:104EB000CF911F912FC1E12FF0E0EA54F34E4491BE
+:104EC00050E0FA013197E131F10508F091C0E35863
+:104ED000FF4F0C94BCB284B5806884BDC7BD8DC043
+:104EE00084B5806284BDC8BD88C080918000806820
+:104EF00080938000D0938900C09388007EC0809109
+:104F00008000806280938000D0938B00C0938A00E1
+:104F100074C08091B00080688093B000C093B300EB
+:104F20006CC08091B00080628093B000C093B400E8
+:104F300064C080919000806880939000D093990025
+:104F4000C09398005AC08091900080628093900036
+:104F5000D0939B00C0939A0050C0809190008860CD
+:104F600080939000D0939D00C0939C0046C0809198
+:104F7000A00080688093A0008091A0008F7B809328
+:104F8000A000D093A900C093A80037C08091A000D2
+:104F900080628093A000D093AB00C093AA002DC084
+:104FA0008091A00088608093A000D093AD00C09352
+:104FB000AC0023C080912001806880932001D093B1
+:104FC0002901C093280119C080912001806280933B
+:104FD0002001D0932B01C0932A010FC080912001A2
+:104FE000886080932001D0932D01C0932C0105C0CF
+:104FF000C038D1050CF059CF53CFDF91CF911F911D
+:10500000089590E0FC013197E131F10508F048C0C6
+:10501000E257FF4F0C94BCB2809180008F7703C0A1
+:10502000809180008F7D80938000089584B58F7774
+:1050300002C084B58F7D84BD08958091B0008F77C4
+:1050400003C08091B0008F7D8093B000089580915F
+:1050500090008F7707C0809190008F7D03C0809172
+:105060009000877F8093900008958091A0008F77B3
+:1050700007C08091A0008F7D03C08091A000877F32
+:105080008093A0000895809120018F7707C08091C0
+:1050900020018F7D03C080912001877F80932001B4
+:1050A0000895CF93DF9390E0FC01E45FF24E2491EA
+:1050B000FC01EE59F24E8491882349F190E0880F6B
+:1050C000991FFC01E451F24EA591B4918E52924E7B
+:1050D000FC01C591D4919FB7611108C0F8948C91DF
+:1050E000209582238C93888182230AC0623051F4F8
+:1050F000F8948C91322F309583238C938881822B66
+:10510000888304C0F8948C91822B8C939FBFDF918D
+:10511000CF9108950F931F93CF93DF931F92CDB735
+:10512000DEB7282F30E0F901EA54F34E8491F901FB
+:10513000E45FF24E1491F901EE59F24E049100230E
+:10514000C1F0882319F069835CDF6981E02FF0E00A
+:10515000EE0FFF1FEE52F24EA591B4919FB7F89457
+:105160008C91611103C01095812301C0812B8C9318
+:105170009FBF0F90DF91CF911F910F910895CF9313
+:10518000DF93282F30E0F901EA54F34E8491F901BE
+:10519000E45FF24ED491F901EE59F24EC491CC2362
+:1051A00089F081112EDFEC2FF0E0EE0FFF1FE854A5
+:1051B000F24EA591B4912C912D2381E090E021F441
+:1051C00080E002C080E090E0DF91CF9108951F92CF
+:1051D0000F920FB60F9211242F933F938F939F93AB
+:1051E000AF93BF938091851490918614A0918714FA
+:1051F000B09188143091841423E0230F2D3720F4CC
+:105200000196A11DB11D05C026E8230F0296A11D20
+:10521000B11D209384148093851490938614A093D9
+:105220008714B09388148091891490918A14A09166
+:105230008B14B0918C140196A11DB11D809389141B
+:1052400090938A14A0938B14B0938C14BF91AF9158
+:105250009F918F913F912F910F900FBE0F901F90B4
+:1052600018952FB7F89460918514709186148091E9
+:105270008714909188142FBF08953FB7F8948091B8
+:10528000891490918A14A0918B14B0918C1426B536
+:10529000A89B05C02F3F19F00196A11DB11D3FBF6E
+:1052A0006627782F892F9A2F620F711D811D911DFE
+:1052B00042E0660F771F881F991F4A95D1F708951E
+:1052C000CF92DF92EF92FF92CF93DF936B017C013D
+:1052D000D4DFEB01C114D104E104F10471F0CDDF9E
+:1052E0006C1B7D0B683E7340A8F381E0C81AD1089F
+:1052F000E108F108C851DC4FEDCFDF91CF91FF906D
+:10530000EF90DF90CF9008950197009739F0880FC4
+:10531000991F880F991F02970197F1F708957894C4
+:1053200084B5826084BD84B5816084BD85B58260AA
+:1053300085BD85B5816085BDEEE6F0E08081816048
+:105340008083E1E8F0E01082808182608083808148
+:1053500081608083E0E8F0E0808181608083E1EB20
+:10536000F0E0808184608083E0EBF0E08081816008
+:105370008083E1E9F0E080818260808380818160C8
+:105380008083E0E9F0E0808181608083E1EAF0E001
+:10539000808182608083808181608083E0EAF0E0A8
+:1053A000808181608083E1E2F1E08081826080839E
+:1053B000808181608083E0E2F1E080818160808390
+:1053C000EAE7F0E08081846080838081826080836E
+:1053D0008081816080838081806880831092C10099
+:1053E00008959DDF0E94A93EC0E0D0E00E94C862FF
+:1053F0002097E1F30E940000F9CF3F924F925F9215
+:105400006F927F928F929F92AF92BF92CF92DF92D4
+:10541000EF92FF920F931F93CF93DF9300D01F92D1
+:10542000CDB7DEB78B0129013A019091A6029817FA
+:1054300021F09F3F09F0ABC204C0E6E0FEE13490EA
+:1054400004C18093A602E6E0FEE1E491EF3F09F497
+:105450009EC2E23009F480C074F5EE2309F45BC00B
+:10546000E13009F0F1C0109280001092810090911B
+:105470008100986090938100909181009160909359
+:105480008100282F30E0F901EE59F24EE491F0E06E
+:10549000EE0FFF1FEE52F24E459154915093AB1414
+:1054A0004093AA14F901E45FF24E24912093A914C9
+:1054B00033243394CCC0E43009F49EC00CF474C09F
+:1054C000E53009F0C1C010922001109221019091A5
+:1054D0002101986090932101909121019160909316
+:1054E0002101282F30E0F901EE59F24EE491F0E06D
+:1054F000EE0FFF1FEE52F24E4591549150938F14D0
+:1055000040938E14F901E45FF24E249120938D14A0
+:1055100055E0352E9CC014BC15BC94B5926094BD6A
+:1055200095B5916095BD282F30E0F901EE59F24E06
+:10553000E491F0E0EE0FFF1FEE52F24E45915491D0
+:105540005093B2144093B114F901E45FF24E2491E8
+:105550002093B014312C7BC01092B0001092B10097
+:105560009091B00092609093B0009091B1009160E2
+:105570009093B100282F30E0F901EE59F24EE491FA
+:10558000F0E0EE0FFF1FEE52F24E45915491509312
+:10559000A4144093A314F901E45FF24E24912093E4
+:1055A000A21422E0322E53C010929000109291006B
+:1055B00090919100986090939100909191009160EA
+:1055C00090939100282F30E0F901EE59F24EE491CA
+:1055D000F0E0EE0FFF1FEE52F24E459154915093C2
+:1055E0009D1440939C14F901E45FF24E24912093A2
+:1055F0009B14B3E03B2E2BC01092A0001092A10090
+:105600009091A10098609093A1009091A100916069
+:105610009093A100282F30E0F901EE59F24EE49169
+:10562000F0E0EE0FFF1FEE52F24E45915491509371
+:10563000961440939514F901E45FF24E249120935F
+:10564000941474E0372E03C03E2E37FCA0C161E0F5
+:1056500028DD4801A12CB12C832D8D7F09F0BAC023
+:1056600060E072E18AE790E0A501940169D729839F
+:105670003A834B835C8369017A0181E0C81AD108BF
+:10568000E108F1089FEFC916D104E104F10409F023
+:1056900008F495C060E472E48FE090E0A501940105
+:1056A0004FD769017A01E1E0CE1AD108E108F1088B
+:1056B000F2E03F1218C08FEFC816D104E104F104E4
+:1056C00009F008F483C060E970ED83E090E0A50183
+:1056D000940136D769017A0191E0C91AD108E1082D
+:1056E000F10883E001C082E0EFEFCE16D104E104BF
+:1056F000F10409F008F464C068E478EE81E090E019
+:10570000A50194011DD769017A01F1E0CF1AD108F2
+:10571000E108F1083320D9F082E038121AC09FEF77
+:10572000C916D104E104F10409F008F42EC164E2C1
+:1057300074EF80E090E0A501940102D769017A013D
+:10574000E1E0CE1AD108E108F10885E003C083E06A
+:1057500001C084E0FFEFCF16D104E104F10481F130
+:1057600078F162E17AE780E090E0A5019401E8D663
+:1057700069017A0181E0C81AD108E108F108311005
+:1057800002C084E001C086E09FEFC916D104E104A5
+:10579000F104B1F0A8F0C980DA80EB80FC809AE0D7
+:1057A000F594E794D794C7949A95D1F7E1E0CE1A8F
+:1057B000D108E108F108332031F087E008C081E02A
+:1057C000332011F004C085E085BD50C082E0809395
+:1057D000B1004CC060E072E18AE790E0A50194015D
+:1057E000AFD669017A01F1E0CF1AD108E108F108DA
+:1057F000C114D10481E0E806F10480F068E478EE99
+:1058000081E090E0A50194019BD669017A0191E0C5
+:10581000C91AD108E108F10893E001C091E0E1E084
+:105820003E1207C080918100887F892B8093810080
+:105830001DC0F3E03F1207C080919100887F892B43
+:105840008093910013C084E0381207C08091A100BA
+:10585000887F892B8093A10009C0E5E03E1206C035
+:1058600080912101887F892B80932101411451046B
+:105870006104710461F0D801AA0FBB1FA30192015A
+:1058800087D628EE33E040E050E038D603C02FEF53
+:105890003FEFA901F2E03F1609F443C0F315BCF055
+:1058A000332081F181E0381272C0D0928900C09219
+:1058B00088002093AC143093AD144093AE145093F1
+:1058C000AF1480916F00826080936F0060C094E09D
+:1058D000391609F448C03916A4F1E5E03E1257C064
+:1058E000D0922901C09228012093901430939114F2
+:1058F000409392145093931480917300826080932C
+:10590000730045C0C7BC2093B3143093B4144093C4
+:10591000B5145093B61480916E00826080936E002F
+:1059200036C0C092B3002093A5143093A6144093C0
+:10593000A7145093A8148091700082608093700027
+:1059400026C0D0929900C092980020939E14309364
+:105950009F144093A0145093A11480917100826011
+:105960008093710014C0D092A900C092A800209327
+:105970009714309398144093991450939A148091EB
+:10598000720082608093720002C084E020CF0F908A
+:105990000F900F900F90DF91CF911F910F91FF907B
+:1059A000EF90DF90CF90BF90AF909F908F907F90BF
+:1059B0006F905F904F903F9008958230A9F028F447
+:1059C000882349F0813051F00895843009F1E8F0DE
+:1059D000853009F1089510926E00089580916F004E
+:1059E0008D7F80936F000895809170008D7F8093EC
+:1059F000700081E08093B0008091B100887F846066
+:105A00008093B1001092B300089510927100089530
+:105A1000109272000895109273000895CF93C82FCA
+:105A20008091A6028C1307C0E6E0FEE184919FEF0F
+:105A30009093A60201C08FEFC0DF60E08C2FCF9162
+:105A400069CB1F920F920FB60F9211240BB60F92D3
+:105A50002F933F934F935F936F937F938F939F9376
+:105A6000AF93BF93EF93FF938091A5149091A614E9
+:105A7000A091A714B091A814892B8A2B8B2B51F1DC
+:105A80009091A214E091A314F091A414808189272D
+:105A900080838091A5149091A614A091A714B09131
+:105AA000A814181619061A061B06BCF48091A51432
+:105AB0009091A614A091A714B091A8140197A109E0
+:105AC000B1098093A5149093A614A093A714B09342
+:105AD000A81403C08091A602A1DFFF91EF91BF91AE
+:105AE000AF919F918F917F916F915F914F913F9176
+:105AF0002F910F900BBE0F900FBE0F901F90189517
+:105B0000CF92DF92EF92FF920F931F93CF93DF9389
+:105B10006C017A01EB01E60EF71E00E010E0CE15F5
+:105B2000DF0561F06991D601ED91FC910190F08162
+:105B3000E02DC6011995080F191FF1CFC801DF919B
+:105B4000CF911F910F91FF90EF90DF90CF9008952C
+:105B50006115710581F0DB010D900020E9F7AD01C1
+:105B600041505109461B570BDC01ED91FC9102801D
+:105B7000F381E02D199480E090E00895E9CFDC01F5
+:105B8000ED91FC910190F081E02D19945058BB27C4
+:105B9000AA270ED076C23FD230F044D220F031F4A2
+:105BA0009F3F11F41EF40FC20EF4E095E7FBDCC139
+:105BB000E92F89D280F3BA17620773078407950724
+:105BC00018F071F49EF5B8C20EF4E0950B2EBA2FC2
+:105BD000A02D0B01B90190010C01CA01A0011124F3
+:105BE000FF27591B99F0593F50F4503E68F11A169F
+:105BF000F040A22F232F342F4427585FF3CF469530
+:105C000037952795A795F0405395C9F77EF41F1651
+:105C1000BA0B620B730B840BBAF09150A1F0FF0F1B
+:105C2000BB1F661F771F881FC2F70EC0BA0F621F07
+:105C3000731F841F48F4879577956795B795F795F7
+:105C40009E3F08F0B3CF9395880F08F09927EE0F89
+:105C5000979587950895DFD158F080E891E009F491
+:105C60009EEFE0D128F040E851E059F45EEF09C022
+:105C7000AAC162C2E92FE07826D268F3092E052A6C
+:105C8000C1F3261737074807590738F00E2E07F8D3
+:105C9000E02569F0E025E0640AC0EF6307F80094AE
+:105CA00007FADB01B9019D01DC01CA01AD01EF93E7
+:105CB0005DD0E7D10AD05F91552331F02BED3FE065
+:105CC00049E450FD49EC63CF0895DF93DD27B92FF8
+:105CD000BF7740E85FE31616170648075B0710F426
+:105CE000D92F96D29F938F937F936F93A9D3EEE38F
+:105CF000F1E06CD1C6D12F913F914F915F9101D3CB
+:105D0000DD2349F09058A2EA2AED3FE049EC5FE339
+:105D1000D0785D274DDFDF91B4C1F7D180F09F3798
+:105D200040F491110EF409C260E070E080E89FE356
+:105D3000089526F01B16611D711D811D1BC135C103
+:105D4000EFD008F481E0089575D1E395ABC10CD094
+:105D500098C168D140F05FD130F021F45F3F19F075
+:105D600003C15111EAC12FC1AED198F39923C9F3F0
+:105D70005523B1F3951B550BBB27AA276217730751
+:105D8000840738F09F5F5F4F220F331F441FAA1F05
+:105D9000A9F333D00E2E3AF0E0E830D091505040C5
+:105DA000E695001CCAF729D0FE2F27D0660F771F73
+:105DB000881FBB1F261737074807AB07B0E809F055
+:105DC000BB0B802DBF01FF2793585F4F2AF09E3FEA
+:105DD000510568F0C9C0B1C15F3FECF3983EDCF3F8
+:105DE000869577956795B795F7959F5FC9F7880F63
+:105DF000911D9695879597F90895E1E0660F771FB5
+:105E0000881FBB1F621773078407BA0720F0621B45
+:105E1000730B840BBA0BEE1F88F7E095089504D03E
+:105E20006894B1118AC1089556D188F09F5790F0B7
+:105E3000B92F9927B751A0F0D1F0660F771F881FAF
+:105E4000991F1AF0BA95C9F712C0B13081F074D118
+:105E5000B1E0089571C1672F782F8827B85F39F0B6
+:105E6000B93FCCF3869577956795B395D9F73EF40E
+:105E700090958095709561957F4F8F4F9F4F0895B6
+:105E8000E89409C097FB3EF49095809570956195D4
+:105E90007F4F8F4F9F4F9923A9F0F92F96E9BB278A
+:105EA0009395F695879577956795B795F111F8CF06
+:105EB000FAF4BB0F11F460FF1BC06F5F7F4F8F4F71
+:105EC0009F4F16C0882311F096E911C0772321F067
+:105ED0009EE8872F762F05C0662371F096E8862FFF
+:105EE00070E060E02AF09A95660F771F881FDAF756
+:105EF000880F9695879597F9089507D180F09F3779
+:105F000040F491110EF019C160E070E080E89FEB61
+:105F1000089526F41B16611D711D811D2BC045C0FF
+:105F2000990F0008550FAA0BE0E8FEEF16161706AA
+:105F3000E807F907C0F012161306E407F50798F012
+:105F4000621B730B840B950B39F40A2661F0232B2B
+:105F5000242B252B21F408950A2609F4A140A695A7
+:105F60008FEF811D811D089597F99F6780E870E08C
+:105F700060E00895882371F4772321F09850872BEF
+:105F8000762F07C0662311F499270DC09051862BF8
+:105F900070E060E02AF09A95660F771F881FDAF7A5
+:105FA000880F9695879597F908959F3F31F0915006
+:105FB00020F4879577956795B795880F911D9695ED
+:105FC000879597F908959FEF80EC0895DF93CF931D
+:105FD0001F930F93FF92EF92DF927B018C016894E5
+:105FE00005C0DA2EEF018DD1FE01E894A59125912F
+:105FF000359145915591AEF3EF01DADDFE01970140
+:10600000A801DA9479F7DF90EF90FF900F911F913C
+:10601000CF91DF91089500240A94161617061806EA
+:106020000906089500240A9412161306140605069C
+:106030000895C9CF50D0E8F3E894E0E0BB279F571C
+:10604000F0F02AED3FE049EC06C0EE0FBB0F661FF3
+:10605000771F881F28F0B23A62077307840728F079
+:10606000B25A620B730B840BE3959A9572F78038E2
+:1060700030F49A95BB0F661F771F881FD2F79048A0
+:1060800096CF092E0394000C11F4882352F0BB0F15
+:1060900040F4BF2B11F460FF04C06F5F7F4F8F4F40
+:1060A0009F4F0895EF93E0FF06C0A2EA2AED3FE07C
+:1060B00049EC5FEB7DDDE5DF0F90039401FC905828
+:1060C000EBE6F1E0C7C157FD9058440F551F59F05A
+:1060D0005F3F71F04795880F97FB991F61F09F3FD5
+:1060E00079F087950895121613061406551FF2CFFE
+:1060F0004695F1DF08C0161617061806991FF1CF4E
+:1061000086957105610508940895E5DFA0F0BEE766
+:10611000B91788F4BB279F3860F41616B11D672F96
+:10612000782F8827985FF7CF869577956795B11D6B
+:1061300093959639C8F30895E894BB276627772787
+:10614000CB0197F90895ECDE08F48FEF089563DF33
+:1061500019F068DF09F037CF07CFB901CA0125CFA1
+:106160009F775F77B0DF98F39923B9F35523B9F39D
+:10617000FF27951758F4E52FE91BED3070F75E3BCC
+:1061800010F0F1E41CC09034E0F40AC0E92FE51BE4
+:10619000ED3028F79E3B10F0F1E411C0503488F444
+:1061A000F9EA88232AF09A95660F771F881FDAF795
+:1061B00044232AF05A95220F331F441FDAF79F1BFE
+:1061C0005F1BFF931F930F93FF92EF9279018A0158
+:1061D000BB27AB2F9B01AC0196D09701A801BF93C1
+:1061E0007B018C01AA27BA2FB901CA018CD0AF91CB
+:1061F0009701A801EF90FF900F911F91D9DC41DF2B
+:10620000E1D04F9140FF0895552747FD509509C0B3
+:106210009B01AC0160E070E080E89FE398CDA4CEE4
+:10622000C4CE59DFE8F39923D9F3940F511DBBF382
+:106230009150504094F059F0882332F0660F771F48
+:10624000881F91505040C1F79E3F510544F7880F79
+:10625000911D9695879597F908955F3FACF0983E0C
+:106260009CF0BB27869577956795B79508F4B16044
+:106270009395C1F7BB0F58F711F460FFE8CF6F5F3C
+:106280007F4F8F4F9F4FE3CF58CF25DF58F19E5759
+:1062900058F19851A0F0E9F0983020F5092E99278F
+:1062A000660F771F881F991F0A94D1F712C0062E18
+:1062B000672F782F8827985F11F4000C07C0993F4B
+:1062C000B4F38695779567959395D9F7611D711D00
+:1062D000811D3EF490958095709561957F4F8F4F0D
+:1062E0009F4F0895689429CF27CF0BD0CACE93DE55
+:1062F00028F098DE18F0952309F036CE64CE1124EC
+:106300001CCFE1DEA0F3959FD1F3950F50E0551F10
+:10631000629FF001729FBB27F00DB11D639FAA27FA
+:10632000F00DB11DAA1F649F6627B00DA11D661F49
+:10633000829F2227B00DA11D621F739FB00DA11D6A
+:10634000621F839FA00D611D221F749F3327A00D24
+:10635000611D231F849F600D211D822F762F6A2FC0
+:1063600011249F5750408AF0E1F088234AF0EE0F45
+:10637000FF1FBB1F661F771F881F91505040A9F752
+:106380009E3F510570F0F0CDD8CE5F3FECF3983EC4
+:10639000DCF3869577956795B795F795E7959F5FB9
+:1063A000C1F7FE2B880F911D9695879597F9089553
+:1063B0009F9340DE0F9007FCEE5F74CE11F40EF455
+:1063C00002CEF3CD88DED0F39923D9F3CEF39F57D5
+:1063D000550B87FF38D00024A0E640EA9001805892
+:1063E0005695979528F4805C660F771F881F20F0DC
+:1063F00026173707480730F4621B730B840B2029DC
+:1064000031294A2BA69517940794202531254A2730
+:1064100058F7660F771F881F20F0261737074807A1
+:1064200030F4620B730B840B200D311D411DA095C0
+:1064300081F7B901842F9158880F96958795089513
+:106440009B01AC0152CF91505040660F771F881FBF
+:10645000D2F708959F938F937F936F93FF93EF935A
+:106460009B01AC0142DFEF91FF91B0DD2F913F9195
+:106470004F915F913ACFDB018F939F9389D0BF916A
+:10648000AF91A29F800D911DA39F900DB29F900D83
+:106490001124089587FB082E062687FD819567FD48
+:1064A00061958AD00EF4919507FC81950895AA1BF9
+:1064B000BB1B51E107C0AA1FBB1FA617B70710F0EF
+:1064C000A61BB70B881F991F5A95A9F78095909521
+:1064D000BC01CD01089597FB072E16F4009406D059
+:1064E00077FD08D0E4DF07FC05D03EF49095819558
+:1064F0009F4F0895709561957F4F0895A1E21A2EE0
+:10650000AA1BBB1BFD010DC0AA1FBB1FEE1FFF1F57
+:10651000A217B307E407F50720F0A21BB30BE40BA7
+:10652000F50B661F771F881F991F1A9469F76095EE
+:106530007095809590959B01AC01BD01CF010895A8
+:10654000052E97FB16F400940FD057FD05D0D6DF2B
+:1065500007FC02D046F408C050954095309521952F
+:106560003F4F4F4F5F4F089590958095709561957F
+:106570007F4F8F4F9F4F0895EE0FFF1F0590F491AF
+:10658000E02D199425D0B7FF0895821B930B089531
+:106590001FD0A59F900DB49F900DA49F800D911DBD
+:1065A00011240895B7FFF4CFF3DF821B930B0895F6
+:1065B0000790F691E02D1994991B79E004C0991F7A
+:1065C000961708F0961B881F7A95C9F7809508954D
+:1065D000A29FB001B39FC001A39F700D811D112424
+:1065E000911DB29F700D811D1124911D08958F92F0
+:1065F0009F92AF92BF92CF92DF92EF92FF920F9352
+:106600001F93CF93DF938B016115710521F0DB019F
+:106610008C9311969C93EC015E01BFEFAB1ABB0A01
+:106620007501C8808C2D90E07BD2892B11F0E5019B
+:10663000F3CFEDE2CE1208C07E01F2E0EF0EF11CC6
+:10664000C980DD24D39409C02BE2C21205C07E01AB
+:1066500042E0E40EF11CC980D12CE701219743E010
+:1066600050E06FE07EE1CE0172D2892BB9F423961F
+:1066700045E050E06AE07EE1CE0169D2892B09F461
+:1066800025960115110519F0D801CD93DC93D11091
+:1066900000C160E070E080E89FE704C143E050E0A3
+:1066A00067E07EE1CE0153D2892B59F40115110523
+:1066B00009F4F4C0B2E0EB0EF11CF801F182E082C3
+:1066C000EDC0F70160E070E0CB01C0E0D0E07F01F9
+:1066D000A0EDAA2EAC0C29E02A1528F14D2D426020
+:1066E000B42E2D2D2870D2FE04C0211124C0219675
+:1066F00022C021112197A5E0B0E09B01AC0148DF49
+:10670000660F771F881F991F6A0D711D811D911DCE
+:106710006839A9E97A078A07A9E19A0760F0BD2DCF
+:10672000B660BB2E08C02EEFA2120AC0D3FC50C028
+:106730004D2D4860B42E3196D701CC90DB2CC7CFBD
+:106740002C2D2F7D253409F043C0A081AD3241F4BA
+:10675000BD2DB061DB2E7F0122E0E20EF11C0CC0EA
+:106760007F01AB3231F04FEFE41AF40A21E030E060
+:1067700006C0A2E0EA0EF11CA18122E030E0A053A5
+:10678000AA3018F0E21AF30A23C0F70120E030E043
+:106790002038BCE03B075CF4A901440F551F440FAF
+:1067A000551F240F351F220F331F2A0F311DAF0134
+:1067B0004F5F5F4F7A01A081A053AA3010F4FA0115
+:1067C000E7CFD4FE03C0319521953109C20FD31F05
+:1067D000D1FE09C00115110531F0E1E0EE1AF10812
+:1067E000D801ED92FC924CDB2D2D2370233019F053
+:1067F0004B015C0106C04B015C01B7FAB094B7F8DD
+:10680000B09420E030E0A901C501B40199DA8823F1
+:1068100009F43CC0D7FF06C0D195C195D10906E265
+:106820001EE102C00EE31EE16801B8E1CB1AD108F7
+:1068300090E2E92EF12CCE15DF056CF0F8012591E0
+:10684000359145915491C501B4014FDD4B015C0177
+:10685000CE19DF09F0CF04501109F594E7940C1517
+:106860001D0549F78A2D880F8B2D881F8F3F41F01A
+:1068700020E030E0A901C501B40162DA811106C04F
+:1068800082E290E09093BC148093BB14C501B401E4
+:1068900009C060E070E080E89FEF04C060E070E055
+:1068A00080EC9FE7DF91CF911F910F91FF90EF90C8
+:1068B000DF90CF90BF90AF909F908F9008952F92D0
+:1068C0003F925F926F927F928F929F92AF92BF9210
+:1068D000CF92DF92EF92FF920F931F93CF93DF93AC
+:1068E0008B01EA016115710521F0DB018C93119692
+:1068F0009C93209739F09E012250310923323105B3
+:1069000008F0F8C07C016701BFEFCB1ADB0A560123
+:10691000F7016080862D90E003D1892B11F076017C
+:10692000F2CFFDE26F120AC0570182E0A80EB11C3F
+:10693000D70111966C90772473940BC0BBE26B1255
+:1069400007C05701E2E0AE0EB11CD70111966C9062
+:10695000712CCE018F7E892B89F4B0E36B1222C09B
+:10696000F50180818F7D883541F56180F2E0AF0EC1
+:10697000B11C872D8260782EC0E1D0E0C830D105EF
+:10698000F1F04CF4C230D10511F5C12CD12CE12C21
+:10699000B0E4FB2E2EC0CA30D10531F0C031D10594
+:1069A00019F115C0209751F7CAE0D0E0ACECCA2E1F
+:1069B000DC2CEC2CACE0FA2E1CC02097F9F6C8E0D9
+:1069C000D0E0C12CD12CE12CF0E1FF2E12C060E010
+:1069D00070E080E090E89E01442737FD4095542FF9
+:1069E0008DDD69017A0105C0C12CD12CE12CE8E0D4
+:1069F000FE2EF50160E020E030E0A9014E01AA245E
+:106A000097FCA094BA2C1F0170ED572E560CA9E0EC
+:106A1000A51570F48FEB860D8A3118F499EC592E78
+:106A200006C08FE9860D8A3128F589EA582E560C62
+:106A3000852D90E08C179D07ECF467FD17C0C216FA
+:106A4000D306E406F50678F0C501B40114DD9B0118
+:106A5000AC01250D311D411D511D21303105410570
+:106A6000B0E85B0710F06FEF01C061E03196D10133
+:106A70006C90C9CF872D81700115110571F06623C7
+:106A800029F03197D801ED93FC9307C071FE19C02E
+:106A90003297D801ED93FC9314C067FF12C088238E
+:106AA00029F020E030E040E050E804C02FEF3FEF55
+:106AB0004FEF5FE782E290E09093BC148093BB14A9
+:106AC00016C0882341F050954095309521953F4F51
+:106AD0004F4F5F4F0CC057FF0AC082E290E0909387
+:106AE000BC148093BB142FEF3FEF4FEF5FE7B9016A
+:106AF000CA0104C060E070E080E090E0DF91CF91D7
+:106B00001F910F91FF90EF90DF90CF90BF90AF90CB
+:106B10009F908F907F906F905F903F902F900895FF
+:106B20009111E5C2803219F089508550D0F708954F
+:106B30009111089581548A5108F4805E855A089510
+:106B4000FB01DC0105900D920020E1F70895FB01A7
+:106B5000DC014150504088F08D9181341CF08B3520
+:106B60000CF4805E659161341CF06B350CF4605E52
+:106B7000861B611171F3990B0895881BFCCFFB01F3
+:106B8000DC014150504048F005900D920020C9F7BB
+:106B900001C01D9241505040E0F70895FB0155910E
+:106BA0005523A9F0BF01DC014D9145174111E1F7D3
+:106BB00059F4CD010590002049F04D914015411147
+:106BC000C9F3FB014111EFCF81E090E001970895F7
+:106BD000FB01DC0104C08D910190801921F441502A
+:106BE0005040C8F7881B990B0895FB01DC0102C0D7
+:106BF00001900D9241505040D8F70895DC0101C03A
+:106C00006D9341505040E0F70895FB01DC018D91F8
+:106C100081341CF08B350CF4805E619161341CF082
+:106C20006B350CF4605E861B611189F3990B089536
+:106C3000FB01DC010D900020E9F7119701900D9206
+:106C40000020E1F70895FC018191861721F0882347
+:106C5000D9F7992708953197CF010895FB01DC01F9
+:106C60008D91019080190110D9F3990B0895FB01C2
+:106C7000DC0101900D920020E1F70895FB01DC0199
+:106C80004150504030F08D910190801919F400204E
+:106C9000B9F7881B990B0895FB01DC014150504066
+:106CA00048F001900D920020C9F701C01D9241509B
+:106CB0005040E0F708950F931F93CF93DF93CDB724
+:106CC000DEB72E970FB6F894DEBF0FBECDBF0E898C
+:106CD0001F898EE08C831A8309838FEF9FE79E8341
+:106CE0008D83AE01465E5F4F688D798DCE01019632
+:106CF00010D0EF81F885E00FF11F10822E960FB6AD
+:106D0000F894DEBF0FBECDBFDF91CF911F910F91E1
+:106D100008952F923F924F925F926F927F928F923F
+:106D20009F92AF92BF92CF92DF92EF92FF920F931A
+:106D30001F93CF93DF93CDB7DEB72C970FB6F894A0
+:106D4000DEBF0FBECDBF7C016B018A01FC01178243
+:106D50001682838181FFB0C1CE0101964C01F701FB
+:106D60009381F60193FD859193FF81916F018823B3
+:106D700009F49EC1853239F493FD859193FF819189
+:106D80006F01853221F4B70190E0CAD1E8CF512CD0
+:106D9000312C20E02032A0F48B3269F030F48032C4
+:106DA00059F0833269F420612CC08D3239F0803380
+:106DB00039F4216026C02260246023C0286021C0ED
+:106DC00027FD27C030ED380F3A3078F426FF06C093
+:106DD000FAE05F9E300D1124532E13C08AE0389ED6
+:106DE000300D1124332E20620CC08E3221F426FD8A
+:106DF0005FC1206406C08C3611F4206802C088365A
+:106E000041F4F60193FD859193FF81916F0181110A
+:106E1000C1CF982F9F7D9554933028F40C5F1F4F5E
+:106E2000FFE3F9830DC0833631F0833771F083358A
+:106E300009F057C021C0F801808189830E5F1F4F80
+:106E400044244394512C540114C03801F2E06F0ED5
+:106E5000711CF801A080B18026FF03C0652D70E091
+:106E600002C06FEF7FEFC5012C874FD12C0183014A
+:106E70002C852F77222E16C03801F2E06F0E711C80
+:106E8000F801A080B18026FF03C0652D70E002C02C
+:106E90006FEF7FEFC5012C872DD12C012C85206849
+:106EA000222E830123FC19C0832D90E04816590639
+:106EB000A0F4B70180E290E033D13A94F5CFF50128
+:106EC00027FC859127FE81915F01B70190E028D1D1
+:106ED00031103A94F1E04F1A51084114510479F7F6
+:106EE000DEC0843611F0893631F5F80127FF07C07E
+:106EF00060817181828193810C5F1F4F08C0608126
+:106F00007181882777FD8095982F0E5F1F4F2F7610
+:106F1000B22E97FF09C090958095709561957F4F2F
+:106F20008F4F9F4F2068B22E2AE030E0A4012AD173
+:106F3000A82EA81843C0853729F42F7EB22E2AE048
+:106F400030E025C0F22FF97FBF2E8F36C1F018F444
+:106F5000883579F0ADC0803719F0883721F0A8C0A6
+:106F60002F2F2061B22EB4FE0DC08B2D8460B82E61
+:106F700009C024FF0AC09F2F9660B92E06C028E0E2
+:106F800030E005C020E130E002C020E132E0F8014D
+:106F9000B7FE07C060817181828193810C5F1F4FB2
+:106FA00006C06081718180E090E00E5F1F4FA401F8
+:106FB000E9D0A82EA818FB2DFF77BF2EB6FE0BC078
+:106FC0002B2D2E7FA51450F4B4FE0AC0B2FC08C0CD
+:106FD0002B2D2E7E05C07A2C2B2D03C07A2C01C0C0
+:106FE000752C24FF0DC0FE01EA0DF11D8081803358
+:106FF00011F4297E09C022FF06C07394739404C063
+:10700000822F867809F0739423FD12C020FF06C0FA
+:107010005A2C731418F4530C5718732C731460F40F
+:10702000B70180E290E02C877BD073942C85F6CF5B
+:10703000731410F4371801C0312C24FF11C0B701AC
+:1070400080E390E02C876CD02C8522FF16C021FFB6
+:1070500003C088E590E002C088E790E0B7010CC06B
+:10706000822F867851F021FD02C080E201C08BE2C0
+:1070700027FD8DE2B70190E053D0A51430F4B7019D
+:1070800080E390E04DD05A94F8CFAA94F401EA0D31
+:10709000F11D8081B70190E043D0A110F6CF3320DD
+:1070A00009F45DCEB70180E290E03AD03A94F7CF90
+:1070B000F7018681978102C08FEF9FEF2C960FB664
+:1070C000F894DEBF0FBECDBFDF91CF911F910F911E
+:1070D000FF90EF90DF90CF90BF90AF909F908F90F8
+:1070E0007F906F905F904F903F902F9008959927D9
+:1070F00088270895FC010590615070400110D8F771
+:10710000809590958E0F9F1F0895FC0161507040EF
+:1071100001900110D8F7809590958E0F9F1F0895CC
+:107120000F931F93CF93DF93182F092FEB018B81C0
+:1071300081FD03C08FEF9FEF20C082FF10C04E8102
+:107140005F812C813D81421753077CF4E881F981EE
+:107150009F012F5F3F4F39832883108306C0E88546
+:10716000F985812F1995892B29F72E813F812F5F72
+:107170003F4F3F832E83812F902FDF91CF911F911F
+:107180000F910895FA01AA27283051F1203181F199
+:10719000E8946F936E7F6E5F7F4F8F4F9F4FAF4F1F
+:1071A000B1E03ED0B4E03CD0670F781F891F9A1F32
+:1071B000A11D680F791F8A1F911DA11D6A0F711DE6
+:1071C000811D911DA11D20D009F468943F912AE0F2
+:1071D000269F11243019305D3193DEF6CF010895DA
+:1071E000462F4770405D4193B3E00FD0C9F7F6CF0B
+:1071F000462F4F70405D4A3318F0495D31FD4052D3
+:10720000419302D0A9F7EACFB4E0A6959795879568
+:1072100077956795BA95C9F7009761057105089547
+:107220009B01AC010A2E06945795479537952795F3
+:10723000BA95C9F7620F731F841F951FA01D08958B
+:107240001EE1C8E4DEE100E005C022970109FE016D
+:107250000BBFAED9CA34D10780E00807B1F7F89464
+:02726000FFCF5E
+:107262000000BD1420000A01FF3FFF3F0000803FE5
+:107272008145644325DF363E33334B410160EA00EA
+:10728200000080BB440101000000410000344200C4
+:1072920000504100004040000056430000464300B9
+:1072A20000494300000000000000001F856B3E0003
+:1072B20000803F00004040640064006400640000FD
+:1072C200803B4500803B4500007043000000000207
+:1072D200248050727573612069332072656164790C
+:1072E2002E0000000000003200FA006400DC005AA8
+:1072F20000F0006400FE0001010101015203C2011D
+:107302000E0100003E43FF00004000140054000044
+:107312001F1511151F00000C12120C0000000004B2
+:107322000A0A0A0A11110E040E1F041C00000000B2
+:1073320006191803130C00001C1F11111F00001C5A
+:1073420010181705060500000E1315110E00000097
+:1073520000C8420000C84200007A450040034400D1
+:1073620000FA430000FA43000040400000C84128F0
+:10737200230000282300001E000000102700001038
+:1073820010101010504944204175746F74756E6569
+:1073920020737461727400504944204175746F7493
+:1073A200756E65206661696C65642E204261642099
+:1073B2006578747275646572206E756D6265722E81
+:1073C2000000000000362A80AD2F0043616E6E6F10
+:1073D20074206F70656E2073756264697200534425
+:1073E2002D5052494E54494E472020202020202023
+:1073F2002020004D313132004D32323120496E763B
+:10740200616C696420657874727564657220004DE0
+:1074120032313820496E76616C6964206578747205
+:107422007564657220004D31303920496E76616C89
+:10743200696420657874727564657220004D31301C
+:107442003520496E76616C69642065787472756462
+:10745200657220004D31303420496E76616C69646A
+:1074620020657874727564657220005452494747EA
+:1074720045524544006F70656E00322E322E310047
+:107482003330302D3161005265706F7274696E67EE
+:1074920020656E6473746F70207374617475730009
+:1074A2004D32303020496E76616C696420657874A3
+:1074B200727564657220006F6B0020703A0020695B
+:1074C2003A0020643A0020633A005400496E766123
+:1074D2006C696420657874727564657200416374C6
+:1074E2006976652045787472756465723A20000089
+:1074F200000100250030001D000C0018002400319E
+:10750200001C000B00170023002F001B000A001EA6
+:107512000047000400080022002B001A0003003676
+:107522000037003500380058595A454552524F52DB
+:107532003A005072656865617420746865206E6FE8
+:107542007A7A6C6521004368616E67696E672066AE
+:10755200696C616D656E742100496E736572742089
+:1075620066696C616D656E7400416E64207072654F
+:10757200737320746865206B6E6F62004368616E7E
+:107582006765207375636365737321004C6F616473
+:10759200696E6720636F6C6F7200506C6561736512
+:1075A2002077616974004C6F6164696E6720666957
+:1075B2006C616D656E74005072696E742061626FE9
+:1075C20072746564004368616E67656420636F72FC
+:1075D200726563746C793F005965730046696C612A
+:1075E2006D656E74206E6F74206C6F6164656400EB
+:1075F200436F6C6F72206E6F7420636C65617200F2
+:107602003E0020205A0000803B4500803B450000A0
+:1076120070430000704200000000318B80AD537453
+:1076220065707261746520746F6F20686967683A6B
+:10763200200000000000AFA583A558A560A573A592
+:0276420082A51F
+:00000001FF

+ 5992 - 0
hex_files/175-RAMBo1-3a-en.hex

@@ -0,0 +1,5992 @@
+:100000000C94250F0C94560F0C94560F0C94560F0D
+:100010000C94560F0C94560F0C94560F0C94560FCC
+:100020000C94560F0C94560F0C94560F0C94560FBC
+:100030000C94560F0C9421AD0C94560F0C94560F43
+:100040000C94560F0C94FA8B0C94560F0C94560F7C
+:100050000C94560F0C94560F0C9439260C94E7A868
+:100060000C94560F0C940D890C94560F0C94560F4B
+:100070000C94560F0C94560F0C94560F0C94560F6C
+:100080000C94560F0C94560F0C94560F0C94560F5C
+:100090000C94560F0C94560F0C94560F0C9419A6F2
+:1000A0000C94560F0C94560F0C94560F0C94560F3C
+:1000B0000C94560F0C94560F0C94560F0C94560F2C
+:1000C0000C94560F0C94560F0C94560F0C94560F1C
+:1000D0000C94560F0C94560F0C94560F0C94560F0C
+:1000E0000C94560F86269426B026BE26D826E626E1
+:1000F0000027042706270A2712276BA770A775A7D2
+:100100007FA7F8A789A791A799A7A3A7ADA7B7A786
+:10011000C6A7D0A7F8A7DAA7E4A7EEA716A819A83C
+:100120000CA810A850A81DA821A827A82BA82FA864
+:1001300035A839A83DA850A843A847A84BA8084A05
+:10014000D73B3BCE016E84BCBFFDC12F3D6C7431EB
+:100150009ABD56833DDA3D00C77F11BED9E4BB4C42
+:100160003E916BAAAABE000000803F05A84CCDB20C
+:10017000D44EB93836A9020C50B9918688083CA6ED
+:10018000AAAA2ABE000000803F007C3C3E5E2B3DB8
+:100190003F2F5B5D3B2C2A225C004572723A204D5A
+:1001A000415854454D50204245440054656D70659A
+:1001B000726174757265206865617465642062653A
+:1001C00064207377697463686564206F66662E20A7
+:1001D0004D415854454D502074726967676572658A
+:1001E00064202121004572723A204D494E54454DFC
+:1001F00050003A204578747275646572207377698F
+:100200007463686564206F66662E204D494E5445C0
+:100210004D502074726967676572656420210045DE
+:1002200072723A204D415854454D50003A2045785D
+:10023000747275646572207377697463686564208D
+:100240006F66662E204D415854454D50207472699A
+:10025000676765726564202100202D20496E7661F4
+:100260006C6964206578747275646572206E756D52
+:10027000626572202100504944204175746F747585
+:100280006E652066696E69736865642120507574B7
+:1002900020746865206C617374204B702C204B694E
+:1002A00020616E64204B6420636F6E7374616E74A2
+:1002B000732066726F6D2061626F766520696E745F
+:1002C0006F20436F6E66696775726174696F6E2E19
+:1002D0006800504944204175746F74756E652066DE
+:1002E00061696C6564212074696D656F75740020A7
+:1002F000403A006F6B20543A006F6B20423A005036
+:100300004944204175746F74756E65206661696C2F
+:100310006564212054656D70657261747572652025
+:10032000746F6F206869676800204B643A20002072
+:100330004B693A2000204B703A200020436C6173D7
+:100340007369632050494420002054753A200020EE
+:100350004B753A2000206D61783A2000206D696E5F
+:100360003A200020643A200020626961733A20003C
+:1003700070012C0190012701B0012201C0011D0173
+:10038000F00118011002130130020E016002090190
+:1003900090020401C002FF000003FA004003F500D0
+:1003A0008003F000D003EB002004E6007004E100BD
+:1003B000E004DC004005D700C005D2004006CD00B7
+:1003C000D006C8008007C3003008BE00F008B9009E
+:1003D000C009B400B00AAF00B00BAA00D00CA50051
+:1003E000000EA000500F9B00C0109600501291000C
+:1003F00000148C00C0158700B0178200B0197D0072
+:10040000D01B7800001E730040206E00902269000F
+:10041000F024640040275F0090295A00E02B55002B
+:10042000102E500020304B0010324600E0334100C7
+:1004300090353C001037370070383200A0392D005D
+:10044000B03A2800A03B2300603C1E00103D19007C
+:10045000903D1400103E0F00703E0A00C03E0500A3
+:10046000003F00004D383420582059205A204500C4
+:1004700043616E6E6F7420656E7465722073756271
+:100480006469723A20004D3234004D3233202573B6
+:10049000006175746F25692E67006572726F722036
+:1004A00077726974696E6720746F2066696C650085
+:1004B0004E6F74205344207072696E74696E6700C9
+:1004C0002F005344207072696E74696E67206279E0
+:1004D000746520002E0044656C6574696F6E20663B
+:1004E00061696C65642C2046696C653A2000466938
+:1004F0006C652064656C657465643A002E006F70ED
+:10050000656E206661696C65642C2046696C653A8D
+:10051000200057726974696E6720746F2066696C79
+:10052000653A20002E006F70656E206661696C650B
+:10053000642C2046696C653A20002E006F70656E51
+:10054000206661696C65642C2046696C653A200000
+:1005500046696C652073656C65637465640020533F
+:10056000697A653A200046696C65206F70656E6532
+:10057000643A20002E006F70656E206661696C65BC
+:10058000642C2046696C653A20004E6F77206672B5
+:100590006573682066696C653A20004E6F77206449
+:1005A0006F696E672066696C653A20002220706F63
+:1005B00073002220706172656E743A2200535542B6
+:1005C000524F5554494E452043414C4C2074617262
+:1005D0006765743A2200747279696E6720746F20BF
+:1005E00063616C6C207375622D67636F6465206650
+:1005F000696C6573207769746820746F6F206D6112
+:100600006E79206C6576656C732E204D4158206C98
+:100610006576656C2069733A0053442063617264A7
+:10062000206F6B006F70656E526F6F74206661692A
+:100630006C656400766F6C756D652E696E697420EB
+:100640006661696C656400534420696E6974206654
+:1006500061696C0000002110422063308440A55085
+:10066000C660E770088129914AA16BB18CC1ADD1F8
+:10067000CEE1EFF13112100273325222B5529442A0
+:10068000F772D662399318837BB35AA3BDD39CC348
+:10069000FFF3DEE36224433420040114E664C774EC
+:1006A000A44485546AA54BB528850995EEE5CFF598
+:1006B000ACC58DD55336722611163006D776F66640
+:1006C0009556B4465BB77AA719973887DFF7FEE7E8
+:1006D0009DD7BCC7C448E5588668A778400861180C
+:1006E00002282338CCC9EDD98EE9AFF94889699938
+:1006F0000AA92BB9F55AD44AB77A966A711A500AE0
+:10070000333A122AFDDBDCCBBFFB9EEB799B588B87
+:100710003BBB1AABA66C877CE44CC55C222C033C2B
+:10072000600C411CAEED8FFDECCDCDDD2AAD0BBDD7
+:10073000688D499D977EB66ED55EF44E133E322E7F
+:10074000511E700E9FFFBEEFDDDFFCCF1BBF3AAF27
+:10075000599F788F8891A981CAB1EBA10CD12DC185
+:100760004EF16FE18010A100C230E320045025401B
+:1007700046706760B9839893FBA3DAB33DC31CD37B
+:100780007FE35EF3B1029012F322D232354214526B
+:1007900077625672EAB5CBA5A89589856EF54FE5C7
+:1007A0002CD50DC5E234C324A014810466744764BB
+:1007B00024540544DBA7FAB79987B8975FE77EF71B
+:1007C0001DC73CD7D326F2369106B016576676760B
+:1007D000154634564CD96DC90EF92FE9C899E989E7
+:1007E0008AB9ABA94458654806782768C018E1085B
+:1007F0008238A3287DCB5CDB3FEB1EFBF98BD89BBB
+:10080000BBAB9ABB754A545A376A167AF10AD01AAA
+:10081000B32A923A2EFD0FED6CDD4DCDAABD8BAD06
+:10082000E89DC98D267C076C645C454CA23C832CFA
+:10083000E01CC10C1FEF3EFF5DCF7CDF9BAFBABF5A
+:10084000D98FF89F176E367E554E745E932EB23E4A
+:10085000D10EF01E53544F505045442E200050727C
+:10086000696E7465722073746F707065642064754E
+:100870006520746F206572726F72732E20466978DE
+:1008800020746865206572726F7220616E642075D5
+:100890007365204D39393920746F20726573746126
+:1008A00072742E202854656D70657261747572655E
+:1008B0002069732072657365742E205365742069F6
+:1008C00074206166746572207265737461727469F4
+:1008D0006E6729004B494C4C45442E2000507269EC
+:1008E0006E7465722068616C7465642E206B696C2F
+:1008F0006C28292063616C6C656421006F6B005269
+:100900006573656E643A20002200556E6B6E6F77DA
+:100910006E20636F6D6D616E643A2022004D32323D
+:100920003020532569005A204F6666736574203A5B
+:1009300020007A5F6D61783A20007A5F6D696E3AC7
+:1009400020005A204F6666736574005A204F666611
+:10095000736574206F6B002200556E6B6E6F776E3F
+:1009600020636F6D6D616E643A2022007A5F6D6165
+:10097000783A20007A5F6D696E3A2000795F6D6188
+:10098000783A2000795F6D696E3A2000785F6D617A
+:10099000783A2000785F6D696E3A2000205A3A005C
+:1009A00020593A0020436F756E7420583A20002079
+:1009B000453A00205A3A0020593A00583A00464930
+:1009C000524D574152455F4E414D453A4D61726C13
+:1009D000696E2056312E302E323B20537072696E74
+:1009E0007465722F6772626C206D61736875702018
+:1009F000666F722067656E36204649524D574152E8
+:100A0000455F55524C3A68747470733A2F2F67697A
+:100A1000746875622E636F6D2F4D61726C696E46DE
+:100A200069726D776172652F4D61726C696E2050CD
+:100A3000524F544F434F4C5F56455253494F4E3AD5
+:100A4000312E30204D414348494E455F5459504561
+:100A50003A50727573612069332045585452554499
+:100A600045525F434F554E543A3120555549443A0B
+:100A700030303030303030302D303030302D30307C
+:100A800030302D303030302D30303030303030306C
+:100A9000303030300A005072757361206933204F56
+:100AA00066662E005072757361206933207265612D
+:100AB00064792E0042656420646F6E652E002042CA
+:100AC0003A0020453A00543A004265642048656186
+:100AD00074696E672E0048656174696E6720646F83
+:100AE0006E652E0020573A0020453A00543A0048DF
+:100AF000656174696E672E2E2E002042403A0020F8
+:100B0000403A00202F003A00205400202F002042BD
+:100B10003A00202F006F6B20543A002569206D6940
+:100B20006E2C2025692073656300456E642066691C
+:100B30006C65206C69737400426567696E20666934
+:100B40006C65206C697374004E6F206D6F76652E36
+:100B50000050727573612069332072656164792E6B
+:100B600000526573756D696E67207072696E7400EE
+:100B70005761697420666F7220757365722E2E2E10
+:100B800000536C6565702E2E2E00256920686F75E8
+:100B90007273202569206D696E7574657300446FEA
+:100BA0006E65207072696E74696E672066696C6527
+:100BB0000053544F505045442E20005072696E74BB
+:100BC00065722073746F707065642064756520743D
+:100BD0006F206572726F72732E2046697820746878
+:100BE00065206572726F7220616E64207573652076
+:100BF0004D39393920746F20726573746172742EA7
+:100C0000202854656D706572617475726520697312
+:100C10002072657365742E20536574206974206199
+:100C2000667465722072657374617274696E672987
+:100C3000004E6F204C696E65204E756D62657220A6
+:100C40007769746820636865636B73756D2C204CDD
+:100C5000617374204C696E653A20004E6F204368C2
+:100C600065636B73756D2077697468206C696E6558
+:100C7000206E756D6265722C204C617374204C6916
+:100C80006E653A2000636865636B73756D206D69EE
+:100C9000736D617463682C204C617374204C696EB1
+:100CA000653A20004C696E65204E756D6265722054
+:100CB0006973206E6F74204C617374204C696E658B
+:100CC000204E756D6265722B312C204C617374203F
+:100CD0004C696E653A20004D31313000446F6E65CD
+:100CE00020736176696E672066696C652E006F6B94
+:100CF000004D3239002020506C616E6E6572427575
+:100D00006666657242797465733A200020467265A2
+:100D100065204D656D6F72793A200044656320321D
+:100D200033203230313500436F6D70696C65643A41
+:100D30002000286E6F6E652C2064656661756C748A
+:100D400020636F6E6669672900207C204175746896
+:100D50006F723A20004465632032332032303135DF
+:100D60002031353A34373A353700204C61737420DE
+:100D7000557064617465643A2000312E302E320063
+:100D80004D61726C696E0020536F66747761726595
+:100D900020526573657400205761746368646F67DF
+:100DA000205265736574002042726F776E206F75F4
+:100DB00074205265736574002045787465726E61A5
+:100DC0006C20526573657400506F776572557000C2
+:100DD0007374617274002200656E717565696E6767
+:100DE0002022002200656E717565696E6720220001
+:100DF000FFFFFF0000A0400000A0400000004000F6
+:100E0000005643000046431FC54843000000000051
+:100E10000000001F856B3E00005643000046430063
+:100E200000494300000000000000001F856B3E6584
+:100E300063686F3A004572726F723A004361726480
+:100E40002072656D6F766564004361726420696E1F
+:100E50007365727465640047312045343020463133
+:100E60003030004731204536352046343030004D93
+:100E7000383300473120452D38302046343030009B
+:100E80004D3833002D2D3A2D2D002D2D2D0053449E
+:100E9000000120000120004D363030004368616EB3
+:100EA00067652066696C616D656E7400466C6F776E
+:100EB00000466C6F770046616E2073706565640054
+:100EC00046616E207370656564004265640042652A
+:100ED00064004E6F7A7A6C65004E6F7A7A6C6500AA
+:100EE0005370656564005370656564004D61696E9B
+:100EF00000436F6F6C646F776E00464C4558202D31
+:100F000020203235302F35300050502020202D2029
+:100F1000203235342F3130300048495053202D20B5
+:100F2000203232302F3130300050455420202D20D7
+:100F3000203234302F393000504C4120202D2020D9
+:100F40003232302F35300041425320202D202032C4
+:100F500038352F313030004D61696E004D38340026
+:100F60004D383420582059205A2045004D32340045
+:100F70004D323320257300052E2E004D61696E0021
+:100F800046616E2073706565640046616E20737003
+:100F90006565640042656400426564004E6F7A7A5C
+:100FA0006C65004E6F7A7A6C650053657474696E77
+:100FB000677300580059005A00457874727564656B
+:100FC00072004578747275646572004D6F766520A5
+:100FD0005A004D6F76652059004D6F766520580098
+:100FE00053657474696E67730047323800417574D5
+:100FF0006F20686F6D65004D38340044697361621D
+:101000006C652073746570706572730047323820A8
+:101010005A0043616C696272617465205A004D6FB9
+:10102000766520617869730054656D7065726174CE
+:10103000757265004D61696E005265763A203330F5
+:10104000302D316100686F77746F2E707275736127
+:1010500033642E636F6D00666F72756D2E707275DE
+:10106000736133642E636F6D0070727573613364E6
+:101070002E636F6D004669726D77617265202D2059
+:10108000322E322E31004D61696E00537570706FD3
+:1010900072740053657474696E677300556E6C6F7B
+:1010A00061642066696C616D656E74004C6F61648B
+:1010B0002066696C616D656E74004E6F205344202C
+:1010C00063617264005072696E742066726F6D2085
+:1010D00053440053746F70207072696E74005265CF
+:1010E00073756D65207072696E74005061757365FB
+:1010F000207072696E740050726568656174005486
+:10110000756E6500496E666F2073637265656E006B
+:1011100048617264636F6465642044656661756CE0
+:10112000742053657474696E6773204C6F616465D5
+:10113000640046696C616D656E74207365747469D2
+:101140006E67733A2044697361626C6564002020A5
+:10115000204D32303020440046696C616D656E74FC
+:101160002073657474696E67733A002020204D32D5
+:1011700030392053004175746F2D5265747261636C
+:10118000743A20533D3020746F2064697361626C3F
+:10119000652C203120746F20696E746572707265E1
+:1011A0007420657874727564652D6F6E6C79206D2E
+:1011B0006F766573206173207265747261637473F6
+:1011C000206F72207265636F7665726965730020A7
+:1011D00046002020204D3230382053005265636F86
+:1011E0007665723A20533D4578747261206C656E65
+:1011F00067746820286D6D2920463A5370656564D0
+:1012000020286D6D2F6D2900205A002046002020D7
+:10121000204D323037205300526574726163743A46
+:1012200020533D4C656E67746820286D6D292046FB
+:101230003A537065656420286D6D2F6D29205A3AE8
+:10124000205A4C69667420286D6D290020440020C6
+:1012500049002020204D3330312050005049442097
+:1012600073657474696E67733A00205A00205900E0
+:1012700020204D323036205800486F6D65206F6653
+:101280006673657420286D6D293A00204500205A48
+:101290000020580020420020540020204D323035DC
+:1012A000205300416476616E6365642076617269E3
+:1012B00061626C65733A20533D4D696E20666565C9
+:1012C000647261746520286D6D2F73292C20543D44
+:1012D0004D696E2074726176656C20666565647216
+:1012E00061746520286D6D2F73292C20423D6D6936
+:1012F0006E696D756D207365676D656E74207469B8
+:101300006D6520286D73292C20583D6D6178696DBD
+:10131000756D205859206A65726B20286D6D2F738A
+:10132000292C20205A3D6D6178696D756D205A20F9
+:101330006A65726B20286D6D2F73292C2020453D26
+:101340006D6178696D756D2045206A65726B202826
+:101350006D6D2F73290020540020204D3230342031
+:101360005300416363656C65726174696F6E3A2006
+:10137000533D616363656C65726174696F6E2C20A7
+:10138000543D7265747261637420616363656C655A
+:10139000726174696F6E00204500205A0020590068
+:1013A00020204D3230312058004D6178696D756DC7
+:1013B00020416363656C65726174696F6E20286D8E
+:1013C0006D2F7332293A00204500205A0020590021
+:1013D00020204D3230332058004D6178696D756D95
+:1013E0002066656564726174657320286D6D2F7366
+:1013F000293A00204500205A0020590020204D396C
+:101400003220580053746570732070657220756EB9
+:1014100069743A0045303A20005A3A2000593A207F
+:1014200000583A20004D53312C4D53322050696EF4
+:10143000730A00656E6473746F7073206869743A20
+:10144000205A00205A3A00656E6473746F707320DE
+:101450006869743A20590020593A00656E647374C3
+:101460006F7073206869743A20580020583A0065FC
+:101470006E6473746F7073206869743A200024F48A
+:10148000D43050C38E20C2A24017828B7011127AC2
+:10149000910D816CD90AA861E108C75866076151AE
+:1014A00043061E4B5D05C145A7041A411104093DC1
+:1014B0009803713931034036DB0265339102D43031
+:1014C0005402802E1D02632CEE01752AC501B0283E
+:1014D000A001102781018F2564012B244B01E022FC
+:1014E0003401AC211F018D200D01801FFC00841EE2
+:1014F000ED00971DDF00B81CD200E61BC600201BC4
+:10150000BC00641AB200B219A8000A19A0006A1837
+:101510009900D117910040178B00B5168400311641
+:101520007E00B31579003A157300C7146F00581484
+:101530006A00EE1366008813630025135E00C7126D
+:101540005B006C12570015125400C111510070114C
+:101550004F0021114B00D61049008D104700461056
+:10156000440002104200C00F4000800F3E00420FB6
+:101570003C00060F3B00CB0E3800930E37005C0E8C
+:101580003500270E3400F30D3200C10D3100900DEF
+:101590003000600D2E00320D2D00050D2C00D90CF1
+:1015A0002B00AE0C2900850C29005C0C2700350CA3
+:1015B00027000E0C2600E80B2400C40B2400A00B0F
+:1015C00023007D0B23005A0B2100390B2100180B3F
+:1015D0002000F80A1F00D90A1E00BB0A1E009D0A3F
+:1015E0001D00800A1D00630A1C00470A1B002C0A0C
+:1015F0001B00110A1A00F7091A00DD091900C409B5
+:101600001900AB091900920917007B09180063093A
+:1016100017004C09160036091600200916000A09A1
+:101620001500F5081500E0081400CC081400B808EF
+:101630001400A4081400900813007D0812006B0821
+:10164000130058081200460812003408110023083D
+:1016500011001208110001081100F0071000E00746
+:101660001000D0071000C0071000B0070F00A1073E
+:10167000100091070E0083070F0074070F00650725
+:101680000E0057070E0049070E003B070D002E07FE
+:101690000E0020070D0013070D0006070D00F906C8
+:1016A0000C00ED060D00E0060C00D4060C00C80688
+:1016B0000C00BC060C00B0060C00A4060B0099063A
+:1016C0000C008D060B0082060B0077060B006C06E3
+:1016D0000B0061060A0057060B004C060A00420682
+:1016E0000A0038060A002E060A0024060A001A0616
+:1016F0000A001006090007060A00FD050900F405A6
+:101700000900EB050900E2050900D9050900D0052B
+:101710000900C7050900BE050900B5050800AD05AB
+:101720000800A50509009C050800940508008C0523
+:101730000800840508007C050800740508006C0595
+:101740000700650508005D050700560508004E0501
+:101750000700470507004005080038050700310568
+:1017600007002A050700230507001C0506001605CB
+:1017700007000F0507000805060002050700FB0427
+:101780000600F5040700EE040600E8040600E20483
+:101790000700DB040600D5040600CF040600C904D8
+:1017A0000600C3040600BD040600B7040600B10429
+:1017B0000500AC040600A6040600A00405009B0476
+:1017C000060095040500900406008A0405008504BF
+:1017D0000500800406007A04050075040500700405
+:1017E00005006B04050066040500610405005C0447
+:1017F000050057040500520405004D040500480487
+:101800000500430405003E0404003A0405003504C5
+:101810000500300404002C04050027040400230400
+:1018200005001E0404001A04040016040500110437
+:1018300004000D040400090405000404040000046D
+:101840000400FC030400F8030400F4030400F003A4
+:101850000400EC030400E8030400E4030400E003D4
+:101860000400DC030400D8030400D4030400D00304
+:101870000400CC030400C8030300C503030024F4E0
+:1018800004D9201BC40C5C0E9804C4095F026507D0
+:101890007101F405F900FB04B30048048700C1039B
+:1018A00069005803550003034500BE023A00840254
+:1018B000310053022A002902250004022000E4011D
+:1018C0001C00C8011900AF01170098011400840121
+:1018D0001300710110006101100051010E0043015D
+:1018E0000D0036010B002B010B0020010B00150130
+:1018F00009000C01090003010800FB000800F300C7
+:101900000800EB000700E4000600DE000600D80037
+:101910000600D2000600CC000500C7000500C2008A
+:101920000500BD000400B9000400B5000400B100CA
+:101930000400AD000400A9000400A5000300A200FB
+:1019400003009F0004009B00030098000300950023
+:10195000020093000300900003008D0002008B0042
+:10196000030088000200860002008400030081005A
+:1019700002007F0002007D0002007B00020079006F
+:10198000020077000100760002007400020072007D
+:101990000100710002006F0002006D0001006C0088
+:1019A00002006A0001006900020067000100660091
+:1019B0000100650001006400020062000100610096
+:1019C0000100600001005F0002005D0001005C009A
+:1019D00001005B0001005A0001005900010058009D
+:1019E000010057000100560001005500010054009D
+:1019F000010053000000530001005200010051009B
+:101A00000100500001004F0001004E0000004E0098
+:101A100001004D0001004C0001004B0000004B0094
+:101A200001004A0001004900010048000000480090
+:101A3000010047000100460000004600010045008B
+:101A40000000450001004400010043000000430085
+:101A5000010042000000420001004100000041007E
+:101A60000100400001003F0000003F0001003E0077
+:101A700000003E0001003D0000003D0001003C0070
+:101A800000003C0000003C0001003B0000003B0067
+:101A900001003A0000003A0001003900000039005E
+:101AA0000100380000003800000038000100370055
+:101AB000000037000100360000003600000036004C
+:101AC0000100350000003500000035000100340041
+:101AD0000000340000003400010033000000330037
+:101AE000000033000100320000003200000032002C
+:101AF0000100310000003100000031000100300021
+:101B0000000030000000300001002F0000002F0016
+:101B100000002F0000002F0001002E0000002E000A
+:101B200000002E0001002D0000002D0000002D00FF
+:101B300000002D0001002C0000002C0000002C00F3
+:101B400000002C0001002B0000002B0000002B00E7
+:101B500000002B0001002A0000002A0000002A00DB
+:101B600000002A00010029000000290000002900CF
+:101B700000002900000029000100280000002800C2
+:101B800000002800000028000000280001002700B5
+:101B900000002700000027000000270000002700A9
+:101BA000010026000000260000002600000026009C
+:101BB000000026000100250000002500000025008F
+:101BC0000000250000002500000025000100240081
+:101BD0000000240000002400000024000000240075
+:101BE0000100230000002300000023000000230068
+:101BF0000000230000002300000023000100220059
+:101C0000000022000000220000002200000022004C
+:101C1000000022000100210000002100000021003E
+:101C20000000210000002100000021000000210030
+:101C30000100200000002000000020000000200023
+:101C40000000200000002000000020000000200014
+:101C500001001F0000001F0000001F0000001F0007
+:101C600000001F0000001F0000001F0001001E00F8
+:101C700000001E0000001E0000001E000000207476
+:101C80006F6F206C6F6E6720657874727573696F03
+:101C90006E2070726576656E7465640020636F6C8B
+:101CA0006420657874727573696F6E2070726576E2
+:101CB000656E746564000000090A02080B0C0D07CC
+:101CC0000603040100000000000000000000000006
+:101CD0000000000000000000000000000000000004
+:101CE000000011100F0000000000000000000000C4
+:101CF00000000000000000000000000000000000E4
+:101D000000000000000000000000000001021020A0
+:101D10002008081020401020408002010201080421
+:101D200002010102040810204080804020100804B5
+:101D3000020180040201804020100804020108040E
+:101D40000201010204081020408001020408102052
+:101D5000408010080408801020400440801020407B
+:101D600004800505050507050808080802020202A7
+:101D70000A0A080804040404010101010101010127
+:101D80000303030303030303040707070C0C0C0CF2
+:101D90000C0C0C0C020202020606060606060606DB
+:101DA0000B0B0B0B0B0B0B0B07070A0A0A0A0A0A91
+:101DB000050505040404080800002000230026008F
+:101DC00029002C002F003200000100000301060151
+:101DD000090100002200250028002B002E00310000
+:101DE000340002010000050108010B010000210080
+:101DF000240027002A002D003000330001010000DC
+:101E0000040107010A01024E414E494E4954594905
+:101E10004E46CDCCCC3D0AD7233C17B7D13877CC32
+:101E20002B329595E6241FB14F0A00002041000097
+:101E3000C84200401C4620BCBE4CCA1B0E5AAEC550
+:101E40009D749D63FF7DEDA5A16311241FBECFEF9F
+:101E5000D1E2DEBFCDBF00E00CBF15E0A0E0B2E0F4
+:101E6000E2E6F2E701E00BBF02C007900D92A23E4E
+:101E7000B107D9F724E1A2EEB5E001C01D92AD3B58
+:101E8000B207E1F71EE1C8E4DEE100E006C02297F8
+:101E90000109FE010BBF0E94D8B2C234D10780E015
+:101EA0000807A9F70E94F1A90C9420B90C9400002E
+:101EB000CF93DF93EC019C012C5F3F4F41E050E05A
+:101EC00060E070E0898D9A8D0E94FA19882399F05C
+:101ED0004D895E896F89788D452B462B472B59F4A8
+:101EE0004C815D816E817F814D8B5E8B6F8B788F96
+:101EF000998190689983DF91CF910895CF92DF9275
+:101F0000EF92FF920F931F93CF93DF93EC01898998
+:101F10009A89AB89BC89803E9F4FAF41B10510F0D3
+:101F200080E06BC0CE01C4DF8823D1F30E940E187D
+:101F3000182F8823A9F3E98DFA8DCC80DD80EE80FF
+:101F4000FF8032E0C31AD108E108F108058404C01B
+:101F5000CC0CDD1CEE1CFF1C0A94D2F786859785FD
+:101F6000A089B189C80ED91EEA1EFB1E81E08093AC
+:101F7000E805C092EB07D092EC07E092ED07F092F3
+:101F8000EE0780E092E0EBEEF5E0DF019C011D92B0
+:101F900021503040E1F701E0E98DFA8D8481081786
+:101FA00090F42BEE35E0B701A601400F511D611DE5
+:101FB000711D8091E9059091EA050E94E73B882315
+:101FC000E1F00F5FE9CFC12C82E0D82EE12CF12C9B
+:101FD000058404C0CC0CDD1CEE1CFF1C0A94D2F757
+:101FE00049895A896B897C894C0D5D1D6E1D7F1D49
+:101FF000498B5A8B6B8B7C8B812FDF91CF911F91FB
+:102000000F91FF90EF90DF90CF900895CF93DF93E3
+:10201000EC0141E0611101C040E06C857D858E8559
+:102020009F850E944E18882341F0888920E2829F74
+:10203000C001112485519A4F02C080E090E0DF91E9
+:10204000CF91089530E020E04EE2DC015C91503207
+:1020500071F0383029F4FB01E20FF11D40832F5F4E
+:10206000FB01E20FF11DDC015C9150832F5F3F5FAC
+:1020700001963B3051F7FB01E20FF11D10820895EC
+:10208000CF93DF93EB01FC012381211102C080E09B
+:102090000EC02250223020F48FE28883198206C0BD
+:1020A00060E0B4DF009799F3BE01CCDF81E0DF91FF
+:1020B000CF910895FB012BE030E231932150E9F7F5
+:1020C000DC0190E027E03A2FEB2F8D9181110AC0BF
+:1020D000DA013C931196EC9381E0FB019081903200
+:1020E00039F525C08F32A1F38E3219F0EAE8F1E01C
+:1020F00008C02A30E1F098E02AE0E5CF31963817A1
+:10210000B1F034913111FACF291788F03FED380F33
+:102110003E3568F431E0390FFB01E90FF11D9FE90D
+:10212000980F9A3108F480528083932FCCCF80E0AF
+:1021300008950F931F93CF93DF93EC018B018B8155
+:10214000882311F080E042C0FB018789803139F19A
+:102150008032C1F783E08B83F801428D538D648D0B
+:10216000758D4D8B5E8B6F8B788F9E012F5E3F4FF1
+:10217000C8010E940519882329F31A8F098F81E06D
+:1021800089831C821D821E821F82188619861A86E8
+:102190001B861C861D861E861F86188A17C082E035
+:1021A0008B831D8A1E8A1F8A188EFB01408D518DDC
+:1021B00060E070E095E0440F551F661F771F9A9509
+:1021C000D1F7498B5A8B6B8B7C8BD7CFDF91CF911B
+:1021D0001F910F9108952F923F924F925F926F92AD
+:1021E0007F928F929F92AF92BF92CF92DF92EF92A7
+:1021F000FF920F931F93CF93DF93EC015B016A0172
+:102200008B81811103C08FEF9FEFC7C0898180FF51
+:10221000FACF49895A896B897C8988859985AA85ED
+:10222000BB852601612C712C8A019B01081B190BAF
+:102230002A0B3B0B401651066206730618F06A0122
+:10224000C81AD90A76013E0124E0620E711CE1141D
+:10225000F10409F476C0488559856A857B854A0171
+:1022600081E098222B811A012B01E9E056944794D2
+:1022700037942794EA95D1F7898D9A8DFC01223005
+:1022800049F4628D738D848D958D620D731D841D4F
+:10229000951D3CC014811150122181149104C1F488
+:1022A000111116C0452B462B472B49F48D899E8969
+:1022B000AF89B88D8C839D83AE83BF8309C04C8169
+:1022C0005D816E817F81930121D7882309F49BCFA3
+:1022D000E98DFA8D6C817D818E819F8162507109BB
+:1022E00081099109058404C0660F771F881F991F13
+:1022F0000A94D2F72685378540895189620F731F6A
+:10230000841F951F610F711D811D911D20E032E01A
+:102310002819390987012E153F0508F4890101158F
+:10232000F2E01F0769F52091EB073091EC0740912F
+:10233000ED075091EE07621773078407950719F4AC
+:102340001FC0C6012AC09501AB01BC018091E905FF
+:102350009091EA050E94723B882309F454CFA00EA5
+:10236000B11E88859985AA85BB85800F911FA11D07
+:10237000B11D88879987AA87BB87E01AF10A67CFC2
+:1023800040E08CD6882309F43ECFB40165517A4FE2
+:10239000A801C5010E94F5B5E2CFDF91CF911F9151
+:1023A0000F91FF90EF90DF90CF90BF90AF909F90F4
+:1023B0008F907F906F905F904F903F902F900895F7
+:1023C000CF93DF931F92CDB7DEB741E050E0BE015F
+:1023D0006F5F7F4F00DF019719F4898190E002C0A1
+:1023E0008FEF9FEF0F90DF91CF910895CF92DF9203
+:1023F000EF92FF920F931F93CF93DF936C01EB014A
+:102400007A01FC018381823060F00085118522858C
+:1024100033850F71112722273327012B022B032B22
+:1024200011F08FEF5CC04115510511F0F7011082DA
+:102430001DE040E250E0BE01C601CDDE80329105D4
+:1024400039F021E0892B09F420E0822F819547C0E3
+:1024500028812223C1F0253E61F32E3251F33B85C2
+:102460003F733F3061F4E114F10449F04A8D5B8D14
+:10247000452B29F42F713FEF320F343030F02B858C
+:1024800023FDD7CF2CC080E02AC030E02150310995
+:10249000129FC001139F900D1124F701E80FF91F3F
+:1024A000298120832B8121832D8122832F812383E6
+:1024B000298524832E852583288926832A892783B5
+:1024C0002C8920872E892187288D22872C8D238790
+:1024D0002E8D2487288126FFD2CF1586D0CFDF917D
+:1024E000CF911F910F91FF90EF90DF90CF900895C3
+:1024F0001F93CF93DF93EC018B81823018F480E03F
+:1025000090E023C0488559856A857B85A5E076954E
+:10251000679557954795AA95D1F7142F1F70CE014F
+:102520004FDF97FDECCF488559856A857B85415EF5
+:102530005F4F6F4F7F4F488759876A877B8720E2BD
+:10254000129FC001112485519A4FDF91CF911F91A5
+:1025500008954F925F926F927F92AF92BF92CF9207
+:10256000DF92EF92FF920F931F93CF93DF93EC01D3
+:102570006A017B012B81222349F089899A89AB89E1
+:10258000BC8984179507A607B70710F480E06BC0D5
+:10259000223009F463C0C114D104E104F10449F408
+:1025A0001C821D821E821F82188619861A861B862F
+:1025B00059C088859985AA85BB85E98DFA8DE58501
+:1025C000F0E03996AC01BD01415051096109710932
+:1025D0000E2E04C076956795579547950A94D2F7C5
+:1025E00097018601015011092109310904C036956E
+:1025F000279517950795EA95D2F70417150726072B
+:10260000370720F0892B8A2B8B2B49F48D899E89E3
+:10261000AF89B88D8C839D83AE83BF8304C0041BB8
+:10262000150B260B370B280139015E0184E0A80E3B
+:10263000B11C411451046104710481F04C815D812D
+:102640006E817F819501898D9A8D60D591E0491ABF
+:102650005108610871088111ECCF05C0C886D98680
+:10266000EA86FB8681E0DF91CF911F910F91FF9069
+:10267000EF90DF90CF90BF90AF907F906F905F9082
+:102680004F9008950F931F93CF93DF93EC018B81AD
+:102690008823D1F1898187FF32C061E0CE01B6DCA9
+:1026A0008C01009789F1FC018081853E69F18B8165
+:1026B000823040F449895A896B897C89448F558FCF
+:1026C000668F778F4D895E896F89788DF801538F7A
+:1026D000428F758B648BE091E205F091E3053097B2
+:1026E00059F0B8016A5E7F4FC80148961995F80104
+:1026F000808D918D938B828B89818F778983DF91F8
+:10270000CF911F910F918AC481E0888380E0DF918F
+:10271000CF911F910F910895CF93DF93EC01B2DF1A
+:102720001B82DF91CF910895FC0123812111F4CF09
+:1027300008954F925F926F927F92AF92BF92CF9225
+:10274000DF92EF92FF920F931F93CF93DF9300D00E
+:102750001F92CDB7DEB75C016A017B01FC0183816A
+:102760008130E9F4818181FF1AC0F5018189928964
+:10277000A389B48984179507A607B70780F0892B2A
+:102780008A2B8B2B09F472C0F5014084518462843A
+:102790007384B701A601C501DCDE811102C080E0AF
+:1027A00066C0F501818D928DC114D104E104F1045C
+:1027B00069F4458956896789708D25D7882379F30F
+:1027C000F501158A168A178A108E37C0F5014481E3
+:1027D0005581668177819E012F5F3F4F97D4882373
+:1027E000F1F249815A816B817C81F501818D928D55
+:1027F000FC012789203139F4483FFFEF5F0761056D
+:102800007105D8F407C0483F2FEF520762072FE049
+:10281000720798F4F8D6882309F4C1CFF5014481F2
+:102820005581668177810FEF1FEF2FEF3FE0818D9C
+:10283000928D51D5882309F4B2CFF501C18AD28A8D
+:10284000E38AF48A818180688183C5011BDF882344
+:1028500009F4A5CFB701A6014C145D046E047F04F2
+:1028600010F4B301A201C50174DE01C081E00F9034
+:102870000F900F900F90DF91CF911F910F91FF90CC
+:10288000EF90DF90CF90BF90AF907F906F905F9070
+:102890004F900895FF920F931F93CF93DF93EC0116
+:1028A000F42E80E2689FF0011124E551FA4F8385F0
+:1028B000817121F0842F827109F04EC08091EB0765
+:1028C0009091EC07A091ED07B091EE078C879D8762
+:1028D000AE87BF87688B4489558960E070E0BA0194
+:1028E00055274427028D138D20E030E0402B512BDB
+:1028F000622B732B4D8B5E8B6F8B788F83858871EA
+:1029000051F4048D158D268D378D098B1A8B2B8BE9
+:102910003C8B81E00BC08031F9F49E012F5E3F4F6C
+:10292000898D9A8D72D48823B9F084E08B838F2DA2
+:102930008F7089831C821D821E821F8218861986D1
+:102940001A861B86F4FE0BC040E050E0BA01CE01AF
+:10295000F0DE811104C011C01B8280E00EC0F5FEC4
+:102960000BC049895A896B897C89CE01DF91CF914F
+:102970001F910F91FF90EDCD81E0DF91CF911F91DD
+:102980000F91FF900895AF92BF92CF92DF92EF9296
+:10299000FF920F931F93CF93DF937C01EB016A01AA
+:1029A000B22E898D9A8DF701928F818F40E050E091
+:1029B000BA01CE01CEDDA12C088519852A853B857B
+:1029C00089899A89AB89BC89081719072A073B07A7
+:1029D000A0F585E036952795179507958A95D1F747
+:1029E0000F70CE0185DD009709F481C0FC012081C4
+:1029F000222311F0253EB9F4A1100EC04091EB073F
+:102A00005091EC076091ED077091EE07F701448754
+:102A1000558766877787008BFC018081AA24A39461
+:102A20008111CACF0AC04BE050E0BC01C6010E9430
+:102A3000E8B5892B09F0C0CF58C08B2D8274823441
+:102A400009F055C0AA2049F0F701008961E0C701EB
+:102A5000DDDAEC01009769F44AC08B81823009F419
+:102A600046C0CE014BDA882309F441C0CBEED5E055
+:102A700000E080E2FE0111928A95E9F78BE0F60111
+:102A8000DE0101900D928A95E1F7E091E205F09167
+:102A9000E305309739F0BE01625F7F4FCE0140966B
+:102AA000199508C081E298E2998B888B80E098E0C4
+:102AB0009F878E87888999899B8B8A8B998F888F2E
+:102AC0008E859F859F8B8E8BA9D2882381F04B2D7D
+:102AD000602FC701DF91CF911F910F91FF90EF9071
+:102AE000DF90CF90BF90AF90D5CEB7FEF0CF80E013
+:102AF000DF91CF911F910F91FF90EF90DF90CF90DA
+:102B0000BF90AF9008953F924F925F926F927F92E5
+:102B10008F929F92AF92BF92CF92DF92EF92FF92ED
+:102B20000F931F93CF93DF93CDB7DEB7C354D10973
+:102B30000FB6F894DEBF0FBECDBF5C016B012496CB
+:102B40005FAF4EAF2497522E1C8E1F8E19821C82AF
+:102B50006115710511F410E073C0FC0183818111CE
+:102B6000FACF2496EEADFFAD249780818F3211F01D
+:102B700076011DC02496EEADFFAD249780818F3283
+:102B800031F431962496FFAFEEAF2497F3CFF601E0
+:102B900083818250823060F3F601618D728DCE01A7
+:102BA0000196C7DA8823B9F2CE0101967C018E0125
+:102BB000045E1F4F3801FE0131964F01402E312E29
+:102BC00019C08823A9F121E0AE01495C5F4FB7012C
+:102BD000C801D9DE882309F4BECFEC14FD0411F03E
+:102BE000C7019ADD0615170501F1942D832D780193
+:102BF000092F182FAE014E5B5F4FBE01695C7F4FFE
+:102C000024968EAD9FAD249755DA882309F4A3CF7F
+:102C10002496EEADFFAD249780818F3291F63196E8
+:102C20002496FFAFEEAF2497F3CF982D892DDFCFF9
+:102C3000252DAE01495C5F4FB701C501A4DE182FF9
+:102C4000CE01019671DDCE014C966EDD812FCD5BFC
+:102C5000DF4F0FB6F894DEBF0FBECDBFDF91CF912F
+:102C60001F910F91FF90EF90DF90CF90BF90AF90AA
+:102C70009F908F907F906F905F904F903F900895BE
+:102C8000CF93DF93EC0140E050E0BA0152DD88239E
+:102C900061F061E0CE01BAD9009739F025EEFC0170
+:102CA00020831B82DF91CF91B9C180E0DF91CF916A
+:102CB00008951F93CF93DF93CDB7DEB76B970FB611
+:102CC000F894DEBF0FBECDBFAB0119821C8222E09B
+:102CD000BC01CE01019617DF182F882321F0CE0109
+:102CE0000196CEDF182FCE0101961EDD812F6B9647
+:102CF0000FB6F894DEBF0FBECDBFDF91CF911F910D
+:102D000008952F923F924F925F926F927F928F928F
+:102D10009F92AF92BF92CF92DF92EF92FF920F936A
+:102D20001F93CF93DF9300D01F921F92CDB7DEB7D2
+:102D30008C015B013A01DC0113968C911397813071
+:102D4000C1F411968C9181FF14C082FF18C0F80164
+:102D5000418952896389748980859185A285B3856B
+:102D600084179507A607B70751F0C801F2DB811158
+:102D700006C081E0F80180838FEF9FEF37C16301C8
+:102D800083C0D80159968D919C915A97FC01F4818A
+:102D9000F1501A012B0169E0569447943794279417
+:102DA0006A95D1F7F221FD834A0121E09222FF23A7
+:102DB00009F476C080E092E08819990976018C15B3
+:102DC0009D0508F47C01D8015996ED91FC915A9724
+:102DD00014962D903D904D905C901797B2E02B1A71
+:102DE000310841085108058404C0220C331C441CDE
+:102DF000551C0A94D2F786859785A089B189280E3B
+:102E0000391E4A1E5B1EED812E0E311C411C511CC9
+:102E1000E114F2E0FF0609F089C08091EB07909180
+:102E2000EC07A091ED07B091EE0782159305A4057C
+:102E3000B50569F41092E8058FEF9FEFDC018093F0
+:102E4000EB079093EC07A093ED07B093EE07950185
+:102E5000B201A1018091E9059091EA050E94E73B4A
+:102E6000882309F486CFF80180859185A285B385F2
+:102E70008E0D9F1DA11DB11D80879187A287B387ED
+:102E8000AE0CBF1CCE18DF08D80118964D915D918D
+:102E90006D917C911B97C114D10409F072CF7AC057
+:102EA0008114910409F086CF14964D915D916D9136
+:102EB0007C911797411551056105710559F4559697
+:102EC0008D919D910D90BC91A02D0097A105B1050C
+:102ED00039F520C09E012F5F3F4F18D1882309F498
+:102EE00048CF89819A81AB81BC81F801218D328DD7
+:102EF000F9012789203139F4883FFFEF9F07A105A9
+:102F0000B10540F40DC0883F2FEF9207A2072FE0D4
+:102F1000B20730F0C8010E94580F81114BCF29CF62
+:102F2000F80184839583A683B78344CF81149104E9
+:102F300011F5D80118964D915D916D917C911B977B
+:102F400051968D919D910D90BC91A02D48175907D8
+:102F50006A077B0780F062D0882309F40ACF81E0FA
+:102F60008093E8052092EB073092EC074092ED0742
+:102F70005092EE0707C041E0C201B1018FD0882313
+:102F800009F4F7CEA701B501C40185519A4F0E94FB
+:102F9000F5B569CF51968D919D910D90BC91A02D65
+:102FA000F801218184179507A607B70738F4418BEC
+:102FB000528B638B748B206821830CC08091E20557
+:102FC0009091E305892B31F06114710419F02068A8
+:102FD000F8012183D80111968C9183FD02C0C301B1
+:102FE00005C0C8014FDB8111FACFC3CE0F900F90FF
+:102FF0000F900F900F90DF91CF911F910F91FF9045
+:10300000EF90DF90CF90BF90AF909F908F907F9088
+:103010006F905F904F903F902F900895CF93809145
+:10302000E8058823B9F14091EB075091EC076091D6
+:10303000ED077091EE072BEE35E08091E905909158
+:10304000EA050E94E73BC82F811102C0C0E023C0FF
+:103050004091E4055091E5056091E6057091E70522
+:10306000411551056105710591F02BEE35E0809118
+:10307000E9059091EA050E94E73B882339F3109215
+:10308000E4051092E5051092E6051092E70510920E
+:10309000E80501C0C1E08C2FCF910895CF92DF9257
+:1030A000EF92FF92CF936B017C01C42F8091EB07CD
+:1030B0009091EC07A091ED07B091EE078C159D055E
+:1030C000AE05BF05C9F0AADF811102C080E018C0BB
+:1030D0002BEE35E0B701A6018091E9059091EA0554
+:1030E0000E94723B882391F3C092EB07D092EC07C9
+:1030F000E092ED07F092EE0781E0C1118093E805C0
+:10310000CF91FF90EF90DF90CF9008958F929F9294
+:10311000AF92BF92CF92DF92EF92FF920F931F93E5
+:10312000CF93DF93EC016A017B01890189859A8540
+:10313000AB85BC850196A11DB11D84179507A60717
+:10314000B70710F480E054C08F89803129F49927A3
+:10315000872F762F652F0BC08032A1F7CB01BA01E4
+:1031600027E096958795779567952A95D1F78B886F
+:103170009C88AD88BE88680D791D8A1D9B1D809036
+:10318000EB079090EC07A090ED07B090EE07681564
+:1031900079058A059B0581F48F89803191F4DD24BE
+:1031A000EE24FF24F601EE0FFF1FE551FA4F808158
+:1031B0009181A0E0B0E016C040E070DF8111ECCF5B
+:1031C000C1CFE894C7F8DD24EE24FF24F601EE0F0A
+:1031D000FF1FEE0FFF1FE551FA4F80819181A28101
+:1031E000B381BF70F80180839183A283B38381E0B0
+:1031F000DF91CF911F910F91FF90EF90DF90CF90D3
+:10320000BF90AF909F908F9008954F925F926F9272
+:103210007F92AF92BF92CF92DF92EF92FF920F9385
+:103220001F93CF93DF9300D01F92CDB7DEB78C01F1
+:1032300049835A836B837C835901C12CD12C76013D
+:10324000412C42E0542E612C712C49815A816B81B2
+:103250007C819E012F5F3F4FC80158DF882341F1D9
+:10326000D301C201F801058404C0880F991FAA1F69
+:10327000BB1F0A94D2F7C80ED91EEA1EFB1E498155
+:103280005A816B817C818789803139F481E0483FA4
+:103290005F4F6105710538F4D8CF81E0483F5F4F3B
+:1032A0006F4F7F4090F2F501C082D182E282F382BB
+:1032B0000F900F900F900F90DF91CF911F910F9172
+:1032C000FF90EF90DF90CF90BF90AF907F906F9086
+:1032D0005F904F9008954F925F926F927F928F927E
+:1032E0009F92AF92BF92CF92DF92EF92FF920F9395
+:1032F0001F93CF93DF93EC014A015B012801390151
+:10330000423051056105710508F462C049855A854E
+:103310006B857C854F5F5F4F6F4F7F4F4815590519
+:103320006A057B0508F454C08F89803129F4FF2495
+:10333000EB2CDA2CC92C0CC0803209F049C0750185
+:10334000640177E0F694E794D794C7947A95D1F71F
+:103350004B895C896D897E89C40ED51EE61EF71ED9
+:1033600041E0C701B6019ADE882391F19F8990312F
+:1033700059F49924AA24BB24F401EE0FFF1FE55150
+:10338000FA4F5182408210C0E89487F89924AA2409
+:10339000BB24F401EE0FFF1FEE0FFF1FE551FA4FA4
+:1033A00040825182628273829A89923090F04D817C
+:1033B0005E816F8178854C0D5D1D6E1D7F1D409374
+:1033C000E4055093E5056093E6057093E70501C0B9
+:1033D00080E0DF91CF911F910F91FF90EF90DF90F0
+:1033E000CF90BF90AF909F908F907F906F905F90A5
+:1033F0004F9008952F923F924F925F926F927F92DB
+:103400008F929F92AF92BF92CF92DF92EF92FF92F4
+:103410000F931F93CF93DF93CDB7DEB72F970FB6E0
+:10342000F894DEBF0FBECDBF1C014C875D876E8751
+:103430007F873B872A87DC0119960D911D912D917D
+:103440003C911C970F5F1F4F2F4F3F4F0D831E83E3
+:103450002F833887EA85FB8580809180A280B380A6
+:1034600081149104A104B10431F0FFEF8F1A9F0A77
+:10347000AF0ABF0A10C0DC018D909D90AD90BC904A
+:10348000B1E0B9870C851D852E853F85013011057A
+:103490002105310509F0198675016401412C512C73
+:1034A0003201F10181859285A385B48548165906BC
+:1034B0006A067B0608F04EC00D811E812F8138857B
+:1034C0000C151D052E053F0550F4F2E0CF2ED12C32
+:1034D000E12CF12CA2E08A2E912CA12CB12C9E0182
+:1034E0002F5F3F4FB701A601C10110DE882391F184
+:1034F00049815A816B817C81D701C6010196A11D4A
+:10350000B11D452B462B472B19F04C015D010FC017
+:10351000AC01BD01481959096A097B090C851D8553
+:103520002E853F85401751076207730741F01FEF53
+:10353000411A510A610A710A6C017D01B2CF0FEF85
+:103540001FEF2FEF3FE0B701A601C101C4DE8D835D
+:10355000811113C01D823DC02601370121E0421AAE
+:1035600051086108710897018601B301A201C101E8
+:10357000B2DE882379F3730162018C149D04AE04DA
+:10358000BF0450F3AA85BB854D915D916D917C91EF
+:103590004115510561057105A9F4EA85FB85808215
+:1035A0009182A282B382F985FF2399F00FEF801AEE
+:1035B000900AA00AB00AD1018D929D92AD92BC9260
+:1035C000139707C095018401C10185DE8111E5CF04
+:1035D000C1CF8D812F960FB6F894DEBF0FBECDBF41
+:1035E000DF91CF911F910F91FF90EF90DF90CF90DF
+:1035F000BF90AF909F908F907F906F905F904F9013
+:103600003F902F900895AF92BF92CF92DF92EF92AA
+:10361000FF920F931F93CF93DF9300D01F92CDB7EC
+:10362000DEB75C016A017B0182E090E0A0E0B0E0DF
+:10363000F50180839183A283B3839E012F5F3F4F67
+:10364000B701A601C50162DD811102C080E023C07F
+:1036500000E010E09801B701A601C5013CDE882317
+:10366000A9F3C980DA80EB80FC80F501878980317D
+:1036700049F481E0F8EFCF16FFEFDF06E104F10433
+:1036800050F4DBCF81E098EFC9169FEFD906E90629
+:103690009FE0F90690F20F900F900F900F90DF913E
+:1036A000CF911F910F91FF90EF90DF90CF90BF903F
+:1036B000AF9008957F928F929F92AF92BF92CF92D8
+:1036C000DF92EF92FF920F931F93CF93DF93EC0162
+:1036D000142F7093EA056093E9051F8A82E090E059
+:1036E000A0E0B0E088839983AA83BB831092E805A9
+:1036F0001092E4051092E5051092E6051092E70598
+:103700008FEF9FEFDC018093EB079093EC07A09382
+:10371000ED07B093EE07442349F1453008F0DEC0D1
+:1037200040E060E070E0CB01B9DC882309F4D6C04A
+:1037300020E1129FF0011124E756F84F80818F7726
+:1037400009F0CCC084859585A685B785843691051A
+:10375000A105B10508F4C2C0C084D184E284F38419
+:10376000C114D104E104F10421F4B8C0C12CD12C5E
+:10377000760140E0C701B60191DC782E882309F478
+:10378000ADC08091F6059091F7058115924009F042
+:10379000A5C03091FB05332309F4A0C08091F90541
+:1037A0009091FA05892B09F499C02091F8052223FC
+:1037B00009F494C03A8B2C831D8630E041E050E040
+:1037C0006D85062FCA01062E02C0880F991F0A9424
+:1037D000E2F72817390731F081E0860F8D876830CE
+:1037E00078F37CC020910106309102062115310545
+:1037F00019F040E050E008C020910F06309110060B
+:1038000040911106509112062D833E834F835887B5
+:103810008091F9059091FA0546015701880E991E8D
+:10382000A11CB11C8B8A9C8AAD8ABE8AE091FC05E2
+:10383000F091FD05F98FE88FA091FB05B0E00E94A3
+:10384000C8B2680D791D8A1D9B1D6A8F7B8F8C8F76
+:103850009D8FB5E0EE0FFF1FBA95E1F7E150FE4FE7
+:10386000EF2FFF27E695DC01CB018E0F9F1FA11DD7
+:10387000B11D8E879F87A88BB98B8090FE05909095
+:10388000FF058114910419F0A12CB12C08C080907F
+:103890000B0690900C06A0900D06B0900E06A701A6
+:1038A0009601281B390B4A0B5B0BDA01C901880D05
+:1038B000991DAA1DBB1D04C0B695A7959795879520
+:1038C0000A95D2F789879A87AB87BC87853F3FE007
+:1038D0009307A105B10520F48CE08F8B712C15C0E6
+:1038E000853F9F4FA105B10510F480E10DC0809187
+:1038F000170690911806A0911906B0911A068A8FA2
+:103900009B8FAC8FBD8F80E28F8B872DDF91CF9106
+:103910001F910F91FF90EF90DF90CF90BF90AF90ED
+:103920009F908F907F9008954F925F926F927F92B9
+:103930008F929F92AF92BF92CF92DF92EF92FF92BF
+:103940000F931F93CF93DF932C0124E733E081E0A3
+:1039500090E0F90145915491441655060CF062C06F
+:10396000AC0141505109DA01AA0FBB1FAA0FBB1FBE
+:10397000AE58BC4FFD0165917491440F551F440F23
+:10398000551F40595C4FFA0165907490FC01EE0F91
+:10399000FF1FEE0FFF1FEE58FC4FA590B490FD01E6
+:1039A00005911491F901C591D491FA0185909490F3
+:1039B000882777FD8095982F0E9442AF6B017C018C
+:1039C000B20166197709882777FD8095982F0E94A4
+:1039D00042AF2B013C01B501601B710B882777FDBD
+:1039E0008095982F0E9442AF9B01AC01C301B201A8
+:1039F0000E9475B12B013C01BE0168197909882725
+:103A000077FD8095982F0E9442AF9B01AC01C301C6
+:103A1000B2010E94A7AE9B01AC01C701B6010E9492
+:103A2000C7AD11C001962C5F3F4F8D33910509F052
+:103A300090CFE2E6F4E065917491882777FD809558
+:103A4000982F0E9442AFDF91CF911F910F91FF906D
+:103A5000EF90DF90CF90BF90AF909F908F907F902E
+:103A60006F905F904F9008954F925F926F927F9208
+:103A70008F929F92AF92BF92CF92DF92EF92FF927E
+:103A80000F931F93CF93DF932C01662371F1E5E32E
+:103A9000FEE08491882341F09091C00095FFFCCF17
+:103AA0008093C6003196F5CF70E04AE050E08CE993
+:103AB0009DE00E945A8AE9E5F2E08491882341F072
+:103AC0009091C00095FFFCCF8093C6003196F5CF52
+:103AD0008091C00085FFFCCF8AE08093C6000E94E1
+:103AE000224560E070E0CB017EC024E733E081E056
+:103AF00090E0F90145915491441655060CF062C0CE
+:103B0000AC0141505109DA01AA0FBB1FAA0FBB1F1C
+:103B1000AE58BC4FFD0165917491440F551F440F81
+:103B2000551F40595C4FFA0165907490FC01EE0FEF
+:103B3000FF1FEE0FFF1FEE58FC4FA590B490FD0144
+:103B400005911491F901C591D491FA018590949051
+:103B5000882777FD8095982F0E9442AF6B017C01EA
+:103B6000B20166197709882777FD8095982F0E9402
+:103B700042AF2B013C01B501601B710B882777FD1B
+:103B80008095982F0E9442AF9B01AC01C301B20106
+:103B90000E9475B12B013C01BE0168197909882783
+:103BA00077FD8095982F0E9442AF9B01AC01C30125
+:103BB000B2010E94A7AE9B01AC01C701B6010E94F1
+:103BC000C7AD11C001962C5F3F4F8D33910509F0B1
+:103BD00090CFE2E6F4E065917491882777FD8095B7
+:103BE000982F0E9442AFDF91CF911F910F91FF90CC
+:103BF000EF90DF90CF90BF90AF909F908F907F908D
+:103C00006F905F904F90089560E08091440890918C
+:103C100045082ADF6093400870934108809342086A
+:103C20009093430880913E0890913F087DDE609319
+:103C30003A0870933B0880933C0890933D088FB7F7
+:103C4000F894109232088FBF089520911402309199
+:103C50001502409116025091170260E070E08FE764
+:103C600093E40E94A7AE60931208709313088093A8
+:103C7000140890931508089597FF03C080913908A0
+:103C800004C0FC01E45FF74F808190E00895CF937A
+:103C9000DF93D82FC62FC19561E00E9451A86C2FE9
+:103CA0008D2F0E948AA86C2F70E08D2FDF91CF910D
+:103CB0000C9447A7CF93C1E020E030E048E452E401
+:103CC00060914008709141088091420890914308AA
+:103CD0000E94A3B018160CF0C0E06C2F86E090E0B4
+:103CE000CF91D5CF2F923F924F925F926F927F925A
+:103CF0008F929F92AF92BF92CF92DF92EF92FF92FC
+:103D00000F931F93CF93DF93CDB7DEB728970FB6EE
+:103D1000F894DEBF0FBECDBF80913208882309F42E
+:103D2000F8C172DF8090400890904108A09042084E
+:103D3000B09043080091480810914908B8018827BD
+:103D400077FD8095982F0E9442AFA50194010E94B3
+:103D5000C6AD6B017C0160931A0870931B088093B9
+:103D60001C0890931D0820E030E040E251E40E94DE
+:103D7000A3B0181624F481E080931108F7C020E066
+:103D800030E040E251ECC701B6010E94A0AE87FDD1
+:103D900002C0012B21F481E0809311080CC18091B5
+:103DA0001108882351F010922E0810922F081092BB
+:103DB00030081092310810921108209118023091A9
+:103DC000190240911A0250911B02C701B6010E94CC
+:103DD00075B169837A838B839C8360932608709383
+:103DE0002708809328089093290820912E08309165
+:103DF0002F084091300850913108C701B6010E9448
+:103E0000C7AD2B013C012090160830901708109187
+:103E10001808009119089101412F502F0E94A0AE5F
+:103E200087FD14C0209012083090130810911408D8
+:103E3000009115089101412F502FB201C3010E943A
+:103E4000A3B018161CF01201162D072DC101A12FC9
+:103E5000B02F80932E0890932F08A0933008B09332
+:103E600031082091140230911502409116025091B0
+:103E70001702B101812F902F0E9475B16D837E834F
+:103E80008F83988760932208709323088093240877
+:103E90009093250820912A0830912B0840912C08F6
+:103EA00050912D08C501B4010E94C6AD20911002A9
+:103EB0003091110240911202509113020E9475B18B
+:103EC00020ED3CEC4CE45DE30E9475B12B013C011C
+:103ED00023E333E343E75FE360911E0870911F081B
+:103EE00080912008909121080E9475B19B01AC013E
+:103EF000C301B2010E94C7AD2B013C0160931E08B3
+:103F000070931F0880932008909321082D813E8193
+:103F10004F81588569817A818B819C810E94C7ADD0
+:103F2000A30192010E94C6AD2B013C0120E030E0CC
+:103F30004FE753E40E94A3B020E030E0A901181637
+:103F4000E4F4C701B6010E94A3B018167CF4A701DF
+:103F50009601B101812F902F0E94C6AD60932E086B
+:103F600070932F088093300890933108412C512C86
+:103F70009FE7692E93E4792E21C0C301B2010E940C
+:103F8000A0AE87FF1BC020E030E0A901C701B60149
+:103F90000E94A0AE87FF0FC0A7019601B101812F3B
+:103FA000902F0E94C6AD60932E0870932F088093C7
+:103FB000300890933108412C512C320180922A080C
+:103FC00090922B08A0922C08B0922D0860910408C2
+:103FD00070910508882777FD8095982F0E9442AF41
+:103FE0009B01AC01C501B4010E94A3B01816DCF41A
+:103FF0006091080270910902882777FD8095982FBB
+:104000000E9442AF9B01AC01C501B4010E94A0AE69
+:1040100087FF09C0C301B2010E940FAF7595679574
+:1040200060930C0802C010920C080E9431A9009104
+:1040300008081091090820910A0830910B08601BAC
+:10404000710B820B930B653C79408105910558F00B
+:1040500031DE0E9431A960930808709309088093AB
+:104060000A0890930B080E9431A900910D08109145
+:104070000E0820910F0830911008601B710B820B05
+:10408000930B683873418105910508F442C00E9482
+:1040900031A960930D0870930E0880930F089093D8
+:1040A0001008C0903A08D0903B08E0903C08F0908F
+:1040B0003D0820E030E040E751E4C701B6010E942E
+:1040C000A3B018161CF520E030E046E153E4C70128
+:1040D000B6010E94A0AE87FF19C06091460870919A
+:1040E0004708882777FD8095982F0E9442AF9B0153
+:1040F000AC01C701B6010E94A3B087FD03C01092B6
+:10410000390807C08FE78093390803C01092390837
+:10411000A59828960FB6F894DEBF0FBECDBFDF91ED
+:10412000CF911F910F91FF90EF90DF90CF90BF90B4
+:10413000AF909F908F907F906F905F904F903F9047
+:104140002F900895CF93DF931092160810921708BE
+:10415000109218081092190820911402309115023B
+:10416000409116025091170260E070E08FE793E4EF
+:104170000E94A7AE609312087093130880931408EE
+:10418000909315086D9A80910101806180930101DF
+:104190009D9A8091010180628093010187ED809357
+:1041A0007A0010927E0010927D0080917E008160E6
+:1041B00080937E0080917E00826080937E0080915B
+:1041C0007E00846080937E0080E888BD80916E00D0
+:1041D000846080936E006AEF70E080E090E00E945F
+:1041E00060A98FE090E0909305088093040860E058
+:1041F00080910A0290910B0237DC20E030E040E72A
+:1042000051E40E94A0AE87FF0AC080910A029091FB
+:104210000B02409790930B0280930A02E8CF8BE346
+:1042200091E0909309028093080260E08091060873
+:104230009091070819DC20E030E84DE953E40E9432
+:10424000A3B0181654F48091060890910708409680
+:104250009093070880930608E8CFC0910208D09198
+:104260000308CE0161DB20E030E046E153E40E9428
+:10427000A3B0181634F46096D0930308C0930208D4
+:10428000ECCFDF91CF9108950895109249081092D4
+:104290004808109247081092460810920C0875982A
+:1042A000109247081092460810923908A598089570
+:1042B0002F923F924F925F926F927F928F929F9236
+:1042C000AF92BF92CF92DF92EF92FF920F931F9324
+:1042D000CF93DF93CDB7DEB7AE970FB6F894DEBFBE
+:1042E0000FBECDBF6B8F7C8F8D8F292E5A8749874C
+:1042F0003CA72BA70E9431A96F8F78A389A39AA30B
+:104300000E9431A96FA378A789A79AA729853A8522
+:10431000121613061CF0E4E2F3E017C0E7E3F3E043
+:104320008191882339F09091C00095FFFCCF809354
+:10433000C600F6CF8091C00085FFFCCF1BC29091D4
+:10434000C00095FFFCCF8093C60081918111F7CF0B
+:104350008091C00085FFFCCF8AE08093C60095DF86
+:1043600049855A858FE7452B99F1809339088F8DC0
+:1043700098A1A9A1BAA1898B9A8BAB8BBC8B8D8795
+:104380009E87AF87B88B1D8290E4988FACE1A98F90
+:10439000B6E4BA8F1DA61D8A1E8A1F8A2FE730E059
+:1043A00040E050E029833A834B835C83EFE74E2E55
+:1043B000512C612C712C1BA21CA21DA21EA231E04B
+:1043C0003E8F1C861B86312C00E010E01EA605C027
+:1043D00080930C08CCCF0E949C7680913208882371
+:1043E00009F4F6C011DC49855A85452B51F030900F
+:1043F0003A0800913B0810913C0850913D085EA797
+:1044000009C0309040080091410810914208809105
+:1044100043088EA7232D302F412F5EA56DA57D89E2
+:104420008E899F890E94A3B018162CF03DA60D8B93
+:104430001E8B9EA59F8B232D302F412F5EA56D8156
+:10444000788D898D9A8D0E94A0AE87FD05C03D8232
+:10445000088F198FAEA5AA8F0E9431A92FA138A568
+:1044600049A55AA5621B730B840B950B653C7940DB
+:104470008105910538F01EDC0E9431A96FA378A751
+:1044800089A79AA74E8D442309F44FC02B8D3C8DEC
+:104490004D8D522D632D702F812F9EA50E94A3B0AC
+:1044A00018160CF095C00E9431A929893A894B89C8
+:1044B0005C89621B730B840B950B69387341810512
+:1044C000910508F485C0D301C20129813A814B814D
+:1044D0005C81821B930BA40BB50B49855A85B5955E
+:1044E000A79597958795452B19F08093390802C0B9
+:1044F00080930C080E9431A96D877E878F87988BE7
+:10450000DC01CB0129893A894B895C89821B930B99
+:10451000A40BB50B8BA39CA3ADA3BEA33B8D3DA762
+:104520004C8D4D8B5D8D5E8B2F8A2B8D3C8D4D8DF3
+:10453000522D632D702F812F9EA50E94A0AE87FF64
+:10454000EEC20E9431A92D853E854F855889621B98
+:10455000730B840B950B693873418105910508F441
+:10456000DEC20E9431A9698B7A8B8B8B9C8BDC011C
+:10457000CB012D853E854F855889821B930BA40B5B
+:10458000B50B4B855C85452B09F010C189819A815B
+:10459000AB81BC81840D951DA61DB71D29853A856B
+:1045A000B595A79597958795232B09F4B5C2809368
+:1045B00039084B855C854F5F5F4F5C874B875B8D10
+:1045C0005D838C8D888F9D8D998F2A8EA1E0AE8F13
+:1045D00020E030E040EA51E46B8D7C8D8D8D922D92
+:1045E0000E94C7AD9B01AC01632D702F812F9EA54A
+:1045F0000E94A3B0181694F4EFEFF2E084918823A0
+:1046000041F09091C00095FFFCCF8093C600319699
+:10461000F5CF8091C00085FFFCCFACC00E9431A9CE
+:104620002F8D38A149A15AA1621B730B840B950BE6
+:10463000613D77408105910508F44FC049855A8551
+:10464000452B81F0E0903908F12CE9EFF2E08491FC
+:104650008823C1F09091C00095FFFCCF8093C600E5
+:104660003196F5CFE0900C08F12CE3EFF2E0849165
+:10467000882341F09091C00095FFFCCF8093C60045
+:104680003196F5CF22E030E0432D502F612F7EA5EB
+:104690008CE99DE00E94308BEFEEF2E0849188235C
+:1046A00041F09091C00095FFFCCF8093C6003196F9
+:1046B000F5CF4AE050E0B7018CE99DE00E945A8AAC
+:1046C0008091C00085FFFCCF8AE08093C6000E94E5
+:1046D00031A96F8F78A389A39AA30E9431A96B0196
+:1046E0007C010E9431A989889A88AB88BC882D8575
+:1046F0003E854F855889820E931EA41EB51EC8188C
+:10470000D908EA08FB08C60ED71EE81EF91E31E8D4
+:10471000C3163FE4D30632E1E306F10490F0E2ED84
+:10472000F2E08491882341F09091C00095FFFCCF86
+:104730008093C6003196F5CF8091C00085FFFCCFF5
+:1047400019C04B855C858BA59CA5841795070CF03B
+:1047500042CEE6E7F2E08491882341F09091C000D8
+:1047600095FFFCCF8093C6003196F5CF8091C000B5
+:1047700085FFFCCF8AE08093C600AE960FB6F89412
+:10478000DEBF0FBECDBFDF91CF911F910F91FF9084
+:10479000EF90DF90CF90BF90AF909F908F907F90E1
+:1047A0006F905F904F903F902F9008958BA09CA0AA
+:1047B000ADA0BEA0880E991EAA1EBB1E2BA13CA1B7
+:1047C0004DA15EA1281B390B4A0B5B0BCA01B90135
+:1047D00029813A814B815C810E943BB2A501940101
+:1047E0000E94A0B2240D351D461D571D24313105F0
+:1047F0004105510504F129013A013CEE43165104EB
+:10480000610471042CF06BEE462E512C612C712C3E
+:1048100040E84416510461047104DCF08EEF90E02E
+:10482000A0E0B0E084199509A609B70989839A83A5
+:10483000AB83BC8312C054E1452E512C612C712CEA
+:1048400024E130E040E050E029833A834B835C83ED
+:1048500004C049825A826B827C82E8E6F3E084914C
+:10486000882341F09091C00095FFFCCF8093C60053
+:104870003196F5CF2AE030E0B301A2018CE99DE04A
+:104880000E94378AE3E6F3E08491882341F0909117
+:10489000C00095FFFCCF8093C6003196F5CF2AE08B
+:1048A00030E049815A816B817C818CE99DE00E94D6
+:1048B000378AECE5F3E08491882341F09091C000C1
+:1048C00095FFFCCF8093C6003196F5CF22E030E013
+:1048D0004D81588D698D7A8D8CE99DE00E94308BD9
+:1048E000E5E5F3E08491882341F09091C00095FFC5
+:1048F000FCCF8093C6003196F5CF22E030E04DA585
+:104900005D896E897F898CE99DE00E94308B809162
+:10491000C00085FFFCCF8AE08093C6002B853C85D4
+:10492000233031050CF432CE69817A818B819C81F0
+:104930000E9442AF20E030E040E850E40E9475B1B0
+:104940006B017C012D81388D498D5A8D6DA57D8936
+:104950008E899F890E94C6AD20ED3FE049E450E476
+:104960000E9475B120E030E040E05FE30E9475B145
+:104970009B01AC01C701B6010E94A7AE6B017C018F
+:10498000C501B4010E9442AF20E030E04AE754E4A0
+:104990000E94A7AE4B015C01EFE4F3E08491882311
+:1049A00041F09091C00095FFFCCF8093C6003196F6
+:1049B000F5CF22E030E0B701A6018CE99DE00E942E
+:1049C000308BE9E4F3E08491882341F09091C000BA
+:1049D00095FFFCCF8093C6003196F5CF22E030E002
+:1049E000B501A4018CE99DE00E94308B8091C0004C
+:1049F00085FFFCCF8AE08093C6002AE939E949E1C6
+:104A00005FE3C701B6010E9475B16B017C019B0198
+:104A1000AC010E94C7ADA50194010E94A7AE6D83B1
+:104A20007E838F839887A5019401C701B6010E94F8
+:104A300075B120E030E040E05EE30E9475B14B01CB
+:104A40005C01EBE3F3E08491882341F09091C00096
+:104A500095FFFCCF8093C6003196F5CF8091C000C2
+:104A600085FFFCCF8AE08093C600E5E3F3E0849104
+:104A7000882341F09091C00095FFFCCF8093C60041
+:104A80003196F5CF22E030E0B701A6018CE99DE038
+:104A90000E94308B8091C00085FFFCCF8AE080931C
+:104AA000C600EFE2F3E08491882341F09091C000CA
+:104AB00095FFFCCF8093C6003196F5CF22E030E021
+:104AC0004D815E816F8178858CE99DE00E94308BFD
+:104AD0008091C00085FFFCCF8AE08093C600E9E2A8
+:104AE000F3E08491882341F09091C00095FFFCCFC2
+:104AF0008093C6003196F5CF22E030E0B501A401E5
+:104B00008CE99DE00E94308B8091C00085FFFCCF36
+:104B10008AE08093C6003ACD80930C084ACD1E8E61
+:104B200057CDCF93C82FB1DB0E94E949811134C022
+:104B3000E5E3FEE09491992341F08091C00085FF68
+:104B4000FCCF9093C6003196F5CF6C2F70E04AE011
+:104B500050E08CE99DE00E945A8A8091C00085FF58
+:104B6000FCCF8AE08093C600ECE2F2E084918823D7
+:104B700041F09091C00095FFFCCF8093C600319624
+:104B8000F5CF8091C00085FFFCCF8AE08093C600FE
+:104B90008FE192E00E940D76CF910C94AA49CF93B9
+:104BA000C82F73DB0E94E949811134C0E5E3FEE0C0
+:104BB0009491992341F08091C00085FFFCCF9093A0
+:104BC000C6003196F5CF6C2F70E04AE050E08CE9DA
+:104BD0009DE00E945A8A8091C00085FFFCCF8AE048
+:104BE0008093C600E2EFF1E08491882341F0909138
+:104BF000C00095FFFCCF8093C6003196F5CF809121
+:104C0000C00085FFFCCF8AE08093C60085EE91E06E
+:104C10000E940D76CF910C94AA49A5980E94E9496B
+:104C2000811125C0E5E3FEE08491882341F0909155
+:104C3000C00095FFFCCF8093C6003196F5CFEBEA1C
+:104C4000F1E08491882341F09091C00095FFFCCF62
+:104C50008093C6003196F5CF8091C00085FFFCCFD0
+:104C60008AE08093C6008AE991E00E940D760C9458
+:104C7000AA491F920F920FB60F9211240BB60F92F2
+:104C80000F931F932F933F934F935F936F937F9354
+:104C90008F939F93AF93BF93CF93DF93EF93FF9344
+:104CA00080910702811112C080910C088093010845
+:104CB000882311F0759A01C0759880913908809306
+:104CC0000008882311F0A59A01C0A59890910108C9
+:104CD00080910702981708F47598909100088091C8
+:104CE0000702981708F4A598809107028F5F8F77C5
+:104CF000809307028091060290E08B30910508F0C6
+:104D000093C0FC01EE58FF4F0C94BCB210927B0094
+:104D100080E480937C0080917A00806480937A00A4
+:104D20000E94167681E019C02091780030917900B8
+:104D30008091FC079091FD07A091FE07B091FF07BD
+:104D4000820F931FA11DB11D8093FC079093FD0757
+:104D5000A093FE07B093FF0782E08093060264C031
+:104D600010927B0082E480937C0080917A008064C2
+:104D700080937A000E94167683E0EFCF209178002E
+:104D8000309179008091F8079091F907A091FA0786
+:104D9000B091FB07820F931FA11DB11D8093F807EF
+:104DA0009093F907A093FA07B093FB0784E0D5CF5F
+:104DB00010927B0081E480937C0080917A00806473
+:104DC00080937A000E94167685E0C7CF2091780004
+:104DD000309179008091F4079091F507A091F60742
+:104DE000B091F707820F931FA11DB11D8093F407A7
+:104DF0009093F507A093F607B093F70786E0ADCF41
+:104E00000E94167687E0A9CF88E0A7CF0E94167689
+:104E100089E0A3CF109206028091F3078F5F809301
+:104E2000F30702C0109206028091F307803108F464
+:104E300063C080913208811110C08091FC0790916D
+:104E4000FD0790934508809344088091F80790915E
+:104E5000F90790933F0880933E0881E080933208E1
+:104E60001092F3071092FC071092FD071092FE07B4
+:104E70001092FF071092F4071092F5071092F607B0
+:104E80001092F7071092EF071092F0071092F107B7
+:104E90001092F2071092F8071092F9071092FA0791
+:104EA0001092FB0720914408309145088091060834
+:104EB000909107088217930714F080E032DE20916A
+:104EC00044083091450880910A0290910B022817FE
+:104ED000390714F080E063DE20913E0830913F08EE
+:104EE0008091020890910308821793072CF010928A
+:104EF00047081092460891DE00E010E0E801CC0F70
+:104F0000DD1FCD5CD74F888199811816190644F4AE
+:104F100061E0802F0E94D59388819981019709C013
+:104F2000892B49F060E0802F0E94D5938881998178
+:104F30000196998388830F5F1F4F03301105F1F6A7
+:104F4000FF91EF91DF91CF91BF91AF919F918F91A1
+:104F50007F916F915F914F913F912F911F910F9191
+:104F60000F900BBE0F900FBE0F901F9018952CEA5C
+:104F700035EC47E25EE30C9475B12CEA35EC47E280
+:104F80005EE30C94A7AE2CEA35EC47E25EE30C94AA
+:104F9000A7AE2CEA35EC47E25EE30C9475B1CF93F3
+:104FA000DF93EC0160E08E810E948AA881E090E0AE
+:104FB0000E9484A961E08E810E948AA881E090E02D
+:104FC0000E9484A960E08E810E948AA884E690E015
+:104FD000DF91CF910C9484A9CF92DF92EF92FF9250
+:104FE0000F931F93CF93DF937C01C0E0D0E0C62ED8
+:104FF000D12C87010C0F1D1F61E0F80187810E94F1
+:1050000051A8B6010C2E02C0759567950A94E2F777
+:105010006170F80187810E948AA82196C430D10569
+:1050200041F7C701DF91CF911F910F91FF90EF9052
+:10503000DF90CF90B4CFCF92DF92EF92FF920F9399
+:105040001F93CF93DF937C01C0E0D0E0C62ED12C1C
+:1050500087010C0F1D1F61E0F80187810E9451A894
+:10506000B6010C2E02C0759567950A94E2F761703F
+:10507000F80187810E948AA82196C830D10541F79E
+:10508000C701DF91CF911F910F91FF90EF90DF90BB
+:10509000CF9085CF1F93CF93DF93EC01162F642F12
+:1050A0008C810E948AA88D818F3F19F060E00E9458
+:1050B0008AA88F85612F84FF05C0CE01DF91CF9133
+:1050C0001F91B9CF70E084E0759567958A95E1F7F7
+:1050D000CE0182DF612FCE01DF91CF911F917CCF76
+:1050E00040E0D8CF61E0FCDF80E496E00C9484A936
+:1050F00062E0F6DF80E496E00C9484A9CF93DF931E
+:10510000CDB7DEB728970FB6F894DEBF0FBECDBF80
+:1051100028E0E7EAF2E0DE01119601900D922A956F
+:10512000E1F7FC012389421710F04FEF420FFE0117
+:105130003196E40FF11DE40FF11D2081260F206848
+:10514000622F28960FB6F894DEBF0FBECDBFDF9159
+:10515000CF91C6CFFC016089262F2460208B6C6024
+:10516000BFCFCF93DF93EC01423018F08F8588607A
+:105170008F874B8B1C8A222329F0413019F48F85AD
+:1051800084608F8780E593EC0E9484A960E08C8125
+:105190000E948AA860E08E810E948AA88D818F3F3C
+:1051A00019F060E00E948AA86F8564FD19C063E071
+:1051B000CE0112DF84E991E10E9484A963E0CE016F
+:1051C0000BDF84E991E10E9484A963E0CE0104DF52
+:1051D00086E990E00E9484A962E0CE01FDDE13C062
+:1051E0006062CE017DDF84E991E10E9484A96F8530
+:1051F0006062CE0175DF86E990E00E9484A96F8528
+:105200006062CE016DDF6F856062CE0169DF84E090
+:10521000888BCE019FDFCE0165DF82E0898B66E05F
+:10522000CE01DF91CF915CCF6F927F928F92AF9240
+:10523000CF92EF920F931F93CF93DF93CDB7DEB74B
+:105240003C01162F842F5E854F8538899989F3019B
+:10525000848325830683E782C086A186828653875E
+:1052600044873587968761E00E9451A8F3018581C4
+:105270008F3F19F061E00E9451A861E0F30186813F
+:105280000E9451A8112319F0F301178603C080E191
+:10529000F301878720E041E060E1C301DF91CF9116
+:1052A0001F910F91EF90CF90AF908F907F906F9064
+:1052B00058CF8F92AF92CF92EF920F93DC0113965B
+:1052C0001C921E921297E5E6F3E0ED93FC931F9279
+:1052D0001F921F921F928C2CAE2CC02EE22E042FF8
+:1052E0002FEF462F61E0A0DF0F900F900F900F90EF
+:1052F0000F91EF90CF90AF908F900895CF93DF9361
+:10530000EC01423018F08F8588608F874B8B1C8AA8
+:10531000222329F0413019F48F8584608F8780E53E
+:1053200093EC0E9484A960E08C810E948AA860E0CE
+:105330008E810E948AA88D818F3F19F060E00E94C3
+:105340008AA86F8564FD19C063E0CE0145DE84E95B
+:1053500091E10E9484A963E0CE013EDE84E991E1FF
+:105360000E9484A963E0CE0137DE86E990E00E94C6
+:1053700084A962E0CE0130DE13C06062CE01B0DEEF
+:1053800084E991E10E9484A96F856062CE01A8DE64
+:1053900086E990E00E9484A96F856062CE01A0DE5C
+:1053A0006F856062CE019CDE84E0888BCE01D2DE08
+:1053B000CE019EDE82E0898B66E0CE0191DE40E088
+:1053C00068E0CE019BDE6EE873E0CE010E94BEADC8
+:1053D00041E068E0CE0192DE6EE873E0CE010E940B
+:1053E000BEAD42E066E0CE0189DE6CE873E0CE013E
+:1053F000DF91CF910C94BEADCF92DF92EF92FF92EE
+:105400000F931F93CF93DF931F921F92CDB7DEB7F9
+:105410008C01677088E0689FB00111246064C80146
+:1054200049835A835DDE4981C42E5A81D52EE12CF1
+:10543000F12CD6016D916D01D801ED91FC91019097
+:10544000F081E02DC8011995BFEFEB1AFB0AE8E0E7
+:10545000EE16F10471F70F900F90DF91CF911F912D
+:105460000F91FF90EF90DF90CF90089541E012DE12
+:1054700081E090E008952F923F924F925F926F9259
+:105480007F928F929F92AF92BF92CF92DF92EF92D4
+:10549000FF920F931F93CF93DF93CDB7DEB7CF5417
+:1054A000D1090FB6F894DEBF0FBECDBF1C017E8FB1
+:1054B0006D8F4A012FAB09AF2896EFAE28972C9637
+:1054C000ACAEBDAECEAEDFAE2C9734E0239F500124
+:1054D0001124FC01EA0DFB1D80819181A281B38121
+:1054E000898F9A8FAB8FBC8FDA01AA0DBB1DBCAF21
+:1054F000ABAF4D905D906D907C90A3019201698D52
+:105500007A8D8B8D9C8D0E94C7AD21966CAF7DAF3F
+:105510008EAF9FAF2197B4E00B9F80011124F10162
+:10552000E00FF11F20813181428153812F8F38A3F9
+:1055300049A35AA3A401400F511F23965FAF4EAF5A
+:105540002397DA01CD90DD90ED90FC90A7019601B4
+:105550006F8D78A189A19AA10E94C7AD27966CAFE3
+:105560007DAF8EAF9FAF27972896EFAD2897B4E019
+:10557000EB9FC0011124F101E80FF91F2081318157
+:10558000428153812BA33CA34DA35EA3ED8DFE8DE1
+:10559000E80FF91F60817181828193810E94C6ADFD
+:1055A0006FA378A789A79AA7AD8DBE8D1C968D9104
+:1055B0009D910D90BC91A02D60968CAF9DAFAEAF2C
+:1055C000BFAF6097D1011C962D913D914D915C919B
+:1055D0001F972BA73CA74DA75EA7A3019201505888
+:1055E0002D8B3E8B4F8B588FD701C601B058898BBE
+:1055F0009A8BAB8BBC8BED8DFE8DEA0DFB1D208154
+:105600003181428153812FA738AB49AB5AAB2196E8
+:105610002CAD3DAD4EAD5FAD21976FA578A989A9A1
+:105620009AA90E94C6AD6B017C01ED8DFE8DE00F45
+:10563000F11F80819181A281B3818BAB9CABADAB1B
+:10564000BEAB27962CAD3DAD4EAD5FAD2797BC01EF
+:10565000CD010E94C6AD4B015C01A70196016D8989
+:105660007E898F89988D0E9475B12B013C01A5011F
+:10567000940169897A898B899C890E9475B19B0103
+:10568000AC01C301B2010E94C7AD2B013C01A501D1
+:1056900094016D897E898F89988D0E9475B14B0127
+:1056A0005C01A701960169897A898B899C890E948E
+:1056B00075B19B01AC01C501B4010E94C6ADA30147
+:1056C00092010E943AAE6B017C0120E030E0A9011A
+:1056D0000E94A0AE87FF0AC02BED3FE049EC50E4EA
+:1056E000C701B6010E94C7AD6B017C01AA968FADC0
+:1056F000AA97882351F02BED3FE049EC50E4C70115
+:10570000B6010E94C6AD6B017C012FA538A949A93D
+:105710005AA9698D7A8D8B8D9C8D0E94A0AE8111C6
+:105720001FC02BA93CA94DA95EA96F8D78A189A1A5
+:105730009AA10E94A0AE811113C020E030E0A9011F
+:10574000C701B6010E94A0AE81110AC02BED3FE057
+:1057500049EC50E4C701B6010E94C7AD6B017C0162
+:10576000A9962CAD3DAD4EAD5FADA997C701B60171
+:105770000E9475B12FA138A549A55AA55F770E944F
+:10578000B0B04B015C012FE632E143E85AE30E94DE
+:10579000A0AE87FDC8C1C501B4010E947DAF0E94C3
+:1057A00014AF7A8F698FDB01AB2B21F4E1E0F0E0DD
+:1057B000FA8FE98F298D3A8DB90180E090E00E943F
+:1057C00040AF4B015C019B01AC01C701B6010E94D7
+:1057D000A7AE2B013C01A50194016FA178A589A575
+:1057E0009AA50E94A7AE6FA778AB89AB9AAB2BA501
+:1057F0003CA54DA55EA560966CAD7DAD8EAD9FAD13
+:1058000060970E94C6ADA50194010E94A7AE6BAB44
+:105810007CAB8DAB9EAB20E030E040E05FE3C301AA
+:10582000B2010E9475B1A30192010E9475B19B0162
+:10583000AC0160E070E080E89FE30E94C6AD6FA31A
+:1058400078A789A79AA7CE010196FC0128964FADAB
+:10585000289734E0439FE00DF11D11242BA13CA1BA
+:105860004DA15EA120833183428353832BA53CA5A8
+:105870004DA55EA52D873E874F87588BB12C41E003
+:1058800050E058A34F8F1C01BFA9A4E0BA9F800D20
+:10589000911D112498AF8FAB910159AD44E0549FF5
+:1058A000200D311D11243AAF29AFFCA7EBA74F8D76
+:1058B00058A1898D9A8D4817590708F01AC188E1B7
+:1058C0008B150CF444C02FA138A549A55AA56989A8
+:1058D0007A898B899C890E9475B16B017C01A30137
+:1058E00092016D897E898F89988D0E9475B1A7017B
+:1058F00096010E94C7ADA62E172F982E892E2FA194
+:1059000038A549A55AA56D897E898F89988D0E94F1
+:1059100075B16B017C01A301920169897A898B8938
+:105920009C890E9475B19B01AC01C701B6010E9420
+:10593000C6AD6D8B7E8B8F8B988FB3948A2D912FF4
+:10594000A92DB82D898B9A8BAB8BBC8B6CC0AF8D7E
+:10595000B8A1BD0180E090E00E9440AFA301920198
+:105960000E9475B16B017C010E94A4AE698B7A8B99
+:105970008B8B9C8BC701B6010E94D8B14B015C0197
+:10598000EBADFCADC080D180E280F380F7FAF094FB
+:10599000F7F8F0942396AEADBFAD23972D913D91CE
+:1059A0004D915C912BA33CA34DA35EA329893A8919
+:1059B0004B895C89C701B6010E9475B16D8B7E8BE6
+:1059C0008F8B988FA50194016BA17CA18DA19EA1C5
+:1059D0000E9475B19B01AC016D897E898F89988D7C
+:1059E0000E94C7AD6D8B7E8B8F8B988FA501940124
+:1059F000C701B6010E9475B16B017C0129893A8902
+:105A00004B895C896BA17CA18DA19EA10E9475B17F
+:105A10009B01AC01C701B6010E94C6AD698B7A8BB0
+:105A20008B8B9C8BB12C2D893E894F89588D21966B
+:105A30006CAD7DAD8EAD9FAD21970E94C7ADEFA936
+:105A4000F8AD608371838283938329893A894B8976
+:105A50005C8927966CAD7DAD8EAD9FAD27970E947A
+:105A6000C7ADA9ADBAAD6D937D938D939C931397FC
+:105A70002FA538A949A95AA9EBA5FCA56081718178
+:105A8000828193810E94C7ADABA5BCA56D937D9328
+:105A90008D939C9313972BA93CA94DA95EA96D8565
+:105AA0007E858F8598890E94C7AD6D877E878F8799
+:105AB000988BC1010E946A41FE01E659FF4F6F01B8
+:105AC0002C96ECACFDAC0EAD1FAD2C979E01235F68
+:105AD0003F4FAE01475F5F4FBE016B5F7F4FC1011C
+:105AE0000E94779A2F8D38A12F5F3F4F38A32F8FB9
+:105AF000DECE2D8D3E8D245F3F4F4D8D5E8D485FF8
+:105B00005F4F6D8D7E8D6C5F7F4FDE01A659BF4F5D
+:105B10006D012C96ECACFDAC0EAD1FAD2C978D8DB0
+:105B20009E8D0E94779AC15BDF4F0FB6F894DEBF5F
+:105B30000FBECDBFDF91CF911F910F91FF90EF90DE
+:105B4000DF90CF90BF90AF909F908F907F906F909D
+:105B50005F904F903F902F900895FC011482178220
+:105B6000138212828AEB95E09183808308952AEB59
+:105B700035E0FC01318320832781222319F004962C
+:105B80000C948C130895CF92DF92EF92FF920F93B3
+:105B90001F93CF93DF93EC01875B9F4FDEDFCE0136
+:105BA00086599F4FDADF7E0129E8E20EF11C87015A
+:105BB0006E0131E4C31A3EEFD30AC801CEDF015EA5
+:105BC0001F4F0C151D05C9F7FE01EF53FE4F89E16C
+:105BD000818314823596178ACE018C519E4FBDDF8A
+:105BE000FE01EB56FD4F108211821282138238960D
+:105BF00010821182128213821A821B8218821982E9
+:105C00006E0187E6C81A8DEFD80AF601108211825C
+:105C100012821382F80111821082FE01ED5FFD4FA6
+:105C2000108286E391E0F7019C01119221503040EF
+:105C3000E1F7FE01EF55FD4F81E08083C95BDF4F47
+:105C4000198218820E9431A968577C4E8F4F9F4F4E
+:105C5000F6016083718382839383DF91CF911F91DB
+:105C60000F91FF90EF90DF90CF900895FC0120E01E
+:105C70003EE2DB014C91403241F0283011F4308398
+:105C80003196DB014C91408331962F5F6F5F7F4FE0
+:105C90002B3079F7108208952F923F924F925F92A6
+:105CA0006F927F928F929F92AF92BF92CF92DF922C
+:105CB000EF92FF920F931F93CF93DF93CDB7DEB791
+:105CC000CA58D1090FB6F894DEBF0FBECDBF8C0104
+:105CD0006B017A014901CA57DF4F1882C658D0407C
+:105CE00084E0E80EF11C180191E1290E311CF80145
+:105CF000EA5BFF4FC957DF4FF983E883C758D040AD
+:105D00003801FEE56F1AFDEF7F0A58018CE5A81AED
+:105D10008DEFB80A80E4482E512C4C0E5D1E94E0A5
+:105D2000490E511CA101BE016F5F7F4FC7010E9448
+:105D3000F61118160CF03CC12C85322F3871303119
+:105D400009F09EC0F301808191810197029708F4C8
+:105D500097C0BE016F5F7F4FCE0187589F4F86DF90
+:105D6000A0961FAEA097F6018081811107C069E659
+:105D700073E0CE01815A9F4F0E9418B6B601CE0142
+:105D8000815A9F4F0E9418B6BE0167587F4FCE01BF
+:105D9000815A9F4F0E9418B669E673E0CE01815A7E
+:105DA0009F4F0E9418B6CE01805C9F4FD6DE21E047
+:105DB000AE0147585F4FB701C2010E9483158111A0
+:105DC00039C0F30180819181892BA1F5EFE2FEE0DA
+:105DD0008491882341F09091C00095FFFCCF80937F
+:105DE000C6003196F5CFEBE6F3E08191882339F0D8
+:105DF0009091C00095FFFCCF8093C600F6CF8091B4
+:105E0000C00085FFFCCF8AE08093C600FE01E75802
+:105E1000FF4F8191882339F09091C00095FFFCCF0E
+:105E20008093C600F6CF8091C00085FFFCCF8AE04A
+:105E30008093C6008BE1FE01EC5BFF4FDE0195967F
+:105E400001900D928A95E1F724968EAD9FAD24972F
+:105E50009CA38BA38AEB95E09AA389A320E030E072
+:105E6000AE014F5D5F4FBE01615A7F4FC80114DF25
+:105E7000CE0181967CDECE01805C9F4F78DE52CFD2
+:105E80008981882309F494C08E3209F44BCF8F3571
+:105E900009F448CFF80181898E3209F443CF8F3558
+:105EA00009F440CF23FD3ECF81E0303109F080E09E
+:105EB000C957DF4FE881F981C758D04080838111ED
+:105EC00008C08985873409F02DCF8A858E3709F47B
+:105ED00029CF98012C5F3F4FBE016F5F7F4FC901F3
+:105EE000C757DF4F2883C958D040C657DF4F388384
+:105EF000CA58D040BBDEF30180819181C757DF4F84
+:105F00002881C958D040C657DF4F3881CA58D04081
+:105F10000097F1F4F6018191882339F09091C00047
+:105F200095FFFCCF8093C600F6CFF90181918823BD
+:105F300039F09091C00095FFFCCF8093C600F6CF5A
+:105F40008091C00085FFFCCF8AE08093C600EACE36
+:105F50008130910539F4F501808191810196918319
+:105F60008083E0CE029709F0DDCE8114910439F0F0
+:105F7000B901C4010E9405B6892B71F419C0CA5732
+:105F8000DF4FF881C658D0402F2F30E0F5018081D7
+:105F900091812817390761F0CA57DF4FF881C65839
+:105FA000D040FF5FCA57DF4FF883C658D040BACE03
+:105FB000C657DF4F0FB6F894DEBF0FBECDBFDF91DF
+:105FC000CF911F910F91FF90EF90DF90CF90BF90F6
+:105FD000AF909F908F907F906F905F904F903F9089
+:105FE0002F9008950F931F93CF93DF93CDB7DEB714
+:105FF0006F970FB6F894DEBF0FBECDBF8C01FC01CA
+:10600000EE55FD4F1182108240E050E0BA01835BF3
+:106010009F4F0E94A912C801875B9F4F2BE1FC0193
+:106020003496DE01159601900D922A95E1F7FC0158
+:10603000828193819C838B838AEB95E09A83898309
+:1060400020E030E0AE014F5F5F4F62E973E0C801CE
+:1060500023DECE0101968BDD6F960FB6F894DEBF7E
+:106060000FBECDBFDF91CF911F910F9108952BE10E
+:10607000FB013496DC01149601900D922A95E1F70C
+:10608000FB0122813381FC01338322830895EF9247
+:10609000FF920F931F93CF93DF93EC011B82FC01C0
+:1060A000E05BFF4F8081882329F0CE01835B9F4F07
+:1060B0000E948C137E018FE3E81A8EEFF80A45E305
+:1060C00060E0C7010E94BF3A81111FC0EFE2FEE00D
+:1060D0008491882341F09091C00095FFFCCF80937C
+:1060E000C6003196F5CFE7E4F6E08491882341F0CD
+:1060F0009091C00095FFFCCF8093C6003196F5CFFC
+:106100008091C00085FFFCCF77C08E010A531E4FDF
+:1061100041E0B701C8010E945A1B811126C040E02E
+:10612000B701C8010E945A1B81111FC0E5E3FEE0C0
+:106130008491882341F09091C00095FFFCCF80931B
+:10614000C6003196F5CFE4E3F6E08491882341F070
+:106150009091C00095FFFCCF8093C6003196F5CF9B
+:106160008091C00085FFFCCF47C0B801CE01835BA2
+:106170009F4F0E94991081111FC0E5E3FEE08491BA
+:10618000882341F09091C00095FFFCCF8093C6001A
+:106190003196F5CFE4E2F6E08491882341F09091C6
+:1061A000C00095FFFCCF8093C6003196F5CF80915B
+:1061B000C00085FFFCCF20C081E08B83EFE2FEE0D2
+:1061C0008491882341F09091C00095FFFCCF80938B
+:1061D000C6003196F5CFE9E1F6E08491882341F0DD
+:1061E0009091C00095FFFCCF8093C6003196F5CF0B
+:1061F0008091C00085FFFCCF8AE08093C6008E01AD
+:10620000075B1F4FB801CE0186599F4F30DFC85939
+:10621000DF4F19830883DF91CF911F910F91FF907A
+:10622000EF900895FC01128213820895FC012381EE
+:10623000222311F021E022830895FC012281211103
+:1062400012820895AF92BF92CF92DF92EF92FF92A7
+:106250000F931F93CF93DF931F92CDB7DEB78C01BF
+:106260008FE2FB0181935F01D12C41E07801F1E4E1
+:10627000EF1AFEEFFF0A9FE1C92E2D2D30E0F70146
+:106280008081918128173907D8F4C29EC001C39E2E
+:10629000900D112483579F4FB501800F911F4983A3
+:1062A0000E944010C50149815C010196F5012081E1
+:1062B000222321F04D3810F44F5FF6CFD394DDCF79
+:1062C00047FD11C0B501C80188519E4F0F90DF9165
+:1062D000CF911F910F91FF90EF90DF90CF90BF90E3
+:1062E000AF900C944010F50110820F90DF91CF9188
+:1062F0001F910F91FF90EF90DF90CF90BF90AF90E4
+:1063000008953F924F925F926F927F928F929F92E9
+:10631000AF92BF92CF92DF92EF92FF920F931F93B3
+:10632000CF93DF93CDB7DEB7AC970FB6F894DEBF4F
+:106330000FBECDBF7C015B01FC018381882309F482
+:1063400008C1C70188519E4F0E948C13F701128229
+:10635000CE0101966C0101DC270198E6490E511C23
+:10636000C701875B9F4FF20191838083F501808194
+:106370008F3209F084C06FE270E0C5010E9423B63D
+:106380008C010F5F1F4F2AE0322E0115110509F411
+:106390007CC06FE270E0C8010E9423B64C010097F8
+:1063A00009F474C00817190708F070C03C01601A9E
+:1063B000710AA301B801CE0180960E944CB6E0E2BA
+:1063C000F0E0EC0FFD1FE60DF71D1082FE01B09608
+:1063D0008191882339F09091C00095FFFCCF809384
+:1063E000C600F6CF8091C00085FFFCCF3092C6007A
+:1063F000F201608171816115710519F06C5F7F4F49
+:1064000002C060E070E021E0AE01405E5F4FCE016F
+:1064100005960E94831581112BC0EEEFF4E0849164
+:10642000882341F09091C00095FFFCCF8093C60077
+:106430003196F5CFFE01B0968191882339F0909185
+:10644000C00095FFFCCF8093C600F6CFECEFF4E0E0
+:106450008491882341F09091C00095FFFCCF8093F8
+:10646000C6003196F5CF8091C00085FFFCCF6CC08F
+:10647000F201D182C08284010F5F1F4F86CFC70116
+:1064800086599F4FF201918380838501F2018081BB
+:106490009181009711F0049602C080E090E0B8016D
+:1064A0000E945916882339F1EEEEF4E08491882396
+:1064B00041F09091C00095FFFCCF8093C6003196CB
+:1064C000F5CFF8018191882339F09091C00095FFB4
+:1064D000FCCF8093C600F6CF8091C00085FFFCCF33
+:1064E0008AE08093C600F701E356FD4F10821182C7
+:1064F000128213822CC0E6EDF4E08491882341F0EF
+:106500009091C00095FFFCCF8093C6003196F5CFE7
+:10651000F8018191882339F09091C00095FFFCCF5C
+:106520008093C600F6CFE4EDF4E08491882341F037
+:106530009091C00095FFFCCF8093C6003196F5CFB7
+:106540008091C00085FFFCCF8AE08093C600C60121
+:106550000EDBAC960FB6F894DEBF0FBECDBFDF9159
+:10656000CF911F910F91FF90EF90DF90CF90BF9050
+:10657000AF909F908F907F906F905F904F903F90E3
+:106580000895CF93DF93EC018B818823C1F1E2EC76
+:10659000F4E08491882341F09091C00095FFFCCFF6
+:1065A0008093C6003196F5CFFE01E356FD4F408142
+:1065B0005181628173812AE030E08CE99DE00E9484
+:1065C000868AE0ECF4E08491882341F09091C00049
+:1065D00095FFFCCF8093C6003196F5CFCB56DD4FAB
+:1065E000488159816A817B812AE030E08CE99DE015
+:1065F0000E94868A8091C00085FFFCCF11C0E0EB2D
+:10660000F4E08491882341F09091C00095FFFCCF85
+:106610008093C6003196F5CF8091C00085FFFCCFF6
+:106620008AE08093C600DF91CF910895AF92BF9228
+:10663000CF92DF92EF92FF920F931F93CF93DF934E
+:106640005C01EB01FB0101900020E9F78F01015093
+:106650001109061B170B6C01F8E1CF1AFEEFDF0AD8
+:10666000F60110826EE470E0CE010E9423B67C0138
+:10667000009729F4F8013197EC0FFD1F0DC060E27F
+:1066800070E00E9423B6EC0121966AE270E0C70137
+:106690000E9423B6FC0131978DE081838AE08283DA
+:1066A0001382BE01C5018C519E4F0E94438BF6019F
+:1066B0008081882309F1E5E3FEE08491882341F09D
+:1066C0009091C00095FFFCCF8093C6003196F5CF26
+:1066D000EAE9F4E08491882341F09091C00095FFAD
+:1066E000FCCF8093C6003196F5CF8091C00085FF26
+:1066F000FCCF8AE08093C600DF91CF911F910F916C
+:10670000FF90EF90DF90CF90BF90AF9008952F92C1
+:106710003F924F925F926F927F928F929F92AF9231
+:10672000BF92CF92DF92EF92FF920F931F93CF937E
+:10673000DF93CDB7DEB7CC55D1090FB6F894DEBFE5
+:106740000FBECDBF4C018C010F551D4F662339F094
+:10675000F8011082F401838181111DC015C0F80178
+:106760008081882309F4AFC0F401E756FD4FC08053
+:10677000D180E280F3800E9431A9C616D706E806D0
+:10678000F90608F4A0C0E4CFC40181DCF4018381E0
+:10679000882309F498C07401F7E4EF0EF11CF701A7
+:1067A00081818F9380818F9381E994E09F938F9370
+:1067B0008E01015C1F4F1F930F930E945BB60F90D9
+:1067C0000F900F900F900F900F90B12CF801019047
+:1067D0000020E9F73197E01BF10BBE1684F4680145
+:1067E000CB0CD11CB7FCDA94F6018081992787FD88
+:1067F00090950E9498B5F6018083B394E7CFFDE4AD
+:106800008F0E911C40E050E0BA01C4010E94A91211
+:10681000512CCE0101966C013AE8632E34E0732EC0
+:106820005E0191E2A90EB11C40E050E0B601C40146
+:106830000E94F6111816DCF5412CF601019000209B
+:10684000E9F73197EC19FD094E1674F41601240C82
+:10685000311C47FC3A94F101808190E00E9498B588
+:10686000F10180834394E9CF8A858E37E9F245E0D0
+:1068700050E0B801C6010E943EB6892BA9F61F93CD
+:106880000F937F926F92BF92AF920E945BB6C50149
+:106890000E94C03D86E894E00E94333E0F900F9026
+:1068A0000F900F900F900F9055245394BDCF51101F
+:1068B00004C08FEF9FEFF70104C0F7018081918141
+:1068C000019691838083C45ADF4F0FB6F894DEBFE0
+:1068D0000FBECDBFDF91CF911F910F91FF90EF9031
+:1068E000DF90CF90BF90AF909F908F907F906F90F0
+:1068F0005F904F903F902F9008950F931F93CF93E9
+:10690000DF93EC018C0108511E4FC8010E94421315
+:10691000C8010E948C1318821982DF91CF911F91B8
+:106920000F910895CF92DF92EF92FF920F931F93F2
+:10693000CF93DF93CDB7DEB76F970FB6F894DEBF76
+:106940000FBECDBF8C016A017C0188E6E80EF11C08
+:10695000C80186599F4FF70191838083E65CFD4F04
+:1069600022E030E03183208332967183608340E0FF
+:1069700050E0BA0104960E94A912F701808191812A
+:106980002BE1FC013496DE01159601900D922A95BB
+:10699000E1F7FC01828193819C838B838AEB95E0F4
+:1069A0009A8389839601AE014F5F5F4F62E973E07E
+:1069B000C80172D9CE010196DAD86F960FB6F89455
+:1069C000DEBF0FBECDBFDF91CF911F910F91FF9022
+:1069D000EF90DF90CF9008952F923F924F925F9269
+:1069E0006F927F928F929F92AF92BF92CF92DF92DF
+:1069F000EF92FF920F931F93CF93DF93CDB7DEB744
+:106A0000AC970FB6F894DEBF0FBECDBF8C016B0103
+:106A1000342EDC0113968C91882309F4EEC2F80120
+:106A2000E551FE4F8081882309F4F5C02111C1C0D2
+:106A30007801BDEFEB1AFB0AF7018081882361F131
+:106A4000E5E3FEE08491882341F09091C00095FF3A
+:106A5000FCCF8093C6003196F5CFE6EDF5E084914A
+:106A6000882341F09091C00095FFFCCF8093C60031
+:106A70003196F5CF4AE050E061E070E08CE99DE0AE
+:106A80000E945A8A8091C00085FFFCCF8AE08093E3
+:106A9000C6000E942245B1C2EFE2FEE08491882345
+:106AA00041F09091C00095FFFCCF8093C6003196D5
+:106AB000F5CFEDEBF5E08491882341F09091C00093
+:106AC00095FFFCCF8093C6003196F5CFF6018191FA
+:106AD000882339F09091C00095FFFCCF8093C600C9
+:106AE000F6CFE2EBF5E08491882341F09091C0006D
+:106AF00095FFFCCF8093C6003196F5CFD7018C91DE
+:106B00005DE8B52EB801B89E600D711D1124685F57
+:106B10007D4FC80197DBF7018081F801B89EE00D39
+:106B2000F11D1124E85FFD4F8191882339F0909188
+:106B3000C00095FFFCCF8093C600F6CFECEAF5E0ED
+:106B40008491882341F09091C00095FFFCCF809301
+:106B5000C6003196F5CF5801F3E6AF1AFDEFBF0A34
+:106B6000D5014D915D916D917C912AE030E08CE9E9
+:106B70009DE00E94868A8091C00085FFFCCF8AE05C
+:106B80008093C600F7012081F80184E0289FE00D82
+:106B9000F11D1124EC5FFD4FD5014D915D916D917B
+:106BA0007C9140835183628373832F5FF70120833D
+:106BB0002CC0EFE2FEE08491882341F09091C00068
+:106BC00095FFFCCF8093C6003196F5CFEBE9F5E059
+:106BD0008491882341F09091C00095FFFCCF809371
+:106BE000C6003196F5CFF6018191882339F0909156
+:106BF000C00095FFFCCF8093C600F6CF8091C00007
+:106C000085FFFCCF8AE08093C600C80188519E4F63
+:106C10000E948C1330C0F801ED5FFD4F1082EFE24F
+:106C2000FEE08491882341F09091C00095FFFCCF55
+:106C30008093C6003196F5CFEAE8F5E08491882389
+:106C400041F09091C00095FFFCCF8093C600319633
+:106C5000F5CFF6018191882339F09091C00095FF1E
+:106C6000FCCF8093C600F6CF8091C00085FFFCCF9B
+:106C70008AE08093C600D80112961C92FE013196DC
+:106C80005F01CF010E94AD2D2801F8E64F0E511C87
+:106C9000C801875B9F4FD2018D939C93F601808141
+:106CA0008F3209F084C06FE270E0C6010E9423B603
+:106CB00001967C014AE0242EE114F10409F47DC020
+:106CC0006FE270E0C7010E9423B64C01009709F4FF
+:106CD00075C0E816F90608F071C03C016E187F080F
+:106CE000A301B701CE0180960E944CB6E0E2F0E02D
+:106CF000EC0FFD1FE60DF71D1082FE01B09681918D
+:106D0000882339F09091C00095FFFCCF8093C60096
+:106D1000F6CF8091C00085FFFCCF2092C600D20143
+:106D20006D917C916115710519F06C5F7F4F02C008
+:106D300060E070E021E0AE01405E5F4FCE0105965D
+:106D40000E94831581112BC0E6E7F5E0849188232A
+:106D500041F09091C00095FFFCCF8093C600319622
+:106D6000F5CFFE01B0968191882339F09091C00053
+:106D700095FFFCCF8093C600F6CFE4E7F5E0849161
+:106D8000882341F09091C00095FFFCCF8093C6000E
+:106D90003196F5CF8091C00085FFFCCF02C1F20192
+:106DA000B182A0827401FFEFEF1AFF0A85CFC801FC
+:106DB00086599F4FD2018D939C937601F801E8513B
+:106DC000FE4F4F01332009F4B1C0D2016D917C9187
+:106DD0006115710519F06C5F7F4F02C060E070E0D3
+:106DE00021E0A701C4010E948315882309F474C01F
+:106DF000F40181899289A389B489F801EB56FD4F8A
+:106E000080839183A283B383E6E6F5E08491D80181
+:106E1000AB56BD4F882349F09091C00095FFFCCF41
+:106E20008093C60031968491F5CFF7018191882334
+:106E300039F09091C00095FFFCCF8093C600F6CF4B
+:106E4000EEE5F5E08491882341F09091C00095FF34
+:106E5000FCCF8093C6003196F5CF4D915D916D9139
+:106E60007C912AE030E08CE99DE00E94868A809146
+:106E7000C00085FFFCCF8AE08093C600F801E3568E
+:106E8000FD4F1082118212821382E0E5F5E08491B9
+:106E9000882341F09091C00095FFFCCF8093C600FD
+:106EA0003196F5CF8091C00085FFFCCF8AE08093BA
+:106EB000C600A70160E070E0C80134DDD80151963A
+:106EC0008C91882319F0C801419601C0C7010E9426
+:106ED00048728EE793E08CC0ECE3F5E08491882360
+:106EE00041F09091C00095FFFCCF8093C600319691
+:106EF000F5CFF7018191882339F09091C00095FF7B
+:106F0000FCCF8093C600F6CFEAE3F5E084918823B6
+:106F100041F09091C00095FFFCCF8093C600319660
+:106F2000F5CF8091C00085FFFCCF3BC0F2016081AE
+:106F300071816115710519F06C5F7F4F02C060E0CF
+:106F400070E026E5A701C4010E94831581112DC0C0
+:106F5000E6E2F5E08491882341F09091C00095FF2E
+:106F6000FCCF8093C6003196F5CFF701819188233D
+:106F700039F09091C00095FFFCCF8093C600F6CF0A
+:106F8000E4E2F5E08491882341F09091C00095FF00
+:106F9000FCCF8093C6003196F5CF8091C00085FF6D
+:106FA000FCCF8AE08093C60025C081E0D8018C9395
+:106FB000E2E1F5E08491882341F09091C00095FFD3
+:106FC000FCCF8093C6003196F5CFF60181918823DE
+:106FD00039F09091C00095FFFCCF8093C600F6CFAA
+:106FE0008091C00085FFFCCF8AE08093C600C70176
+:106FF0000E944872C5010E94B72DAC960FB6F89456
+:10700000DEBF0FBECDBFDF91CF911F910F91FF90DB
+:10701000EF90DF90CF90BF90AF909F908F907F9038
+:107020006F905F904F903F902F90089521E0FC016A
+:10703000218340E0D1CCCF92DF92EF92FF920F9369
+:107040001F93CF93DF93CDB7DEB76F970FB6F8944A
+:10705000DEBF0FBECDBF8C016C0128E6C20ED11C75
+:1070600086599F4FF60191838083E65CFD4F21E0B6
+:1070700030E0318320837801FCE5EF1AFDEFFF0A51
+:10708000F7011182108240E050E0BA0104960E949C
+:10709000A912F601808191812BE1FC013496DE0179
+:1070A000159601900D922A95E1F7FC01828193815A
+:1070B0009C838B838AEB95E09A83898320E030E080
+:1070C000AE014F5F5F4F62E973E0C8010E944C2E32
+:1070D000CE0101960E94B72DF701808191816F96B4
+:1070E0000FB6F894DEBF0FBECDBFDF91CF911F91D9
+:1070F0000F91FF90EF90DF90CF900895AF92BF92E5
+:10710000CF92DF92EF92FF920F931F93CF93DF9373
+:10711000CDB7DEB76F970FB6F894DEBF0FBECDBF09
+:107120008C017B01CE0101960E94AD2DF801EF5834
+:10713000FF4F80816801811104C029E4C20ED11C77
+:1071400003C08AE6C80ED11C21E0A701B6016C5F1E
+:107150007F4FCE0105960E94831581112DC0EFE26D
+:10716000FEE08491882341F09091C00095FFFCCF10
+:107170008093C6003196F5CFE0E7F4E08491882350
+:1071800041F09091C00095FFFCCF8093C6003196EE
+:10719000F5CFF7018191882339F09091C00095FFD8
+:1071A000FCCF8093C600F6CF8091C00085FFFCCF56
+:1071B0008AE08093C60036C0F801E154FE4F80811A
+:1071C00091818A30910530F59C012F5F3F4F3183CB
+:1071D00020832FE1289F7001299FF00C112429E8BA
+:1071E000E20EF11CE00EF11E5C01B701C7014F96E3
+:1071F0000E94373081E0A81AB1082FE1E21AF108A5
+:107200008FEFA816B80689F7B601C80187579F4FB8
+:107210000E943730BE016F5F7F4FC80186599F4F74
+:107220000E943730CE0101960E94B72D6F960FB69F
+:10723000F894DEBF0FBECDBFDF91CF911F910F91AC
+:10724000FF90EF90DF90CF90BF90AF900895EF92B6
+:10725000FF920F931F93CF93DF93EC01C154DE4F46
+:107260002881398121153105F9F0215031093983FF
+:1072700028838C0107571F4FB80186599F4F0E94E2
+:107280003730C80100E010E07C012FE1E20EF11C74
+:10729000288139810217130738F40F5F1F4FB70198
+:1072A0000E943730C701F0CFDF91CF911F910F912E
+:1072B000FF90EF900895EF92FF920F931F93CF935B
+:1072C000DF93EC010E943D938E010D5F1D4FF8018D
+:1072D00080819E0128513E4F79018823A1F1C90187
+:1072E0000E948C13F801808181508083BE01FDE8EB
+:1072F0008F9F600D711D1124685F7D4F21E041E07B
+:10730000CE016ADBF8018081FE0124E0829FE00D5E
+:10731000F11D1124EC5FFD4F408151816281738129
+:10732000FE01E356FD4F4083518362837383C7019F
+:107330000E94A912CE01DF91CF911F910F91FF9072
+:10734000EF900C9416310E94B393C7010E948C13E6
+:107350001A8284E694E0DF91CF911F910F91FF9004
+:10736000EF9081C48FEF8EBD0DB407FEFDCF8EB5BB
+:1073700008958EBD0DB407FEFDCF089561E0FC01B8
+:1073800080810C948AA8FC012281322F306A3695C4
+:107390003CBD20FD06C031E0263009F430E0232F4B
+:1073A00001C020E02DBD60E0FC0180810C948AA822
+:1073B000CF92DF92EF92FF920F931F93CF93DF93C1
+:1073C000EC018B017A010E9431A96B01CBDF8B8329
+:1073D0008F3F49F40E9431A96C197D096D327140CB
+:1073E000A8F381E144C08E3F11F08FE040C0E1146A
+:1073F000F104D9F0C70101972FEF2EBDF8014FEF2F
+:107400009F01201B310B2817390738F40DB407FEF4
+:10741000FDCF2EB521934EBDF3CF0DB407FEFDCFAA
+:107420002EB5F801E80FF91F2083D801E00EF11EF8
+:10743000C12CD12CAE15BF0579F08D91ED2DFF2714
+:10744000E827EE0FFF1FEC5AF94F85919491DC2C41
+:10745000CC24C826D926EECF85DF082F10E0102FC8
+:10746000002780DF082BC016D10631F080E2898327
+:10747000CE0184DF80E003C0CE0180DF81E0DF91B8
+:10748000CF911F910F91FF90EF90DF90CF900895D3
+:107490000F931F93CF93DF93EB010E9431A98B01D0
+:1074A00061DF8F3F49F00E9431A9601B710B6C179F
+:1074B0007D07B0F380E001C081E0DF91CF911F91A3
+:1074C0000F910895CF92DF92FF920F931F93CF9366
+:1074D000DF9300D01F92CDB7DEB76C01F62E298363
+:1074E0003A834B835C834FDF6CE271E0C601D0DFEF
+:1074F0008F2D80643EDF08E110E05C814B813A8192
+:107500002981DA01C901002E04C0B695A795979587
+:1075100087950A94D2F729833A834B835C8329DFCA
+:107520000850110929813A814B815C81083F8FEF16
+:10753000180739F7FF2029F0E8E0FE1621F08FEF59
+:1075400003C085E901C087E814DFFCE0FF1201C039
+:1075500009DF10E007DFF601838387FF04C01F3FC8
+:1075600011F01F5FF7CF0F900F900F900F90DF91EA
+:10757000CF911F910F91FF90DF90CF900895BF9210
+:10758000CF92DF92EF92FF920F931F93CF93DF93EF
+:10759000EC01B62E1C82198248830E9431A98B010E
+:1075A00061E088810E9451A8CE01E8DE60E082E3BC
+:1075B0000E9451A861E083E30E9451A861E084E346
+:1075C0000E9451A861E085E30E9451A861E085E333
+:1075D0000E948AA885E08A8382E58CBD1DBC6AE092
+:1075E000F62E8FEFC6DEFA94E1F720E030E0A90135
+:1075F00060E0CE0167DFF82E8B8381E0F81649F05A
+:107600000E9431A9601B710B613D774070F381E0EE
+:1076100046C02AEA31E040E050E068E0CE0152DFA7
+:1076200082FF02C0FC820CC054E0F52E9BDE8B83EF
+:10763000FA94E1F78A3A11F082E031C082E08C835B
+:107640008C81823031F4C12CD12CE12C40E4F42E19
+:1076500003C0C12CD12C760120E030E0A90167E302
+:10766000CE0130DFA701960169E2CE012BDF8B83CB
+:10767000882349F00E9431A9601B710B613D77405E
+:1076800058F38AE00CC08C818230B1F420E030E005
+:10769000A9016AE3CE0116DF882329F088E08983F7
+:1076A000CE016CDE14C05EDE807C803C11F483E091
+:1076B0008C8358DE57DE56DECE0160DE86E08B1509
+:1076C00018F488E1898303C0BA8281E001C080E0B8
+:1076D000DF91CF911F910F91FF90EF90DF90CF90AE
+:1076E000BF900895AF92BF92CF92DF92EF92FF9238
+:1076F0000F931F93CF93DF93EC016A017B01890104
+:107700008C81833039F0F9E0CC0CDD1CEE1CFF1CC1
+:10771000FA95D1F773E0B72EE4E0AE2EBA94A70144
+:10772000960161E1CE01CEDE882311F0A98207C067
+:1077300040E052E0B801CE013BDE81110EC0CE0127
+:10774000BB2049F01BDE20E030E0A9016CE0CE0157
+:10775000B9DE1982E3CF12DE80E0DF91CF911F9175
+:107760000F91FF90EF90DF90CF90BF90AF90089572
+:10777000CF93DF93EC016EBD20E030E00DB407FE47
+:10778000FDCFFA01E20FF31F80818EBD0DB407FE1D
+:10779000FDCF81818EBD2E5F3F4F211582E03807DE
+:1077A00069F70DB407FEFDCF8FEFE3DD8FEFE1DD6D
+:1077B000D9DD8B838F71853031F083E18983CE01F0
+:1077C000DDDD80E001C081E0DF91CF9108950F936E
+:1077D0001F93CF93DF93EC0189018C81833039F0C3
+:1077E000B9E0440F551F661F771FBA95D1F79A016C
+:1077F000AB0168E1CE0166DE882311F086E01EC091
+:10780000A8016EEFCE01B4DF8823C9F068E572E00D
+:10781000CE013EDE182F811102C087E10FC020E0AB
+:1078200030E0A9016DE0CE014DDE811106C09ADD88
+:10783000811103C0CE01A2DD05C086E18983CE019E
+:107840009DDD10E0812FDF91CF911F910F91089561
+:10785000FC01659175918591949108952F923F92C5
+:107860004F925F926F927F928F929F92AF92BF9250
+:10787000CF92DF92EF92FF920F931F93CF93DF93FC
+:1078800000D000D0CDB7DEB71C01FC01E051F24FB3
+:1078900014919C01220F331F220F331F3E832D832F
+:1078A0002C5B354F4901F90110821182128213823B
+:1078B00020E53AE04CE45AE068E47AE084E49AE0B7
+:1078C0000E943EA48D819E818150924FC1DF6B0149
+:1078D0007C01612F772767FD7095872F972F0E9476
+:1078E00042AF2B013C012D813E81215F354F590173
+:1078F00020E030E040EC5FE3C701B6010E9475B1C3
+:10790000A30192010E9475B1F501608371838283A6
+:1079100093832D813E81215A3D4F3C832B83F90176
+:107920006081718182819381609321027093220230
+:10793000809323029093240220E030E040E752E459
+:107940000E94A7AE20E3C22E2AE0D22E7B018C013A
+:107950002BE13AE047E15AE063E17AE08FE09AE018
+:107960000E94779A0E943D93F40110821182128244
+:10797000138220E53AE04CE45AE068E47AE084E4DB
+:107980009AE00E943EA42D813E812D50324F3A83D1
+:107990002983C9015DDF9058A30192010E9475B14E
+:1079A000F501608371838283938320E030E040E7B8
+:1079B00052E4609121027091220280912302909101
+:1079C00024020E94A7AE7B018C012BE13AE047E143
+:1079D0005AE063E17AE08FE09AE00E94779A0E9491
+:1079E0003D9389819A8134DF9B01AC010E94C7AD30
+:1079F000A30192010E9475B1F501608371838283B6
+:107A0000938320E030E040E05FE3EB81FC81608124
+:107A10007181828193810E9475B16093210270937C
+:107A20002202809323029093240220E030E040E77A
+:107A300052E40E94A7AE7B018C012BE13AE047E1C2
+:107A40005AE063E17AE08FE09AE00E94779A0E9420
+:107A50003D938D819E81855F914FFADE0D811E8160
+:107A6000085C154FF80120813181428153810E94C9
+:107A7000C7ADF40160837183828393838D819E817E
+:107A80008D5D914FE5DE2D813E812D5B3D4F79016E
+:107A9000F80120813181428153810E94C7ADF701F5
+:107AA00060837183828393838D819E81895E914FF0
+:107AB000CFDE2D813E81295C3D4F7901F801208187
+:107AC0003181428153810E94C7ADF7016083718388
+:107AD00082839383F40180819181A281B381F50136
+:107AE00080839183A283B383109221021092220299
+:107AF00010922302109224020E94EA8BF101EB5CA7
+:107B0000F54F81E0808326960FB6F894DEBF0FBE56
+:107B1000CDBFDF91CF911F910F91FF90EF90DF903C
+:107B2000CF90BF90AF909F908F907F906F905F901D
+:107B30004F903F902F900895FC012491222341F013
+:107B40003091C00035FFFCCF2093C6000196F4CFE2
+:107B500022E030E08CE99DE00C94308BFC01249114
+:107B6000222341F03091C00035FFFCCF2093C600A6
+:107B70000196F4CF2AE030E08CE99DE00C94868AEF
+:107B80002091640830916508243031050CF06AC0FA
+:107B9000409166085091670860E6649F9001659F78
+:107BA000300D1124BC01C9018259974F0E9437B68C
+:107BB000EFE2FEE08491882341F09091C00095FFB0
+:107BC000FCCF8093C6003196F5CFE5EEFDE08491C1
+:107BD000882341F09091C00095FFFCCF8093C600B0
+:107BE0003196F5CF809166089091670820E6289F2E
+:107BF000F001299FF00D1124E259F74F819188235C
+:107C000039F09091C00095FFFCCF8093C600F6CF6D
+:107C1000E3EEFDE08491882341F09091C00095FF50
+:107C2000FCCF8093C6003196F5CF8091C00085FFD0
+:107C3000FCCF8AE08093C600809166089091670827
+:107C4000019664E070E00E946BB2909367088093A5
+:107C50006608809164089091650801969093650884
+:107C60008093640808952091640830916508243059
+:107C700031050CF06AC0409166085091670860E6D3
+:107C8000649F9001659F300D1124BC01C901825988
+:107C9000974F0E94A0B5EFE2FEE08491882341F067
+:107CA0009091C00095FFFCCF8093C6003196F5CF30
+:107CB000E8EDFDE08491882341F09091C00095FFAC
+:107CC000FCCF8093C6003196F5CF809166089091E5
+:107CD000670820E6289FF001299FF00D1124E25942
+:107CE000F74F8191882339F09091C00095FFFCCF28
+:107CF0008093C600F6CFE6EDFDE08491882341F045
+:107D00009091C00095FFFCCF8093C6003196F5CFCF
+:107D10008091C00085FFFCCF8AE08093C6008091EF
+:107D2000660890916708019664E070E00E946BB26B
+:107D30009093670880936608809164089091650825
+:107D40000196909365088093640808959B9AA39880
+:107D50000895FCDF40E052EC61E070E08CE99DE0CA
+:107D60000E944689E0EDFDE08491882341F09091E6
+:107D7000C00095FFFCCF8093C6003196F5CF80916F
+:107D8000C00085FFFCCF8AE08093C6008FE29EE0B2
+:107D9000FC012491222341F03091C00035FFFCCF3B
+:107DA0002093C6003196F5CF24B720FF14C0E8EC2D
+:107DB000FDE03491332341F04091C00045FFFCCFFA
+:107DC0003093C6003196F5CF3091C00035FFFCCF1F
+:107DD0003AE03093C60021FF14C0E8EBFDE0349197
+:107DE000332341F04091C00045FFFCCF3093C600E3
+:107DF0003196F5CF3091C00035FFFCCF3AE030939B
+:107E0000C60022FF14C0E7EAFDE03491332341F0BD
+:107E10004091C00045FFFCCF3093C6003196F5CFAE
+:107E20003091C00035FFFCCF3AE03093C60023FF0D
+:107E300014C0E7E9FDE03491332341F04091C000E4
+:107E400045FFFCCF3093C6003196F5CF3091C0008E
+:107E500035FFFCCF3AE03093C60025FF14C0E7E8B9
+:107E6000FDE02491222341F03091C00035FFFCCF8A
+:107E70002093C6003196F5CF2091C00025FFFCCF9E
+:107E80002AE02093C60014BEE0E8FDE024912223FE
+:107E900041F03091C00035FFFCCF2093C6003196F1
+:107EA000F5CFEAE7FDE02491222341F03091C000B4
+:107EB00035FFFCCF2093C6003196F5CF2091C0004E
+:107EC00025FFFCCF2AE02093C600FC012491EFE2BD
+:107ED000FEE0222349F03091C00035FFFCCF209313
+:107EE000C60031962491F5CFEAE6FDE024912223E5
+:107EF00041F03091C00035FFFCCF2093C600319691
+:107F0000F5CFE5E5FDE02491222341F03091C0005A
+:107F100035FFFCCF2093C6003196F5CFE9E4FDE0B4
+:107F20002491222341F03091C00035FFFCCF2093F3
+:107F3000C6003196F5CFE2E3FDE02491222341F023
+:107F40003091C00035FFFCCF2093C6003196F5CFAD
+:107F50002091C00025FFFCCF2AE02093C600E7E275
+:107F6000FDE02491222341F03091C00035FFFCCF89
+:107F70002093C6003196F5CFEBE1FDE0249122235A
+:107F800041F03091C00035FFFCCF2093C600319600
+:107F9000F5CF2091C00025FFFCCF2AE02093C6003A
+:107FA000FC018491EFE2FEE0882349F09091C0004B
+:107FB00095FFFCCF8093C60031968491F5CFECE01D
+:107FC000FDE08491882341F09091C00095FFFCCFA3
+:107FD0008093C6003196F5CF0E9458964AE050E053
+:107FE000BC018CE99DE00E945A8AE5EFFCE0849197
+:107FF000882341F09091C00095FFFCCF8093C6008C
+:108000003196F5CF4AE050E060ED74E08CE99DE0F8
+:108010000E945A8A8091C00085FFFCCF8AE080933D
+:10802000C60010926A0810926B0810926C081092A9
+:108030006D080E9467870E9439830E94A2200E94D7
+:10804000279A0E9446950E947076FFEF23ED80E309
+:10805000F15020408040E1F700C000000895809179
+:108060005E0890915F0860E070E001960C94F7B2B2
+:1080700080915E0890915F084AE050E060E070E017
+:1080800001960C945FB4682F772767FD7095209157
+:1080900068083091690840E6429FC001439F900DF7
+:1080A00011248259974F0E9423B690935F088093C2
+:1080B0005E0821E0892B09F420E0822F08950E94B8
+:1080C00031A960935A0870935B0880935C08909381
+:1080D0005D0808950E9431A960935A0870935B0867
+:1080E00080935C0890935D08E0916808F0916908BE
+:1080F000E659F74F8081811114C0ECEFF8E08491CC
+:10810000882341F09091C00095FFFCCF8093C6007A
+:108110003196F5CF8091C00085FFFCCF8AE0809337
+:10812000C60008958CE99DE00E949889EFEFF8E081
+:108130008491882341F09091C00095FFFCCF8093FB
+:10814000C6003196F5CF4091F3095091F409609142
+:10815000F5097091F6094F5F5F4F6F4F7F4F2AE02F
+:1081600030E08CE99DE00E94378A8091C00085FF55
+:10817000FCCF8AE08093C600ADCF8F929F92AF92E2
+:10818000BF92CF92DF92EF92FF920F931F93CF9304
+:10819000DF9337ECE32E34E0F32E04E41AE0CFE073
+:1081A000DAE049E5C42E4AE0D42EF70181917F013F
+:1081B0006ADF882311F153DF4B015C01F6018081F6
+:1081C000811103C06091EE0901C061E070E080E0C0
+:1081D00090E00E9442AFF8012081318142815381B9
+:1081E0000E9475B19B01AC01C501B4010E94C7ADED
+:1081F000688379838A839B8309C0F8018081918198
+:10820000A281B38188839983AA83BB830C5F1F4FAC
+:108210002496FFEFCF1ADF0A8BECE81684E0F8060D
+:1082200021F686E430DF8823D1F019DF6B017C0171
+:108230006093FF097093000A8093010A9093020AE9
+:1082400020E030E0A9010E94A3B0181644F4C092C7
+:108250002102D0922202E0922302F0922402DF91C6
+:10826000CF911F910F91FF90EF90DF90CF90BF9033
+:10827000AF909F908F90089580DF89E404DF88237A
+:1082800051F0EDDE6093030A7093040A8093050AAF
+:108290009093060A08C01092030A1092040A1092E2
+:1082A000050A1092060A8AE4EEDE882351F0D7DE32
+:1082B0006093070A7093080A8093090A90930A0A48
+:1082C00008951092070A1092080A1092090A109253
+:1082D0000A0A0895CF92DF92EF92FF92CF93DF9335
+:1082E000EC01C0904302D0904402E0904502F0902F
+:1082F0004602A7019601688179818A819B810E944B
+:10830000A0AE87FF04C0C882D982EA82FB82C090F7
+:108310004702D0904802E0904902F0904A02A7013B
+:1083200096016C817D818E819F810E94A0AE87FF26
+:1083300004C0CC82DD82EE82FF8220E030E0A90121
+:1083400060914B0270914C0280914D0290914E02CF
+:108350000E94C7AD6B017C019B01AC0168857985EA
+:108360008A859B850E94A0AE87FF04C0C886D986F7
+:10837000EA86FB86C0903702D0903802E09039023E
+:10838000F0903A02A7019601688179818A819B81E8
+:108390000E94A3B0181624F4C882D982EA82FB8214
+:1083A000C0903B02D0903C02E0903D02F0903E0233
+:1083B000A70196016C817D818E819F810E94A3B06F
+:1083C000181624F4CC82DD82EE82FF82C0903F0238
+:1083D000D0904002E0904102F0904202A701960145
+:1083E000688579858A859B850E94A3B0181624F438
+:1083F000C886D986EA86FB86DF91CF91FF90EF9001
+:10840000DF90CF900895CF92DF92EF92FF920F937B
+:108410001F938FE09AE05EDF0E9431A960935A08B3
+:1084200070935B0880935C0890935D0820910F0A1D
+:108430003091100A4091110A5091120A6091440A39
+:108440007091450A8091460A9091470A0E94A0AE19
+:10845000811179C02091130A3091140A4091150AB4
+:108460005091160A6091480A7091490A80914A0A0F
+:1084700090914B0A0E94A0AE811165C020E030E0CF
+:1084800040E752E460912102709122028091230220
+:10849000909124020E94A7AE50E3C52E5AE0D52E3B
+:1084A0007B018C012BE13AE047E15AE063E17AE09D
+:1084B0008FE09AE00E94779A80910F0A9091100ABB
+:1084C000A091110AB091120A8093440A9093450A30
+:1084D000A093460AB093470A8091130A9091140A18
+:1084E000A091150AB091160A8093480A9093490A00
+:1084F000A0934A0AB0934B0A8091170A9091180AE8
+:10850000A091190AB0911A0A80934C0A90934D0ACF
+:10851000A0934E0AB0934F0A80911B0A90911C0AB7
+:10852000A0911D0AB0911E0A8093500A9093510A9F
+:10853000A093520AB093530A1F910F91FF90EF90AE
+:10854000DF90CF90089560915D0270915E02882760
+:1085500077FD8095982F0E9442AF209121023091A3
+:10856000220240912302509124020E9475B120E022
+:1085700030E040E752E40E94A7AE20E030E048EC53
+:1085800052E488CFCF92DF92EF92FF92CF93C62F23
+:10859000E091300AF0E0882309F4C2C0DF01A45D55
+:1085A000B54F8C91811196C18091440A9091450AF2
+:1085B000A091460AB091470A80930F0A9093100A3F
+:1085C000A093110AB093120A8091480A9091490A27
+:1085D000A0914A0AB0914B0A8093130A9093140A0F
+:1085E000A093150AB093160A80914C0A90914D0AF7
+:1085F000A0914E0AB0914F0A8093170A9093180ADF
+:10860000A093190AB0931A0AC090500AD090510A48
+:10861000E090520AF090530AC0921B0AD0921C0AB2
+:10862000E0921D0AF0921E0AEE0FFF1FEE0FFF1FD1
+:10863000E15BFD4F2081318142815381CC2349F0A0
+:1086400060912F027091300280913102909132023C
+:1086500008C060913302709134028091350290918C
+:1086600036020E94A7AE9B01AC01C701B6010E9471
+:10867000C7AD6093500A7093510A8093520A909349
+:10868000530A80E59AE00E94E3A4C0902102D090B2
+:108690002202E0902302F090240220E030E040E744
+:1086A00052E460912B0270912C0280912D029091E6
+:1086B0002E020E9475B16093210270932202809372
+:1086C000230290932402E091300AF0E0E45DF54F3C
+:1086D00081E0808398DE2091280A3091290A409118
+:1086E0002A0A50912B0A60914C0A70914D0A809190
+:1086F0004E0A90914F0A0E94C6AD60934C0A709347
+:108700004D0A80934E0A90934F0A20E53AE04CE4DC
+:108710005AE068E47AE084E49AE00E943EA4D1C082
+:10872000E45DF54F8081882309F4D4C08091440A28
+:108730009091450AA091460AB091470A80930F0A8A
+:108740009093100AA093110AB093120A8091480ADC
+:108750009091490AA0914A0AB0914B0A8093130A5A
+:108760009093140AA093150AB093160A60914C0ACC
+:1087700070914D0A80914E0A90914F0A6093170AAA
+:108780007093180A8093190A90931A0AC090500A9D
+:10879000D090510AE090520AF090530AC0921B0AFE
+:1087A000D0921C0AE0921D0AF0921E0A2091280A1B
+:1087B0003091290A40912A0A50912B0A0E94C7AD94
+:1087C00060934C0A70934D0A80934E0A90934F0A1F
+:1087D00020E53AE04CE45AE068E47AE084E49AE088
+:1087E0000E943EA4F090300ACC2389F02091200A08
+:1087F0003091210A4091220A5091230A60912F0260
+:1088000070913002809131029091320210C020911B
+:10881000240A3091250A4091260A5091270A609136
+:1088200033027091340280913502909136020E9499
+:10883000C7AD24E0F29EF0011124E15BFD4F2081E1
+:108840003181428153810E94A7AE9B01AC016091AE
+:10885000500A7091510A8091520A9091530A0E94D5
+:10886000C6AD6093500A7093510A8093520A909358
+:10887000530A80E59AE00E94E3A4C0902102D090C0
+:108880002202E0902302F090240220E030E040E752
+:1088900052E4609127027091280280912902909100
+:1088A0002A020E9475B16093210270932202809384
+:1088B000230290932402E091300AF0E0E45DF54F4A
+:1088C0001082A1DDC0922102D0922202E092230206
+:1088D000F0922402CF91FF90EF90DF90CF90089517
+:1088E000AF92BF92CF92DF92EF92FF920F931F93BE
+:1088F000CF93DF93D82F2091070A3091080A409137
+:10890000090A50910A0A6091030A7091040A809141
+:10891000050A9091060A0E94B0B0C62F172F082FA3
+:10892000F92E60915D0270915E02882777FD809537
+:10893000982F0E9442AF2091210230912202409153
+:108940002302509124020E9475B120E030E040E7FC
+:1089500052E40E94A7AE20E030E048EC52E40E94CE
+:10896000A7AE2091300A2F93DF93FF920F931F93AE
+:10897000CF935B016C0172E0E72E01E020E043E061
+:108980005AE06FE07AE084E49AE00E943B2A80910A
+:108990000F0A9091100AA091110AB091120A8093C7
+:1089A000440A9093450AA093460AB093470A8091DF
+:1089B000130A9091140AA091150AB091160A809397
+:1089C000480A9093490AA0934A0AB0934B0A8091AF
+:1089D000170A9091180AA091190AB0911A0A809367
+:1089E0004C0A90934D0AA0934E0AB0934F0A80917F
+:1089F0001B0A90911C0AA0911D0AB0911E0A809337
+:108A0000500A9093510AA093520AB093530A0E94BD
+:108A100031A960935A0870935B0880935C08909327
+:108A20005D080F900F900F900F900F900F90DF91B7
+:108A3000CF911F910F91FF90EF90DF90CF90BF905B
+:108A4000AF900895F8940E944521179A1092350A24
+:108A5000169A1092360A159A1092370A149A60E004
+:108A600087E40E9451A8E5E3FEE08491882341F069
+:108A70009091C00095FFFCCF8093C6003196F5CF52
+:108A8000EDEDF8E08491882341F09091C00095FFCE
+:108A9000FCCF8093C6003196F5CF8091C00085FF52
+:108AA000FCCF8AE08093C60084ED98E00E940D76AA
+:108AB0007894C6E0D0E02197209749F068EC70E008
+:108AC00080E090E00E9460A90E949C76F4CFF89428
+:108AD000FFCF2F923F924F925F926F927F928F9231
+:108AE0009F92AF92BF92CF92DF92EF92FF920F933D
+:108AF0001F93CF93DF93CDB7DEB76E970FB6F89481
+:108B0000DEBF0FBECDBFB0E6BB2E14E0E12EF12CD0
+:108B10000BEBC02E0BE0D02E8AE0A82E9924939464
+:108B200080911D0E90911E0E20911F0E3091200EEF
+:108B3000821B930B8F779927892B09F41AC2809196
+:108B400064089091650804970CF013C28CE99DE0CD
+:108B50000E947C89809363082091610830916208AB
+:108B60008A3061F08D3051F08A3321F490916008A1
+:108B7000992321F02F3531050CF41DC12115310544
+:108B800009F437C18091660890916708B89E30015A
+:108B9000B99E700C1124F301E20FF31FE259F74F55
+:108BA000108220916008211101C110926008FC011F
+:108BB000E659F74F108283010259174F6EE470E0B7
+:108BC000C8010E9423B60097F1F190935F0880934B
+:108BD0005E08801B910B860D971D4AE050E060E017
+:108BE00070E08159974F0E945FB46093F7097093CA
+:108BF000F8098093F9099093FA094090F30950908D
+:108C0000F4096090F5097090F6092FEF421A520AA4
+:108C1000620A720A0091660810916708641575056A
+:108C20008605970509F4E8C0B09EC001B19E900D7D
+:108C3000112467ED7CE08259974F0E94CEB5892BB5
+:108C400009F0DAC069C16AE270E0C8010E9423B687
+:108C5000892B09F444C0E5E3FEE08491882341F0C8
+:108C60009091C00095FFFCCF8093C6003196F5CF60
+:108C7000E1E3FCE08491882341F09091C00095FFEE
+:108C8000FCCF8093C6003196F5CF4091F309509107
+:108C9000F4096091F5097091F6092AE030E08CE959
+:108CA0009DE00E94378A8091C00085FFFCCF8AE05A
+:108CB0008093C6001092620810926108C0C2809131
+:108CC000F7099091F809A091F909B091FA098093F8
+:108CD000F3099093F409A093F509B093F6098091F4
+:108CE000660890916708B89E8001B99E100D112406
+:108CF000C8018259974F3C0167E470E00E9423B697
+:108D0000009781F190935F0880935E088619970918
+:108D1000800F911F60E070E08159974F0E94F7B279
+:108D20000E940FAF64307105E8F480914C088823ED
+:108D3000C9F0F6018491EBEBFBE0882349F09091B8
+:108D4000C00095FFFCCF8093C60031968491F5CF8B
+:108D50008091C00085FFFCCFA092C60081EB9BE014
+:108D60000E9400760091660810916708B09EC001CD
+:108D7000B19E900D112463E973E08259974F0E94D0
+:108D80002EB6892B09F45EDEC8010196B7010E9458
+:108D90006BB2909367088093660880916408909105
+:108DA00065080196909365088093640810926208A4
+:108DB00010926108B5CE8B3311F4909260089091B7
+:108DC00060089111ADCE4091660850916708B901D5
+:108DD0006F5F7F4F7093620860936108B49EF001EB
+:108DE000B59EF00D1124E20FF31FE259F74F808377
+:108DF00097CE1092600823C2B09E3001B19E700CD5
+:108E00001124C3018259974F1C016AE270E00E944D
+:108E100023B6009789F5E5E3FEE08491882341F0CD
+:108E20009091C00095FFFCCF8093C6003196F5CF9E
+:108E3000EBE5FCE08491882341F09091C00095FF20
+:108E4000FCCF8093C6003196F5CF4091F309509145
+:108E5000F4096091F5097091F6092AE030E08CE997
+:108E60009DE00E94378A8091C00085FFFCCF8AE098
+:108E70008093C60057D91ECF20E010E0F301E20F27
+:108E8000F11DE259F74F30813A3219F02F5F132765
+:108E9000F5CF90935F0880935E0882199309860D41
+:108EA000971D60E070E08159974F0E94F7B20E94D1
+:108EB0000FAF212F30E02617370709F400CFE5E385
+:108EC000FEE08491882341F09091C00095FFFCCF93
+:108ED0008093C6003196F5CFE5E8FCE084918823C5
+:108EE00041F09091C00095FFFCCF8093C600319671
+:108EF000F5CF4091F3095091F4096091F509709113
+:108F0000F6092AE030E08CE99DE00E94378A8091E2
+:108F1000C00085FFFCCFABCFE5E3FEE08491882362
+:108F200041F09091C00095FFFCCF8093C600319630
+:108F3000F5CFE4EAFCE08491882341F09091C000F1
+:108F400095FFFCCF8093C6003196F5CF4091F30991
+:108F50005091F4096091F5097091F6092AE030E02A
+:108F60008CE99DE00E94378A8091C00085FFFCCF8C
+:108F70007ECF80915F0A882309F461C180916108E6
+:108F800090916208892B09F05AC1809164089091F0
+:108F90006508892B11F410924A08F8EE2F2EF3E0A1
+:108FA0003F2E412C512CACE3CA2ED12CE12CF12CBC
+:108FB0008E010F5F1F4FE0E66E2E77247394409171
+:108FC000FA0C5091FB0C6091FC0C7091FD0C80919F
+:108FD000F20C9091F30CA091F40CB091F50C4817A1
+:108FE00059076A077B0708F02AC1809164089091AD
+:108FF000650804970CF023C180914A0881111FC1B4
+:1090000080914D0C90914E0CA0914F0CB091500C52
+:109010008093FA0C9093FB0CA093FC0CB093FD0C86
+:1090200085E49CE00E94E011482F809363088A3019
+:10903000B9F04D30A9F0433229F420916008222381
+:1090400079F002C04A33C9F3209161083091620877
+:109050002F3531052CF48F3FFFEF9F0709F0D1C06A
+:109060004091FA0C5091FB0C6091FC0C7091FD0C3E
+:109070008091F20C9091F30CA091F40CB091F50C4E
+:10908000481759076A077B0708F481C0EEE9FBE03F
+:109090008491882341F09091C00095FFFCCF80938C
+:1090A000C6003196F5CF8091C00085FFFCCFFAE075
+:1090B000F093C6000E9431A960934E0870934F0848
+:1090C00080935008909351088090520890905308D4
+:1090D000A0905408B0905508681979098A099B092D
+:1090E000A20191010E947EB249015A01CA01B9014F
+:1090F000A70196010E947EB2CA01B901A70196019B
+:109100000E947EB27F936F93C501B40120E13EE0DF
+:1091100040E050E00E947EB23F932F93AAE8BBE06C
+:10912000BF93AF931F930F930E945BB6EFE2FEE0F5
+:1091300084910FB6F894DEBF0FBECDBF882349F0EF
+:109140009091C00095FFFCCF8093C600319684912A
+:10915000F5CFF8018191882339F09091C00095FFF7
+:10916000FCCF8093C600F6CF8091C00085FFFCCF76
+:109170003AE03093C600C8010E9448728DE59AE03B
+:109180000E945B3961E08DE59AE00E94873380910F
+:109190006308833211F470924A082091610830917B
+:1091A00062082115310509F424CE8091660890915A
+:1091B0006708689EF001699EF00D1124E20FF31F0D
+:1091C000E259F74F1082FC01E659F74F7082209167
+:1091D0006408309165082F5F3F4F309365082093F6
+:1091E0006408019664E070E00E946BB29093670897
+:1091F00080936608109260081092620810926108CD
+:10920000DECE4B3311F4709260084091600841113A
+:10921000D2CE4091660850916708B9016F5F7F4FC9
+:109220007093620860936108649EF001659EF00D82
+:109230001124E20FF31FE259F74F8083C0CE6E96E0
+:109240000FB6F894DEBF0FBECDBFDF91CF911F9157
+:109250000F91FF90EF90DF90CF90BF90AF909F90D5
+:109260008F907F906F905F904F903F902F900895D8
+:10927000CF92DF92EF92FF920F931F93CF93C82F5D
+:10928000809164089091650803970CF422DC0E9499
+:1092900031A9009156081091570820915808309133
+:1092A0005908C0905A08D0905B08E0905C08F09094
+:1092B0005D086C197D098E099F0906171707280795
+:1092C000390728F4012B022B032B09F0BBDB40915B
+:1092D0001D0250911E0260911F0270912002452BC9
+:1092E000462B472B19F10E9431A900915A08109181
+:1092F0005B0820915C0830915D08601B710B820B4C
+:10930000930B00911D0210911E0220911F023091BB
+:109310002002061717072807390740F490916D0EB1
+:1093200080916C0E981302C0CC2349F0CF911F910D
+:109330000F91FF90EF90DF90CF900C945B9A179A6B
+:109340001092350A169A1092360A159A1092370A18
+:10935000149AECCF0E94452180914C08811138C0AD
+:1093600081E080934C088091F3099091F409A091D9
+:10937000F509B091F6098093EF099093F009A09355
+:10938000F109B093F209E5E3FEE08491882341F00E
+:109390009091C00095FFFCCF8093C6003196F5CF29
+:1093A000EEE5F8E08491882341F09091C00095FFAC
+:1093B000FCCF8093C6003196F5CF8091C00085FF29
+:1093C000FCCF8AE08093C60084E598E00C94007698
+:1093D000089580914C080895CF93DF93EC0180911C
+:1093E000300A80934D0884E50E944340811102C0F9
+:1093F00080E075C00E942F400E9414AF60934D081A
+:109400006623B1F3EFE2FEE08491882341F090916E
+:10941000C00095FFFCCF8093C6003196F5CFCD36C6
+:10942000D105B9F054F4C836D105B1F0C936D1052B
+:1094300009F045C0EDEDF3E021C0CA3DD10531F0A2
+:10944000CD3DD105E1F5E8E9F3E036C0EFEAF3E020
+:1094500029C0E6ECF3E01CC0E4EFF3E0819188233F
+:1094600071F19091C00095FFFCCF8093C600F6CFBC
+:109470009091C00095FFFCCF8093C600819181112F
+:10948000F7CF1DC09091C00095FFFCCF8093C60020
+:1094900081918111F7CF13C09091C00095FFFCCF4F
+:1094A0008093C60081918111F7CF09C09091C000CF
+:1094B00095FFFCCF8093C60081918111F7CF40E0EA
+:1094C00050E060914D088CE99DE00E94918A809166
+:1094D000C00085FFFCCF8AE08093C60081E0DF9169
+:1094E000CF910895CF92DF92EF92FF922091540A8C
+:1094F0002223F1F020E030E040E05FE30E9475B10C
+:109500006B017C0120E030E0A9010E94A0AE88231D
+:1095100079F0A7019601C701B6010E9475B12BED44
+:109520003FE049E450E40E9475B19B01AC0104C0E6
+:1095300020E030E040E85FE360E070E080E89FE337
+:109540000E94A7AEFF90EF90DF90CF9008956091BA
+:109550005302709154028091550290915602C2DFDD
+:1095600060934F0270935002809351029093520285
+:1095700008953F924F925F926F927F928F929F9247
+:10958000AF92BF92CF92DF92EF92FF920F931F9311
+:10959000CF93DF93CDB7DEB7E9970FB6F894DEBF70
+:1095A0000FBECDBF80E50E9443408823B1F186E421
+:1095B0000E9443408823A9F0EAE1F4E081918823E6
+:1095C00039F09091C00095FFFCCF8093C600F6CF94
+:1095D0008091C00085FFFCCF8AE08093C6000C9488
+:1095E000F46082E50E944340882311F40C94F460F7
+:1095F000E0E2F4E08191882339F09091C00095FF7A
+:10960000FCCF8093C600F6CF8091C00085FFFCCFD1
+:109610008AE08093C6000C94F46087E40E94434083
+:10962000882309F44CC20E942F400E940FAF6A3079
+:10963000710509F4AFC09CF46230710509F44CC0A7
+:1096400024F477FF25C00C94F4606330710509F4AD
+:109650004EC06430710509F455C00C94F4606A354D
+:10966000710509F4D8C154F46B30710509F498C040
+:109670006C31710509F49AC00C94F4606B35710576
+:1096800009F4CDC16C35710509F4CEC10C94F460B8
+:1096900080914C0881110C94F4600E94BD4080912F
+:1096A0002D0A8823A9F088E50E944340811110C04B
+:1096B00089E50E94434081110BC08AE50E94434026
+:1096C000811106C085E40E94434081110C94F7602B
+:1096D0000E9403420C94F46080914C0881110C9418
+:1096E000F4600E943C4181E0FBD80C94F4608091CE
+:1096F0004C0881110C94F4600E943C4180E0F0D849
+:109700000C94F46081E89BE00E94007680E50E9462
+:109710004340882339F00E942F400E9414AF4B0130
+:109720005C0103C0812C912C540183E50E944340CD
+:10973000882361F00E942F4020E030E04AE754E4A3
+:109740000E9475B10E9414AF4B015C010E943D93D1
+:109750000E9431A96B017C01C80CD91CEA1CFB1CBE
+:109760000E9431A960935A0870935B0880935C084B
+:1097700090935D080E9431A96C157D058E059F05AB
+:1097800010F00C94F4600E94721E80E071DD0E9463
+:109790009C76F0CF60E081E00E94C2420C94F460BD
+:1097A00060E080E00E94C2420C94F460809121024B
+:1097B00090912202A0912302B09124028093FB0990
+:1097C0009093FC09A093FD09B093FE0980915D027E
+:1097D00090915E029093580A8093570A84E690E035
+:1097E00090935E0280935D020E9431A960935A08B3
+:1097F00070935B0880935C0890935D0881E00E9401
+:10980000F18B8091440A9091450AA091460AB0914B
+:10981000470A80930F0A9093100AA093110AB093FD
+:10982000120A8091480A9091490AA0914A0AB0917F
+:109830004B0A8093130A9093140AA093150AB093CD
+:10984000160A80914C0A90914D0AA0914E0AB0914F
+:109850004F0A8093170A9093180AA093190AB0939D
+:109860001A0A8091500A9091510AA091520AB0911F
+:10987000530A80931B0A90931C0AA0931D0AB0936D
+:109880001E0A1092210210922202109223021092BC
+:10989000240288E50E944340882311F090E00AC02A
+:1098A00089E50E9443408111F9CF8AE50E94434037
+:1098B00091E098279093250291110C94266188E5F8
+:1098C0000E94434081110C942661809125028111F0
+:1098D0000C942C6189E50E94434081110C942C6109
+:1098E00088E50E9443408823D1F00E943840672BCE
+:1098F000682B692BA1F00E942F402091380A3091EB
+:10990000390A40913A0A50913B0A0E94C7AD6093D0
+:10991000440A7093450A8093460A9093470A89E562
+:109920000E9443408823D1F00E943840672B682B67
+:10993000692BA1F00E942F4020913C0A30913D0AF2
+:1099400040913E0A50913F0A0E94C7AD6093480A79
+:109950007093490A80934A0A90934B0A809125029A
+:1099600081110C9432618AE50E94434081110C946C
+:1099700032618AE50E9443408823D1F00E9438403A
+:10998000672B682B692BA1F00E942F402091400A81
+:109990003091410A4091420A5091430A0E94C7AD5A
+:1099A00060934C0A70934D0A80934E0A90934F0A2D
+:1099B00020E53AE04CE45AE068E47AE084E49AE096
+:1099C0000E943EA480E00E94F18B8091FB0990915F
+:1099D000FC09A091FD09B091FE09809321029093AA
+:1099E0002202A0932302B09324028091570A9091FF
+:1099F000580A90935E0280935D020E9431A96093A1
+:109A00005A0870935B0880935C0890935D080E94ED
+:109A1000EA8B0C94F4601092EE090C94F46081E0EF
+:109A20008093EE090C94F46085E40E944340811118
+:109A300002C00E943D9357ECC52E54E0D52E68E33A
+:109A4000E62E6AE0F62E04E41AE0B12CF6018191CC
+:109A50006F010E944340882339F1F3E0BF120CC02C
+:109A60000E942F40F801608371838283938380E595
+:109A70009AE00E94E3A418C00E942F40F7012081C1
+:109A80003181428153810E94C7ADF80160837183A7
+:109A90008283938320E53AE04CE45AE068E47AE07C
+:109AA00084E49AE00E943EA4B394F4E0EF0EF11C2B
+:109AB0000C5F1F4F24E0B212C9CF0C94F4608DE408
+:109AC0000E944340882311F40C9423600E942F408D
+:109AD0000E940FAF6537710511F40C94C9550CF055
+:109AE000A6C06032710509F4F0C20CF056C06731AF
+:109AF000710509F445C254F56231710509F468C76E
+:109B0000BCF477FF02C00C94F460623071050CF471
+:109B100061C16131710511F00C94F46088E49BE03F
+:109B20000E94007617981698159814980C94F46073
+:109B30006531710509F418C20CF01CC2643171055D
+:109B400011F00C94F460E8E3FBE0EAC16B317105BD
+:109B500009F442C2B4F46931710509F429C20CF068
+:109B60002DC28DE59AE00E9416310E9431A96093C2
+:109B700052087093530880935408909355080C949E
+:109B8000F4606E31710509F462C20CF03AC36C31B5
+:109B9000710509F427C20C94F4606C35710509F461
+:109BA0006AC7ECF46235710509F409C764F46035DD
+:109BB000710509F4DAC60CF0E5C66A32710509F4DC
+:109BC0007EC30C94F4606435710509F401C70CF48C
+:109BD000FAC66535710509F433C70C94F4606B3629
+:109BE000710509F4BCC664F46936710509F4DEC375
+:109BF0000CF085C66836710509F4A8C30C94F460AE
+:109C00006037710509F4BFC334F46D36710509F48A
+:109C1000D9C40C94F4606237710509F4CEC7633778
+:109C2000710511F00C94F460EEEBF9E0ADC76D3DF9
+:109C3000710511F40C94D3590CF04DC06B3C7105B7
+:109C400011F40C944D5844F56C38710509F49DC31A
+:109C50009CF46837710511F40C94BD566937710591
+:109C600011F40C94C2566737710511F00C94F4602E
+:109C7000E7E2F4E00C94CD56683C710511F40C94C5
+:109C8000B757693C710511F40C942C586E3B710563
+:109C900011F00C94F46020C56F3C710511F40C9424
+:109CA000095954F46D3C710511F40C948C5814F45A
+:109CB0000C946A580C94EC58613D710511F40C94A5
+:109CC000645914F40C943E596C3D710511F40C94D4
+:109CD000C4590C94F460603931E0730711F40C94AA
+:109CE000965B54F56E3291E0790711F40C94505B59
+:109CF00084F46C32F1E07F0711F40C94545A14F0A0
+:109D00000C948A5A623E710511F40C94F9590C9422
+:109D1000F4606E3531E0730711F40C94905F6F3589
+:109D200081E0780711F40C94C75F6F32714011F035
+:109D30000C94F4600C945E5B6835E2E07E0711F4ED
+:109D40000C94745CBCF4663F21E0720711F40C942F
+:109D5000995B673F31E0730711F40C949C5B653F9E
+:109D6000714011F00C94F4600E9467870E9439835F
+:109D70000C94F4606B3893E0790711F40C946A5FEB
+:109D80003CF46335734011F40C949F5B0C94F460C5
+:109D9000603A23E0720709F401C2673E734011F094
+:109DA0000C94F46010924C080E9413768091EF0995
+:109DB0009091F009A091F109B091F2098093F30913
+:109DC0009093F409A093F509B093F6090E9492408C
+:109DD0000C94F46000915E0810915F080E5F1F4FB5
+:109DE00080E50E944340882379F00E942F400E9422
+:109DF00014AF6B017C01BB24B3946115710581051F
+:109E0000910531F4B12C04C0B12CC12CD12C7601B8
+:109E100083E50E944340882399F00E942F4020E070
+:109E200030E04AE754E40E9475B10E9414AF6B0120
+:109E30007C01AA24A394611571058105910509F49B
+:109E4000A12C6AE270E0C8010E9423B6009711F0CD
+:109E5000FC011082F801CF0121912032E1F3B11011
+:109E600007C0A11005C0222319F00E94487204C047
+:109E700080E79BE00E94007681E00E9428720E94A9
+:109E80003D930E9431A960935A0870935B088093B8
+:109E90005C0890935D08C114D104E104F104A9F0B9
+:109EA0000E9431A94B015C018C0C9D1CAE1CBF1C97
+:109EB0000E9431A9681579058A059B05B8F40E94AE
+:109EC0006277811113C00C9438610E9460778823F7
+:109ED00011F40C94F4600E94627781110AC00E9410
+:109EE000721E80E0C5D90E949C76F5CF80E00E946A
+:109EF000287280915F0A882331F081E69BE00E94FE
+:109F000000760C94F46081E59BE00E9400760C944E
+:109F1000F4609091C00095FFFCCF8093C60031960D
+:109F200084918111F6CF8091C00085FFFCCF8AE03B
+:109F30008093C6008DE59AE00E94F22FEAE2FBE0F2
+:109F40008491882341F09091C00095FFFCCF8093CD
+:109F5000C6003196F5CF8091C00085FFFCCF8AE026
+:109F60008093C6000C94F4608DE59AE00E9447301F
+:109F70000C94F4608DE59AE00E9412310C94F46028
+:109F800000915E0810915F080C5F1F4F6AE270E05D
+:109F9000C8010E9423B6009711F0FC01108221E055
+:109FA00041E0B8018DE59AE00E94EC340C94F46035
+:109FB0008DE59AE00E941D310C94F4608091600A56
+:109FC000882311F40C94F46083E50E9443408111CE
+:109FD0000C9441610C94F4608DE59AE00E94C132CA
+:109FE0000C94F46080915E0890915F086AE270E0E2
+:109FF00004960E9423B68C010097D9F0209168083E
+:10A000003091690840E6429FC001439F900D1124A2
+:10A010006EE470E08259974F0E9423B660E270E0D0
+:10A020000E9423B6019690935F0880935E08F80122
+:10A03000108260915E0870915F086C5F7F4F21E035
+:10A0400040E08DE59AE00E94EC340C94F46080913D
+:10A05000600A882311F40C94F46060E08DE59AE0C6
+:10A060000E947D3480915E0890915F086AE270E002
+:10A0700004960E9423B68C010097D9F020916808BD
+:10A080003091690840E6429FC001439F900D112422
+:10A090006EE470E08259974F0E9423B660E270E050
+:10A0A0000E9423B6019690935F0880935E08F801A2
+:10A0B000108260915E0870915F086C5F7F4F8DE544
+:10A0C0009AE00E9481310C94F46080915F0A8111C2
+:10A0D0000E943D9300915E0810915F080C5F1F4F36
+:10A0E0006AE270E0C8010E9423B67C0161E270E080
+:10A0F000C8010E9423B6009719F08C010F5F1F4F13
+:10A10000E114F10411F0F701108280E50E94434050
+:10A11000F82E20915E0830915F080217130708F4AB
+:10A12000F12C8091600A882311F40C94F46021E0F2
+:10A130002F2541E0B8018DE59AE00E94EC3483E5DB
+:10A140000E9443408823B9F020915E0830915F0857
+:10A150002017310780F40E943840AB01BC014093C6
+:10A16000FA0C5093FB0C6093FC0C7093FD0C85E48F
+:10A170009CE00E94A9128DE59AE00E941631F11030
+:10A180000C94F4600E9431A96093520870935308B4
+:10A1900080935408909355080C94F46080915E0865
+:10A1A00090915F086AE270E005960E9423B68C01E8
+:10A1B0000097D9F0209168083091690840E6429FE5
+:10A1C000C001439F900D11246EE470E08259974FB7
+:10A1D0000E9423B660E270E00E9423B6019690933D
+:10A1E0005F0880935E08F801108260915E087091AC
+:10A1F0005F086B5F7F4F8DE59AE00E9416380C94E4
+:10A20000F4600E9431A960934E0870934F088093C8
+:10A2100050089093510800915208109153082091D2
+:10A22000540830915508601B710B820B930B28EE7C
+:10A2300033E040E050E00E947EB2CA01B9012CE355
+:10A2400030E040E050E00E947EB27F936F933F93F6
+:10A250002F938BE19BE09F938F93CE0101969F9369
+:10A260008F930E945BB6EFE2FEE084910FB6F89404
+:10A27000DEBF0FBECDBF882349F09091C00095FF8F
+:10A28000FCCF8093C60031968491F5CFFE013196C4
+:10A290008191882339F09091C00095FFFCCF809385
+:10A2A000C600F6CF8091C00085FFFCCF8AE0809386
+:10A2B000C600CE0101960E9448720C94F46083E5BA
+:10A2C0000E944340882311F40C94F4600E942F40B4
+:10A2D0000E940FAFF62EE72E862F9E2D8C0180E573
+:10A2E0000E944340882331F00F3F110509F010F41C
+:10A2F0000C9452610DE010E0EFE8F4E0819191914F
+:10A300008017910711F40C94F46034E0E73CF307F4
+:10A31000A9F70830110539F48F2D9E2D90932F0A3F
+:10A3200080932E0A04C017FF02C00C94F46061E011
+:10A33000802F0E9451A86F2D802F0E948AA86F2D18
+:10A340007E2D802F0E9447A70C94F46088E690E051
+:10A3500043D881110C94F46083E50E944340882324
+:10A3600071F000914D080E942F4010E0000F111F66
+:10A37000085B174F0E940FAFF801718360830E9442
+:10A3800044210C94F4600E94224583E50E944340DE
+:10A39000882311F40C94F4600E942F400E940FAFA8
+:10A3A00070934708609346080C94F46089E690E047
+:10A3B00013D881110C94F460E5E1FBE084918823CB
+:10A3C00041F09091C00095FFFCCF8093C60031967C
+:10A3D000F5CFE0914D0824E0E29FF0011124E05C0C
+:10A3E000F74F408151816281738121E030E08CE937
+:10A3F0009DE00E94308BE2E1FBE08491882341F0F4
+:10A400009091C00095FFFCCF8093C6003196F5CFA8
+:10A41000E0914D08F0E0EE0FFF1FE85BF74F608121
+:10A420007181882777FD8095982F0E9442AFAB01FC
+:10A43000BC0121E030E08CE99DE00E94308BEEE031
+:10A44000FBE08491882341F09091C00095FFFCCF00
+:10A450008093C6003196F5CF40913A0850913B0861
+:10A4600060913C0870913D0821E030E08CE99DE06E
+:10A470000E94308BEBE0FBE08491882341F09091C7
+:10A48000C00095FFFCCF8093C6003196F5CF609158
+:10A49000460870914708882777FD8095982F0E947D
+:10A4A00042AFAB01BC0121E030E08CE99DE00E94AD
+:10A4B000308BE8E0FBE08491882341F09091C0006C
+:10A4C00095FFFCCF8093C6003196F5CF4AE050E06F
+:10A4D00060E070E08CE99DE00E945A8AE6E0FBE0D3
+:10A4E0008491882341F09091C00095FFFCCF809328
+:10A4F000C6003196F5CF40914008509141086091D7
+:10A5000042087091430821E030E08CE99DE00E9410
+:10A51000308BE3E0FBE08491882341F09091C00010
+:10A5200095FFFCCF8093C6003196F5CF6091480827
+:10A5300070914908882777FD8095982F0E9442AF37
+:10A54000AB01BC0121E030E08CE99DE00E94308B42
+:10A55000EFEFFAE08491882341F09091C00095FFDD
+:10A56000FCCF8093C6003196F5CF80914D0890E0E6
+:10A570000E943C1E4AE050E0BC018CE99DE00E9434
+:10A580005A8AEAEFFAE08491882341F09091C00062
+:10A5900095FFFCCF8093C6003196F5CF8FEF9FEFEC
+:10A5A0000E943C1E4AE050E0BC018CE99DE00E9404
+:10A5B0005A8A8091C00085FFFCCF8AE08093C60054
+:10A5C0000C94B0628DE690E00E94EC4981110C94ED
+:10A5D000F4608FEE9AE00E94007683E50E9443408B
+:10A5E000882391F000914D080E942F4010E0000F49
+:10A5F000111F085B174F0E940FAFF8017183608332
+:10A6000081E080931C0215C082E50E9443408823AC
+:10A6100081F000914D080E942F4010E0000F111FA3
+:10A62000085B174F0E940FAFF8017183608310928F
+:10A630001C020E9444210E9431A94B015C0100913F
+:10A640004D0810E0F801EE0FFF1FE85BF74F608147
+:10A650007181882777FD8095982F0E9442AFF8017D
+:10A66000EE0FFF1FEE0FFF1FE05CF74F11E02081A0
+:10A670003181428153810E94A3B018160CF010E082
+:10A6800010934B0810921F0ACC24CA94DC2C76013C
+:10A6900048EE442E43E0542E612C712C5AE0352EA6
+:10A6A00080911F0A81110C946D62FFEFCF16DF06B7
+:10A6B000EF06FF0611F40C945961F7FE02C00C94EA
+:10A6C0006D620E9431A96C197D09683B7B4010F4D2
+:10A6D0000C9459610C946D6289EC9AE00E940076AA
+:10A6E00083E50E944340882361F00E942F400E942E
+:10A6F0000FAF709347086093460881E080931C0277
+:10A700000FC082E50E944340882351F00E942F40F1
+:10A710000E940FAF709347086093460810921C0286
+:10A720000E9431A94B015C0110921F0A60914608FA
+:10A7300070914708882777FD8095982F0E9442AF37
+:10A7400011E020913A0830913B0840913C0850912B
+:10A750003D080E94A3B018160CF010E010934B08AF
+:10A7600006EC1AE0E2ECEE2EEAE0FE2EFEEBCF2E37
+:10A77000FAE0DF2EAAE07A2E80914B08609146081D
+:10A7800070914708882309F48BC080911F0A8111BA
+:10A7900087C0882777FD8095982F0E9442AF20912F
+:10A7A0003A0830913B0840913C0850913D080E9486
+:10A7B000A3B018160CF08BC00E9431A96819790952
+:10A7C0008A099B09693E73408105910508F460C0C0
+:10A7D000E091300A84E0E89FF0011124E05CF74F3B
+:10A7E0004081518162817381F8018491E6ECFAE045
+:10A7F000882349F09091C00095FFFCCF8093C6005C
+:10A8000031968491F5CF22E030E08CE99DE00E9402
+:10A81000308BF7018491E2ECFAE0882349F09091C3
+:10A82000C00095FFFCCF8093C60031968491F5CF90
+:10A830006091300A70E04AE050E08CE99DE00E94AF
+:10A840005A8AF6018491EEEBFAE0882349F0909160
+:10A85000C00095FFFCCF8093C60031968491F5CF60
+:10A8600040913A0850913B0860913C0870913D0836
+:10A8700021E030E08CE99DE00E94308B8091C000A7
+:10A8800085FFFCCF7092C6000E9431A94B015C018C
+:10A890000E94721E80E00E9438490E949C766CCF14
+:10A8A000882777FD8095982F0E9442AF20913A0823
+:10A8B00030913B0840913C0850913D080E94A0AE69
+:10A8C00087FF05C080911C02882309F475CF84EBB3
+:10A8D0009AE00E94007680915F0A882321F08EE73B
+:10A8E00093E00E9448720E9431A960935A087093C5
+:10A8F0005B0880935C0890935D080C94F46083E59A
+:10A900000E944340882319F10E942F4020E030E04C
+:10A91000A9010E94A0AE87FD0FC00E942F4020E039
+:10A9200030E04FE753E40E94A3B0181644F00E94B1
+:10A930002F400E940FAF05C060E070E002C06FEFD3
+:10A9400070E070932F0A60932E0A0C94F4608FEFDE
+:10A9500090E090932F0A80932E0A0C94F46010924A
+:10A960002F0A10922E0A0C94F4609B9AA39881E00F
+:10A970008093260284EA9AE00E9400760E949C76E8
+:10A980000C94F4600E9445210E943D93149A0E9409
+:10A99000A79310922F0A10922E0A68EE73E080E0BF
+:10A9A00090E00E9460A99B9AA39A1092260286E9E1
+:10A9B0009AE00E9400760E949C760C94F4601092BB
+:10A9C0005C0A0C94F46081E080935C0A0C94F4605F
+:10A9D00083E50E9443408823A1F00E942F4020E09D
+:10A9E00030E04AE754E40E9475B10E9414AF6093CE
+:10A9F0001D0270931E0280931F02909320020C94FC
+:10AA0000F46088E50E94434081110C948E6289E5D0
+:10AA10000E94434081110C948E628AE50E9443405B
+:10AA200081110C948E6285E40E94434081110C9444
+:10AA30008E620E943D93149A0E94A7930C94F46036
+:10AA400083E50E944340882311F40C94F4600E9433
+:10AA50002F4020E030E04AE754E40E9475B10E94A4
+:10AA600014AF6093560870935708809358089093DA
+:10AA700059080C94F46027EC34E039AF28AF01EAB0
+:10AA800013E161EB862E63E1962E75E6A72E73E146
+:10AA9000B72E312CE8ADF9AD8191F9AFE8AF0E9446
+:10AAA0004340882309F45BC0F3E03F1251C00E9489
+:10AAB0002F406B017C0120E030E040EA51E40E942D
+:10AAC000A0AE87FF3FC0A7019601F80160817181A8
+:10AAD000828193810E94A7AE2B013C019B01AC01B6
+:10AAE0006091791370917A1380917B1390917C130C
+:10AAF0000E9475B16093791370937A1380937B13DE
+:10AB000090937C13A3019201F40160817181828191
+:10AB100093810E9475B1F401608371838283938372
+:10AB2000F50160817181828193810E9440AFA30110
+:10AB300092010E9475B10E9414AFF5016083718388
+:10AB400082839383F801C082D182E282F38207C0BC
+:10AB50000E942F40F8016083718382839383339432
+:10AB60000C5F1F4FF4E08F0E911C24E0A20EB11C6D
+:10AB700034E033128FCF0C94F4609091C00095FFB5
+:10AB8000FCCF8093C600319684918111F6CF0C944E
+:10AB9000F46000915E0810915F080B5F1F4F6AE23E
+:10ABA00070E0C8010E9423B6009711F0FC011082EA
+:10ABB000C8010E9448720C94F460EBEBF9E08491B8
+:10ABC000882341F09091C00095FFFCCF8093C60090
+:10ABD0003196F5CF4091440A5091450A6091460A5A
+:10ABE0007091470A22E030E08CE99DE00E94308BB2
+:10ABF000E7EBF9E08491882341F09091C00095FF44
+:10AC0000FCCF8093C6003196F5CF4091480A509111
+:10AC1000490A60914A0A70914B0A22E030E08CE9BF
+:10AC20009DE00E94308BE3EBF9E08491882341F0B2
+:10AC30009091C00095FFFCCF8093C6003196F5CF70
+:10AC400040914C0A50914D0A60914E0A70914F0A02
+:10AC500022E030E08CE99DE00E94308BEFEAF9E0E1
+:10AC60008491882341F09091C00095FFFCCF8093A0
+:10AC7000C6003196F5CF4091500A5091510A60912B
+:10AC8000520A7091530A22E030E08CE99DE00E9464
+:10AC9000308BE4EAF9E08491882341F09091C00080
+:10ACA00095FFFCCF8093C6003196F5CF0E94999313
+:10ACB0000E9442AF2091A1133091A2134091A3139F
+:10ACC0005091A4130E94A7AEAB01BC0122E030E07A
+:10ACD0008CE99DE00E94308BE0EAF9E084918823C2
+:10ACE00041F09091C00095FFFCCF8093C600319653
+:10ACF000F5CF81E00E9499930E9442AF2091A51365
+:10AD00003091A6134091A7135091A8130E94A7AEAB
+:10AD1000AB01BC0122E030E08CE99DE00E94308B69
+:10AD2000ECE9F9E08491882341F09091C00095FF0F
+:10AD3000FCCF8093C6003196F5CF82E00E949993B4
+:10AD40000E9442AF2091A9133091AA134091AB13F6
+:10AD50005091AC130E94A7AEAB01BC0122E030E0E1
+:10AD60008CE99DE00E94308B8091C00085FFFCCF74
+:10AD70008AE08093C6000C94F46080E00E94F18B1E
+:10AD80000C94F46081E00E94F18B0C94F46090913B
+:10AD9000C00095FFFCCF8093C60081918111F7CF51
+:10ADA0008091C00085FFFCCF8AE08093C600E4E973
+:10ADB000F9E08491882341F09091C00095FFFCCF89
+:10ADC0008093C6003196F5CF1E9B03C0EBE0F4E004
+:10ADD00009C0E5E1F4E006C09091C00095FFFCCF0A
+:10ADE0008093C60081918111F7CF8091C00085FFCB
+:10ADF000FCCF8AE08093C600ECE8F9E084918823D8
+:10AE000041F09091C00095FFFCCF8093C600319631
+:10AE1000F5CF029903C0EBE0F4E009C0E5E1F4E00E
+:10AE200006C09091C00095FFFCCF8093C600819131
+:10AE30008111F7CF8091C00085FFFCCF8AE080931D
+:10AE4000C600E4E8F9E08491882341F09091C000C5
+:10AE500095FFFCCF8093C6003196F5CF1D9B03C0B4
+:10AE6000EBE0F4E009C0E5E1F4E006C09091C00039
+:10AE700095FFFCCF8093C60081918111F7CF80911F
+:10AE8000C00085FFFCCF8AE08093C600ECE7F9E0C4
+:10AE90008491882341F09091C00095FFFCCF80936E
+:10AEA000C6003196F5CF019903C0EBE0F4E009C08C
+:10AEB000E5E1F4E006C09091C00095FFFCCF8093DF
+:10AEC000C60081918111F7CF8091C00085FFFCCF32
+:10AED0008AE08093C600E4E7F9E08491882341F09A
+:10AEE0009091C00095FFFCCF8093C6003196F5CFBE
+:10AEF0001C9B03C0EBE0F4E009C0E5E1F4E006C010
+:10AF00009091C00095FFFCCF8093C6008191811184
+:10AF1000F7CF8091C00085FFFCCF8AE08093C60008
+:10AF2000ECE6F9E08491882341F09091C00095FF10
+:10AF3000FCCF8093C6003196F5CF379903C0EBE084
+:10AF4000F4E009C0E5E1F4E006C09091C00095FF8F
+:10AF5000FCCF8093C60081918111F7CF8091C00012
+:10AF600085FFFCCF8AE08093C6000C94F46080914A
+:10AF7000300A80934D0884E50E944340882319F1EC
+:10AF80000E942F400E9414AF60934D086623D9F0B1
+:10AF9000EFE2FEE08491882341F09091C00095FF9C
+:10AFA000FCCF8093C6003196F5CFE0E4F4E08191C8
+:10AFB000882311F40C94F4609091C00095FFFCCFAD
+:10AFC0008093C600F4CF84E40E944340882311F4A8
+:10AFD0000C94F4600E942F4020E030E0A9010E9410
+:10AFE000A0AE811103C01092540A32C000914D08E6
+:10AFF00010E00E942F40F801EE0FFF1FEE0FFF1F21
+:10B00000ED5AFD4F6083718382839383E0905302F6
+:10B01000F0905402009155021091560220E030E069
+:10B02000A901B701C8010E94A0AE811104C0E12CA2
+:10B03000F12C00E410E4C701D801809353029093EF
+:10B040005402A0935502B093560281E08093540AB3
+:10B050000E94A74A0C94F46007EC14E041E9E42E46
+:10B0600043E1F42EF80181918F010E94434088232F
+:10B0700049F00E942F400E9414AFF7016083718352
+:10B0800082839383F4E0EF0EF11C24E00B3C120763
+:10B0900049F70E9410A50C94F46007EC14E031EB22
+:10B0A000E32E33E1F32EF80181918F010E9443409A
+:10B0B000882339F00E942F40F701608371838283D7
+:10B0C0009383F4E0EF0EF11C24E00B3C120759F7D8
+:10B0D0000C94F46083E50E944340882351F00E9461
+:10B0E0002F406093891370938A1380938B139093EE
+:10B0F0008C1384E50E944340882311F40C94F4607F
+:10B100000E942F406093851370938613809387135A
+:10B11000909388130C94F46083E50E944340882345
+:10B1200051F00E942F4060938D1370938E13809383
+:10B130008F139093901384E50E944340882351F02D
+:10B140000E942F406093751370937613809377134A
+:10B150009093781382E40E944340882361F00E9418
+:10B160002F400E9414AF6093C1137093C213809359
+:10B17000C3139093C41388E50E944340882351F081
+:10B180000E942F40609381137093821380938313E6
+:10B19000909384138AE50E944340882351F00E94D3
+:10B1A0002F4060937D1370937E1380937F13909351
+:10B1B000801385E40E944340882311F40C94F460CA
+:10B1C0000E942F406093791370937A1380937B13BE
+:10B1D00090937C130C94F46007EC14E028E3E22EC7
+:10B1E0002AE0F22EF80181918F010E9443408823CA
+:10B1F00039F00E942F40F70160837183828393832B
+:10B20000F4E0EF0EF11C24E00A3C120709F4ECC74D
+:10B21000E9CF83E50E944340882351F00E942F40EC
+:10B220006093330270933402809335029093360218
+:10B2300086E40E944340882381F00E942F4020E052
+:10B2400030E040E752E40E94A7AE60932B02709377
+:10B250002C0280932D0290932E028AE50E94434097
+:10B26000882309F4C1C70E942F406093280A709375
+:10B27000290A80932A0A90932B0AB6C783E50E9475
+:10B280004340882351F00E942F406093240A70931A
+:10B29000250A8093260A9093270A86E40E94434059
+:10B2A000882309F4A1C70E942F4020E030E040E746
+:10B2B00052E40E94A7AE6093270270932802809305
+:10B2C000290290932A0290C783E50E944340882375
+:10B2D00009F48AC70E942F400E940FAF61157105C3
+:10B2E00049F06130710559F481E080932D0A109284
+:10B2F0002C0A7AC710922D0A10922C0A75C7EFE219
+:10B30000FEE08491882341F09091C00095FFFCCF2E
+:10B310008093C6003196F5CFE9E5F9E08491882362
+:10B3200041F09091C00095FFFCCF8093C60031960C
+:10B33000F5CF809168089091690820E6289FF00178
+:10B34000299FF00D1124E259F74F8191882339F09C
+:10B350009091C00095FFFCCF8093C600F6CFE7E543
+:10B36000F9E08491882341F09091C00095FFFCCFD3
+:10B370008093C6003196F5CF8091C00085FFFCCF49
+:10B380008AE08093C60030C783E50E94434088234B
+:10B3900009F42AC70E942F400E940FAF70935E02EB
+:10B3A00060935D0221C783E50E944340882309F42E
+:10B3B0001BC70E942F400E940FAF6B017C0184E5E8
+:10B3C0000E944340882381F08DED90E00E94EC497B
+:10B3D00081110AC7E0914D08F0E0EE0FFF1FE75A18
+:10B3E000FD4FD182C08200C7D0925C02C0925B0246
+:10B3F000FBC680E50E944340882309F4F5C60E94FD
+:10B400002F400E940FAFD62E062F172F83E50E94E4
+:10B410004340882331F00E942F400E940FAF7B01F0
+:10B4200003C0EE24EA94FE2CC7010196039708F0AE
+:10B43000DBC6EFE8F4E0819191918017910709F460
+:10B44000D3C634E0E73CF307B1F717FDCDC60E9441
+:10B450003D93CD2C60E08D2D0E9451A88FEFE81612
+:10B46000F80631F0EA94EF2871F000E010E00DC02A
+:10B470008D2D0E94BFA831E020E0892B09F030E03B
+:10B48000032F122F02C001E010E08C2D0E94BFA8F4
+:10B490008017910709F4A8C60E94721E80E00E94DE
+:10B4A00038490E949C76F1CF83E50E94434088236F
+:10B4B00031F00E942F400E940FAF8B0102C00EE6B8
+:10B4C00010E080E50E944340882331F00E942F4025
+:10B4D0000E940FAFCB0102C088EE93E06C01EE2416
+:10B4E000D7FCE094FE2C101611067CF420E030E02E
+:10B4F000A901B80184E50E94FDA9C701B6010E9417
+:10B5000060A984E50E940EAD6FC6C701B6010E9416
+:10B5100060A96AC680E50E944340882351F00E94DA
+:10B520002F40609318027093190280931A0290932F
+:10B530001B0289E40E944340882361F00E942F404F
+:10B540000E94B7276093140270931502809316022D
+:10B550009093170284E40E944340882361F00E9484
+:10B560002F400E94C32760931002709311028093B2
+:10B5700012029093130283E40E944340882351F007
+:10B580000E942F4060930C0270930D0280930E0274
+:10B5900090930F020E94251EE7E5F4E08191882335
+:10B5A00039F09091C00095FFFCCF8093C600F6CF94
+:10B5B000EAE5F4E08191882339F09091C00095FF8D
+:10B5C000FCCF8093C600F6CF40911802509119022B
+:10B5D00060911A0270911B0222E030E08CE99DE03C
+:10B5E0000E94308BEEE5F4E08191882339F0909150
+:10B5F000C00095FFFCCF8093C600F6CF6091140287
+:10B600007091150280911602909117020E94BD2739
+:10B61000AB01BC0122E030E08CE99DE00E94308B60
+:10B62000E2E6F4E08191882339F09091C00095FF23
+:10B63000FCCF8093C600F6CF60911002709111028A
+:10B6400080911202909113020E94C927AB01BC01A4
+:10B6500022E030E08CE99DE00E94308BE6E6F4E0E9
+:10B660008191882339F09091C00095FFFCCF8093A1
+:10B67000C600F6CF40910C0250910D0260910E026F
+:10B6800070910F0222E030E08CE99DE00E94308B47
+:10B690008091C00085FFFCCF8AE08093C600A4C5DE
+:10B6A00083E50E944340882319F00E942F4003C085
+:10B6B00060E070E0CB010E9407A596C585E40E947A
+:10B6C0004340882341F00E942F400E940FAF8B011E
+:10B6D00077FF03C009C000E010E0C12CD12CB6E117
+:10B6E000EB2EB3E4FB2E06C0C12CD12CACE8EA2E25
+:10B6F000A2E4FA2E83E50E944340882321F00E94B1
+:10B700002F406B017C0183E40E944340882331F089
+:10B710000E942F400E940FAF9B0102C025E030E045
+:10B72000A801C701B6010E9458215EC50E943D9341
+:10B730005BC50E94678758C50E94398355C58AE555
+:10B740000E944340882309F497C00E942F406B0158
+:10B750007C0120E030E040E751EC0E94A3B087FD7F
+:10B760003FC020E030E040EA50ECC701B6010E9443
+:10B77000A0AE1816ACF1F7FAF094F7F8F094C09276
+:10B78000310AD092320AE092330AF092340AEFE2A0
+:10B79000FEE08491882341F09091C00095FFFCCF9A
+:10B7A0008093C6003196F5CFEBE4F9E084918823CD
+:10B7B00041F09091C00095FFFCCF8093C600319678
+:10B7C000F5CF8091C00085FFFCCF8AE08093C60052
+:10B7D0008091C00085FFFCCF8AE08093C60004C53D
+:10B7E000EFE2FEE08491882341F09091C00095FF44
+:10B7F000FCCF8093C6003196F5CFE2E4F9E0849166
+:10B80000882341F09091C00095FFFCCF8093C60043
+:10B810003196F5CFEAE3F9E08491882341F09091E5
+:10B82000C00095FFFCCF8093C6003196F5CF4AE06B
+:10B8300050E061EF7FEF8CE99DE00E945A8AE2E3DD
+:10B84000F9E08491882341F09091C00095FFFCCFEE
+:10B850008093C6003196F5CF4AE050E06BEF7FEF62
+:10B860008CE99DE00E945A8A8091C00085FFFCCF40
+:10B870008AE08093C600B8C4EFE2FEE0849188239A
+:10B8800041F09091C00095FFFCCF8093C6003196A7
+:10B89000F5CFE6E2F9E08491882341F09091C00071
+:10B8A00095FFFCCF8093C6003196F5CF8091C00004
+:10B8B00085FFFCCF8AE08093C6004091310A509109
+:10B8C000320A6091330A7091340A705822E030E0F5
+:10B8D0008CE99DE00E94308B8091C00085FFFCCFF9
+:10B8E0008AE08093C60080C480915D0290915E02E0
+:10B8F0009093580280935702C090440AD090450A12
+:10B90000E090460AF090470ACF8ED8A2E9A2FAA2A8
+:10B910000091480A1091490A20914A0A30914B0A35
+:10B920000BA31CA32DA33EA340914C0A50914D0A9A
+:10B9300060914E0A70914F0A4FA358A769A77AA742
+:10B940008091500A9091510AA091520AB091530AE5
+:10B950008BA79CA7ADA7BEA7C982DA82EB82FC8227
+:10B960000D831E832F83388749875A876B877C878F
+:10B970008D879E87AF87B88B85E40E9443408823DC
+:10B9800059F00E942F409B01AC016BA57CA58DA5B1
+:10B990009EA50E94C7AD0AC020E030E040E050E420
+:10B9A0006BA57CA58DA59EA50E94C6AD6BA77CA7A7
+:10B9B0008DA79EA7E0E3CE2EEAE0DE2EE12CF12C4F
+:10B9C00008EC13E49E01255D3F4FAE01495D5F4FDA
+:10B9D000BE016D5D7F4FCE014F960E94779A8AE53A
+:10B9E0000E944340882349F00E942F409B01AC01F4
+:10B9F0006FA178A589A59AA51EC020E030E040E09F
+:10BA000050E46FA178A589A59AA50E94C7AD6B01E6
+:10BA10007C016FA378A789A79AA720E030E040E2D5
+:10BA200051E40E94A0AE87FF0CC020E030E040E26D
+:10BA300051E4C701B6010E94C7AD6FA378A789A7DB
+:10BA40009AA760E3C62E6AE0D62EE12CF12C06E917
+:10BA500013E49E01255D3F4FAE01495D5F4FBE017E
+:10BA60006D5D7F4FCE014F960E94779A88E50E94C8
+:10BA70004340882379F00E942F409B01AC016F8DD9
+:10BA800078A189A19AA10E94C7AD6F8F78A389A3DD
+:10BA90009AA308C080E090E0A3E5B3E48F8F98A359
+:10BAA000A9A3BAA389E50E944340882339F00E94E4
+:10BAB0002F406BA37CA38DA39EA304C01BA21CA23A
+:10BAC0001DA21EA240E3C42E4AE0D42EE12CF12C8C
+:10BAD0000CE812E49E01255D3F4FAE01495D5F4FCA
+:10BAE000BE016D5D7F4FCE014F960E94779A8CE428
+:10BAF0000E944340882359F00E942F409B01AC01D3
+:10BB00006BA57CA58DA59EA50E94C7AD0AC020E0AF
+:10BB100030E040EA52E46BA57CA58DA59EA50E946D
+:10BB2000C6AD6BA77CA78DA79EA720E3C22E2AE0F7
+:10BB3000D22EE12CF12C00EA11E49E01255D3F4F4D
+:10BB4000AE01495D5F4FBE016D5D7F4FCE014F96E7
+:10BB50000E94779A0E943D93149A64E670E080E018
+:10BB600090E00E9460A90E94827100E010E0F12C38
+:10BB70000E94627781112AC0F3940E94721E81E0B4
+:10BB80000E943849F110F4CF043FE1E01E0711F4A0
+:10BB900000E010E0809101018460809301010115B3
+:10BBA000110531F49FB7F89480910201846008C0B8
+:10BBB0000431110541F49FB7F894809102018B7F05
+:10BBC000809302019FBF0F5F1F4FD2CF9FB7F894A2
+:10BBD000809102018B7F809302019FBF20E030E0C3
+:10BBE0004CE852E46BA57CA58DA59EA50E94C7AD2F
+:10BBF0006BA77CA78DA79EA710E3C12E1AE0D12EBC
+:10BC0000E12CF12C00EA11E49E01255D3F4FAE01CD
+:10BC1000495D5F4FBE016D5D7F4FCE014F960E9423
+:10BC2000779A20E030E048E452E46BA57CA58DA52E
+:10BC30009EA50E94C7AD6BA77CA78DA79EA7E12CF0
+:10BC4000F12C00E010E49E01255D3F4FAE01495DFF
+:10BC50005F4FBE016D5D7F4FCE014F960E94779A78
+:10BC60001092560A1092550A0E94E8718091550A66
+:10BC70009091560A019709F47CC01092560A1092CE
+:10BC8000550A0E9468778091550A9091560A823031
+:10BC9000910549F1039709F069C020E030E048E4DC
+:10BCA00052E46BA57CA58DA59EA50E94C7AD6BA790
+:10BCB0007CA78DA79EA770E3C72E7AE0D72EE12C34
+:10BCC000F12C00E010E49E01255D3F4FAE01495D7F
+:10BCD0005F4FBE016D5D7F4FCE014F960E94779AF8
+:10BCE0000E94A871C3CF20E030E04CE852E46BA57D
+:10BCF0007CA58DA59EA50E94C7AD6BA77CA78DA72F
+:10BD00009EA7F0E3CF2EFAE0DF2EE12CF12C00EA23
+:10BD100011E49E01255D3F4FAE01495D5F4FBE01BD
+:10BD20006D5D7F4FCE014F960E94779A20E030E004
+:10BD300048E452E46BA57CA58DA59EA50E94C7ADE5
+:10BD40006BA77CA78DA79EA7E12CF12C00E010E447
+:10BD50009E01255D3F4FAE01495D5F4FBE016D5DA8
+:10BD60007F4FCE014F960E94779A7ECF0E949B71A3
+:10BD70007DCF20E030E040EA50E46BA57CA58DA5A6
+:10BD80009EA50E94C7AD6BA77CA78DA79EA790E339
+:10BD9000C92E9AE0D92EE12CF12C00E010E49E018E
+:10BDA000255D3F4FAE01495D5F4FBE016D5D7F4F29
+:10BDB000CE014F960E94779AA80197016BA57CA5AA
+:10BDC0008DA59EA50E94C6AD6BA77CA78DA79EA73B
+:10BDD000E12CF12C08EC13E49E01255D3F4FAE01F0
+:10BDE000495D5F4FBE016D5D7F4FCE014F960E9452
+:10BDF000779AE12CF12C0CE812E49E01255D3F4F6F
+:10BE0000AE01495D5F4FBE016D5D7F4FCE014F9624
+:10BE10000E94779A9E01255D3F4FAE01495D5F4FBD
+:10BE2000BE016B5F7F4FCE0101960E94779AE12C95
+:10BE3000F12C08E413E49E01255D3F4FAE01475FFE
+:10BE40005F4FBE016B5F7F4FCE0101960E94779AD4
+:10BE500020E030E040E050E46BA57CA58DA59EA5D8
+:10BE60000E94C7AD6BA77CA78DA79EA7E12CF12CE4
+:10BE700000EA10E49E01255D3F4FAE01475F5F4F32
+:10BE8000BE016B5F7F4FCE0101960E94779ACE0173
+:10BE90000D960E94E3A480915702909158028093DE
+:10BEA0005D0290935E029F938F938DE199E09F9343
+:10BEB0008F938E01015D1F4F1F930F930E945BB6FE
+:10BEC000C8010E94C03D0F900F900F900F900F90EF
+:10BED0000F908AC188E50E944340882339F00E9470
+:10BEE0002F400E940FAF80E00E9445948AE50E9497
+:10BEF0004340882339F00E942F400E940FAF81E019
+:10BF00000E94459485E40E944340882309F46CC153
+:10BF10000E942F400E940FAF82E00E94459464C1AE
+:10BF200083E50E944340811104C007EC14E0F12C2A
+:10BF300010C010E00E942F400E9414AF812F0E9479
+:10BF4000E4941F5F1530B1F7F0CFF394F4E0FF16DF
+:10BF500079F0F80181918F010E9443408823A9F371
+:10BF60000E942F400E9414AF8F2D0E94E494EDCFC9
+:10BF700082E40E944340882339F00E942F400E94AF
+:10BF800014AF84E00E94E4940E94AA952DC183E539
+:10BF90000E944340882309F453C00E942F400E940E
+:10BFA0000FAF6130710541F06230710509F048C092
+:10BFB00007EC14E0F12C25C007EC14E0F12CF8019B
+:10BFC00081918F010E944340882341F00E942F40BD
+:10BFD0000E940FAF4FEF8F2D0E94A694F394F4E0D0
+:10BFE000FF12EDCF82E40E944340882349F10E9472
+:10BFF0002F400E940FAF4FEF20C0F394F4E0FF16E4
+:10C0000089F0F80181918F010E9443408823A9F3B0
+:10C010000E942F400E940FAF462F6FEF8F2D0E947E
+:10C02000A694EBCF82E40E944340882349F00E940B
+:10C030002F400E940FAF462F6FEF84E00E94A6941E
+:10C040000E94AA95D1C084E50E944340882309F448
+:10C0500087C00E942F400E9414AF60934D08662352
+:10C06000A9F1EFE2FEE08491882341F09091C000B5
+:10C0700095FFFCCF8093C6003196F5CFEAE6F4E059
+:10C080008191882339F09091C00095FFFCCF809377
+:10C09000C600F6CF40E050E060914D088CE99DE08D
+:10C0A0000E94918AECE6F4E08191882339F0909126
+:10C0B000C00095FFFCCF8093C600F6CF8091C000F2
+:10C0C00085FFFCCF8AE08093C6008EC086E40E9484
+:10C0D00043408823D9F00E942F406B017C0160937C
+:10C0E000FF097093000A8093010A9093020A20E0EE
+:10C0F00030E0A9010E94A3B0181644F4C0922102B6
+:10C10000D0922202E0922302F0922402EFE2FEE0BB
+:10C110008491882341F09091C00095FFFCCF8093DB
+:10C12000C6003196F5CFEDE7F4E08191882339F030
+:10C130009091C00095FFFCCF8093C600F6CF609130
+:10C14000300A70E04AE050E08CE99DE00E945A8A93
+:10C150008091C00085FFFCCF8AE08093C60044C078
+:10C16000EFE2FEE08491882341F09091C00095FFBA
+:10C17000FCCF8093C6003196F5CFEAE0F9E08491D8
+:10C18000882341F09091C00095FFFCCF8093C600BA
+:10C190003196F5CF809168089091690820E6289F34
+:10C1A000F001299FF00D1124E259F74F8191882366
+:10C1B00039F09091C00095FFFCCF8093C600F6CF78
+:10C1C000E8E0F9E08491882341F09091C00095FF68
+:10C1D000FCCF8093C6003196F5CF8091C00085FFDB
+:10C1E000FCCF8AE08093C6000E946A40B9C1C0902B
+:10C1F0001B0AD0901C0AE0901D0AF0901E0A2091A4
+:10C20000500A3091510A4091520A5091530AC70185
+:10C21000B6010E94C6AD2DEC3CEC4CEC5DE30E94F7
+:10C22000A3B0181614F00C94684BC092500AD09228
+:10C23000510AE092520AF092530A80E59AE00E9475
+:10C24000E3A460E080E00E94C2428AC180E090E006
+:10C250000E942E3C0C94654C81E090E00E942E3CA4
+:10C260000C94704C82E090E00E942E3C0C94B94CEF
+:10C270000E94721E80E00E9438490E949C760C94B5
+:10C28000584F0E943840AB01BC014093FA0C5093C8
+:10C29000FB0C6093FC0C7093FD0C85E49CE00E9409
+:10C2A000A912A2CF0E942F400E940FAF8B010C94C5
+:10C2B0007C510E9431A9681979098A099B09693E54
+:10C2C00073408105910508F479C0ECEEFAE08491A1
+:10C2D000882341F09091C00095FFFCCF8093C60069
+:10C2E0003196F5CFE0914D0824E0E29FF001112452
+:10C2F000E05CF74F408151816281738121E030E041
+:10C300008CE99DE00E94308BE8EEFAE0849188236E
+:10C3100041F09091C00095FFFCCF8093C60031960C
+:10C32000F5CF60914D0870E04AE050E08CE99DE067
+:10C330000E945A8AE4EEFAE08491882341F09091B9
+:10C34000C00095FFFCCF8093C6003196F5CFF7FE75
+:10C3500003C0E6E7F5E025C00E9431A98B019C01EE
+:10C36000C701B6016854744F8F4F9F4F601B710B0C
+:10C37000820B930BA30192010E947EB2BA01A90124
+:10C380002AE030E08CE99DE00E94868A8091C0001E
+:10C3900085FFFCCF0DC09091C00095FFFCCF80932E
+:10C3A000C60081918111F7CF8091C00085FFFCCF3D
+:10C3B0003092C6000E9431A94B015C010E94721E9E
+:10C3C00080E00E9438490E949C76FFEFCF16DF067E
+:10C3D000EF06FF0609F046C080914B08E0914D083A
+:10C3E000F0E08F01000F111F000F111F005C174FAD
+:10C3F000EE0FFF1FE85BF74F608171818823C9F062
+:10C40000882777FD8095982F0E9442AF20E030E08A
+:10C4100040E85FE30E94C6AD9B01AC01F80160817A
+:10C420007181828193810E94A3B087FF50C00C94D8
+:10C430005053882777FD8095982F0E9442AF20E0C7
+:10C4400030E040E85FE30E94C7AD9B01AC01F8011A
+:10C4500060817181828193810E94A0AE1816BCF523
+:10C460000C945053F7FE02C00C945053E0914D08C9
+:10C47000F0E08F01000F111F000F111F005C174F1C
+:10C48000EE0FFF1FE85BF74F60817181882777FD12
+:10C490008095982F0E9442AF9B01AC01F80160810A
+:10C4A0007181828193810E94C6AD0E940FAF97FF78
+:10C4B00007C090958095709561957F4F8F4F9F4FE6
+:10C4C000663071058105910514F40C9450530E9457
+:10C4D00031A96B017C010C94505386ED9AE00E94C7
+:10C4E000007680915F0A882321F08EE793E00E9416
+:10C4F00048720E9431A96093520870935308809348
+:10C500005408909355080E9431A960935A0870937B
+:10C510005B0880935C0890935D0866CE0E943D9313
+:10C5200088E50E944340882319F0179A1092350A33
+:10C5300089E50E944340882319F0169A1092360A22
+:10C540008AE50E944340882319F0159A1092370A11
+:10C5500085E40E944340882309F446CE149A44CED1
+:10C56000E9960FB6F894DEBF0FBECDBFDF91CF9135
+:10C570001F910F91FF90EF90DF90CF90BF90AF9001
+:10C580009F908F907F906F905F904F903F90089515
+:10C59000CF93DF938091640890916508039714F41A
+:10C5A0000E94694560E08DE59AE00E9487338091A2
+:10C5B000640890916508892B09F464C080915D0A34
+:10C5C0008823E1F0809168089091690820E6289F0F
+:10C5D000E001299FD00D1124C259D74F61EF7CE0B3
+:10C5E000CE010E94CEB5892BF1F4BE018DE59AE013
+:10C5F0000E94163380915E0A882319F00E94B94A7E
+:10C600002BC0EEEEFCE08491882341F09091C000B5
+:10C6100095FFFCCF8093C6003196F5CF8091C00086
+:10C6200085FFFCCF16C060E08DE59AE00E947D3466
+:10C63000ECEDFCE08491882341F09091C00095FFDF
+:10C64000FCCF8093C6003196F5CF8091C00085FF66
+:10C65000FCCF8AE08093C6008091640890916508C1
+:10C660000197909365088093640880916808909181
+:10C670006908019664E070E00E946BB290936908CB
+:10C68000809368080E94721E80E00E9438490E94D0
+:10C690004F8BDF91CF910C949C768F929F92AF92AB
+:10C6A000BF92CF92DF92EF92FF920F931F93CF939F
+:10C6B000DF938C018C519E4F0E94B72D680189E851
+:10C6C000C80ED11C21F1780181E4E81A8EEFF80A36
+:10C6D000E70157018FE1A81AB1087AEB872E75E0C0
+:10C6E000972ECC15DD0599F0FE01EE19FF09EA0D34
+:10C6F000FB1D91828082FE0178978081811102C0AA
+:10C700006F97EFCFCE014B970E948C13F9CFC801E2
+:10C7100086599F4F0E94B72DC801875B9F4FDF91BD
+:10C72000CF911F910F91FF90EF90DF90CF90BF902E
+:10C73000AF909F908F900C94B72D8DE59AE00C945C
+:10C74000C32D8DE59AE0A9CFFB0160917002709135
+:10C75000710270932C0D60932B0D6091350D7091CB
+:10C76000360D70932A0D6093290D62E060936F027D
+:10C7700064EC7EE770937102609370029093280DD1
+:10C780008093270DF093260DE093250D662757FD26
+:10C790006095762F4093210D5093220D6093230DC9
+:10C7A0007093240DC901AA2797FDA095BA2F841B69
+:10C7B000950BA60BB70B80931D0D90931E0DA093A8
+:10C7C0001F0DB093200D80819181AA2797FDA09520
+:10C7D000BA2F841B950BA60BB70B8093350D909346
+:10C7E000360DA093370DB093380D08950F931F9316
+:10C7F000CF93DF93EB01142F022F482F60E080E4EA
+:10C800009DE00E947E28612F80E49DE00E94BFADE4
+:10C8100011E1FE016491662311F0111117C011237B
+:10C8200039F060E280E49DE00E94BFAD1150F7CF87
+:10C83000602F80E49DE00E94BFAD60E280E49DE057
+:10C84000DF91CF911F910F910C94BFAD80E49DE0DB
+:10C850000E94BFAD21961150DCCFEF92FF920F9353
+:10C860001F93CF93DF93EB01E42E8901F90101902F
+:10C870000020E9F7F22EFE1A92E1F90E482F60E04F
+:10C8800080E49DE00E947E286E2D80E49DE00E9461
+:10C89000BFADFE016491662311F0F11019C06AE387
+:10C8A00080E49DE00E94BFADFF2039F060E280E4AB
+:10C8B0009DE00E94BFADFA94F7CFB80180E49DE0FF
+:10C8C000DF91CF911F910F91FF90EF900C94BEAD2F
+:10C8D00080E49DE00E94BFAD2196FA94DACF1092D9
+:10C8E000990D8DE59AE00E94273910923E0D08952A
+:10C8F0008DE59AE00C9416318DE59AE00C941D318B
+:10C90000CF93DF93CDB7DEB7C054D1090FB6F894FB
+:10C91000DEBF0FBECDBF88E0EFEAF2E0DE01D996C0
+:10C9200001900D928A95E1F788E0E7EBF2E0DE01F5
+:10C93000D19601900D928A95E1F788E0EFEBF2E055
+:10C94000DE01999601900D928A95E1F788E0E7EC77
+:10C95000F2E0DE01919601900D928A95E1F788E070
+:10C96000EFECF2E0DE01599601900D928A95E1F725
+:10C9700088E0E7EDF2E0DE01519601900D928A9594
+:10C98000E1F788E0EFEDF2E0DE01199601900D92FB
+:10C990008A95E1F788E0E7EEF2E0DE01119601907A
+:10C9A0000D928A95E1F7AE01475C5F4F60E080E44D
+:10C9B0009DE00E94FC29AE014F5C5F4F61E080E486
+:10C9C0009DE00E94FC29AE01475D5F4F62E080E47C
+:10C9D0009DE00E94FC29AE014F5D5F4F63E080E463
+:10C9E0009DE00E94FC29AE01475E5F4F64E080E459
+:10C9F0009DE00E94FC29AE014F5E5F4F65E080E440
+:10CA00009DE00E94FC29AE01475F5F4F66E080E435
+:10CA10009DE00E94FC29AE014F5F5F4F67E080E41C
+:10CA20009DE00E94FC29C05CDF4F0FB6F894DEBF8A
+:10CA30000FBECDBFDF91CF910895CF9382E0809359
+:10CA40006F020E9431A96C507E4F8F4F9F4F6093B1
+:10CA50003A0D70933B0D80933C0D90933D0D80916A
+:10CA60000101846080930101CAE09FB7F89480912E
+:10CA700002018460809302019FBF84E690E00E94DF
+:10CA800084A99FB7F894809102018B7F8093020163
+:10CA90009FBF84E690E00E9484A9C15031F7CF91F6
+:10CAA0000895E0917002F0917102E817F90771F0B2
+:10CAB00090937102809370024093350D5093360D20
+:10CAC0006093370D7093380D2111B7CF089521E091
+:10CAD00040E050E0BA01E5CF21E040E050E0BA018B
+:10CAE000E0CF8F929F92AF92BF92CF92DF92EF9260
+:10CAF000FF920F931F93CF93DF938091350D909109
+:10CB0000360DA091370DB091380D81309048A105B8
+:10CB1000B10540F01092350D1092360D1092370D80
+:10CB20001092380D6091350D7091360D8091370D52
+:10CB30009091380D25E030E040E050E00E947EB258
+:10CB400080913E0D90E0A0E0B0E0281739074A0739
+:10CB50005B0710F420933E0DD0913E0D10913F0DD8
+:10CB600012FB112710F9C0E085E0C82ED12CE12C72
+:10CB7000F12C9DE1892E912CA12CB12C01E060912A
+:10CB8000350D7091360D8091370D9091380DD11182
+:10CB900031C020916F02222369F023E065307105D6
+:10CBA0008105910510F443E001C040E266E870E1C0
+:10CBB0008C2F1CDE112309F400C18091350D90915A
+:10CBC000360DA091370DB091380D0597A105B1052F
+:10CBD00008F0F3C032DF8CE692E7DF91CF911F912E
+:10CBE0000F91FF90EF90DF90CF90BF90AF909F900C
+:10CBF0008F906DCFD13061F520916F02222391F09B
+:10CC0000A70196010E947EB22130310541055105F0
+:10CC100019F423E043E002C023E040E265E770E15D
+:10CC20008C2FE4DD112309F4C8C06091350D70919B
+:10CC3000360D8091370D9091380DA70196010E9415
+:10CC40007EB2213031054105510509F0B6C0C2CF91
+:10CC5000D23061F520916F02222391F0A701960155
+:10CC60000E947EB2223031054105510519F423E0BE
+:10CC700043E002C023E040E269E670E18C2FB6DDBC
+:10CC8000112309F49AC06091350D7091360D809191
+:10CC9000370D9091380DA70196010E947EB2223087
+:10CCA00031054105510509F088C094CFD33061F5B5
+:10CCB00020916F02222391F0A70196010E947EB27B
+:10CCC000233031054105510519F423E043E002C04A
+:10CCD00023E040E267E570E18C2F88DD112309F441
+:10CCE0006CC06091350D7091360D8091370D90912B
+:10CCF000380DA70196010E947EB22330310541050F
+:10CD0000510509F05AC066CFD43059F520916F0211
+:10CD1000222391F0A70196010E947EB224303105B2
+:10CD20004105510519F423E043E002C023E040E24D
+:10CD300065E470E18C2F5ADD112309F43EC0609147
+:10CD4000350D7091360D8091370D9091380DA701FA
+:10CD500096010E947EB2243031054105510569F5E6
+:10CD600039CFD53051F520916F02222391F0A701E0
+:10CD700096010E947EB2253031054105510519F416
+:10CD800023E043E002C023E040E269E370E18C2F3E
+:10CD90002DDD112391F06091350D7091360D80914C
+:10CDA000370D9091380DA70196010E947EB2253073
+:10CDB00031054105510509F40DCF8091350D909154
+:10CDC000360DA091370DB091380D4E97A105B105E4
+:10CDD00040F08092350D9092360DA092370DB092B2
+:10CDE000380D6091350D7091360D8091370D909111
+:10CDF000380DA70196010E947EB280913E0D90E011
+:10CE00000396422F50E0841795074CF48DEF820F64
+:10CE100080933E0D00936F02DCEFD20FCFEFCF5F18
+:10CE2000DF5FC43008F4ABCEDF91CF911F910F913B
+:10CE3000FF90EF90DF90CF90BF90AF909F908F903A
+:10CE400008958F929F92AF92BF92CF92DF92EF920E
+:10CE5000FF920F931F93CF93DF938091350D9091A5
+:10CE6000360DA091370DB091380D81309048A10555
+:10CE7000B10540F01092350D1092360D1092370D1D
+:10CE80001092380D6091350D7091360D8091370DEF
+:10CE90009091380D25E030E040E050E00E947EB2F5
+:10CEA00080913E0D90E0A0E0B0E0281739074A07D6
+:10CEB0005B0710F420933E0DD0913E0D10913F0D75
+:10CEC00012FB112710F9C0E025E0C22ED12CE12C75
+:10CED000F12C3DE1832E912CA12CB12C01E060912D
+:10CEE000350D7091360D8091370D9091380DD1111F
+:10CEF00031C020916F02222369F023E06530710573
+:10CF00008105910510F443E001C040E264E370E163
+:10CF10008C2F6CDC112309F429C18091350D90917F
+:10CF2000360DA091370DB091380D0597A105B105CB
+:10CF300008F01CC182DD8CE692E7DF91CF911F9152
+:10CF40000F91FF90EF90DF90CF90BF90AF909F90A8
+:10CF50008F90BDCDD13079F520916F02222391F0D1
+:10CF6000A70196010E947EB221303105410551058D
+:10CF700019F42EE74EE302C02EE740E268E270E1CA
+:10CF80008C2F34DC112309F4F1C06091350D7091C0
+:10CF9000360D8091370D9091380DA70196010E94B2
+:10CFA0007EB2213031054105510509F0DFC045DD74
+:10CFB0008BEA99E730C0D230D9F520916F02222355
+:10CFC00091F0A70196010E947EB222303105410501
+:10CFD000510519F42EE74EE302C02EE740E26EE160
+:10CFE00070E18C2F03DC112309F4C0C06091350D72
+:10CFF0007091360D8091370D9091380DA7019601F3
+:10D000000E947EB2223031054105510509F0AEC0C3
+:10D0100014DD8FEA9AE6DF91CF911F910F91FF9077
+:10D02000EF90DF90CF90BF90AF909F908F9054CDB6
+:10D03000D33079F520916F02222391F0A701960158
+:10D040000E947EB2233031054105510519F420E2DA
+:10D050004EE302C020E240E262E170E18C2FC6DBC9
+:10D06000112309F483C06091350D7091360D8091C4
+:10D07000370D9091380DA70196010E947EB22330A2
+:10D0800031054105510509F071C0D7DC8CE090E114
+:10D090005FC0D43079F520916F02222391F0A7016F
+:10D0A00096010E947EB2243031054105510519F4E4
+:10D0B00020E24EE302C020E240E26BEF7FE08C2FE3
+:10D0C00095DB112309F452C06091350D7091360D36
+:10D0D0008091370D9091380DA70196010E947EB284
+:10D0E000243031054105510509F040C0A6DC87EF29
+:10D0F0009FE02EC0D530D1F520916F02222391F010
+:10D10000A70196010E947EB22530310541055105E7
+:10D1100019F420E24EE302C020E240E26DEE7FE02F
+:10D120008C2F64DB112311F16091350D7091360D58
+:10D130008091370D9091380DA70196010E947EB223
+:10D14000253031054105510589F477DC89EE9FE0F2
+:10D15000DF91CF911F910F91FF90EF90DF90CF90D3
+:10D16000BF90AF909F908F900C94333E8091350D7F
+:10D170009091360DA091370DB091380D4E97A105C5
+:10D18000B10540F08092350D9092360DA092370D8A
+:10D19000B092380D6091350D7091360D8091370D3C
+:10D1A0009091380DA70196010E947EB280913E0DAC
+:10D1B00090E00396422F50E0841795074CF48DEFD2
+:10D1C000820F80933E0D00936F02DCEFD20FCFEF02
+:10D1D000CF5FDF5FC43008F482CEDF91CF911F9123
+:10D1E0000F91FF90EF90DF90CF90BF90AF909F9006
+:10D1F0008F900895BF92CF92DF92EF92FF920F939C
+:10D200001F93CF93DF938091350D9091360DA091B0
+:10D21000370DB091380D81309048A105B10540F02F
+:10D220001092350D1092360D1092370D1092380D68
+:10D230006091350D7091360D8091370D9091380DBC
+:10D2400025E030E040E050E00E947EB280913E0D4B
+:10D2500090E0A0E0B0E0281739074A075B0710F418
+:10D2600020933E0DD0913E0D10913F0D12FB1127E2
+:10D2700010F9C0E065E0C62ED12CE12CF12C01E0C4
+:10D280006091350D7091360D8091370D9091380D6C
+:10D29000D1112EC020916F02222369F023E0653066
+:10D2A00071058105910510F443E001C040E260EE94
+:10D2B0007FE08C2F9BDA112309F479C08091350D22
+:10D2C0009091360DA091370DB091380D0597A105BD
+:10D2D000B10508F06CC0B1DB81E297E6DF91CF9138
+:10D2E0001F910F91FF90EF90DF90CF90BF90EFCB09
+:10D2F000D13071F520916F02222391F0A7019601A0
+:10D300000E947EB2213031054105510519F42EE706
+:10D310004EE302C02EE740E269ED7FE08C2F66DA33
+:10D32000112309F444C06091350D7091360D809140
+:10D33000370D9091380DA70196010E947EB22130E1
+:10D3400031054105510599F578DB8FE090E8A8C0DB
+:10D35000D23069F520916F02222391F0A701960146
+:10D360000E947EB2223031054105510519F42EE7A5
+:10D370004EE302C02EE740E262ED7FE08C2F36DA0A
+:10D380001123A9F06091350D7091360D8091370D04
+:10D390009091380DA70196010E947EB2223031058E
+:10D3A0004105510521F449DB86E190E879C020E090
+:10D3B00030E040E251E46091110D7091120D8091C6
+:10D3C000130D9091140D0E94A0AE87FF73C0609161
+:10D3D000350D7091360D8091370D9091380DD33009
+:10D3E00081F520916F02222391F0A70196010E94FE
+:10D3F0007EB2233031054105510519F42EE74EE385
+:10D4000002C02EE740E26BEC7FE08C2FEFD91111C8
+:10D4100003C055E0B52E50C06091350D7091360DAA
+:10D420008091370D9091380DA70196010E947EB230
+:10D43000233031054105510561F7FFDA8DE190E8B0
+:10D440002FC0D43031F720916F02222391F0A70131
+:10D4500096010E947EB2243031054105510519F430
+:10D460002EE74EE302C02EE740E262EC7FE08C2F15
+:10D47000BDD9112371F26091350D7091360D8091F7
+:10D48000370D9091380DA70196010E947EB224308D
+:10D4900031054105510509F0BCCFCFDA8BE49EE799
+:10D4A000DF91CF911F910F91FF90EF90DF90CF9080
+:10D4B000BF9012CB43E0B42E6091350D7091360DC4
+:10D4C0008091370D9091380DA70196010E947EB290
+:10D4D0008B2D90E0A0E0B0E0281739074A075B07E2
+:10D4E00088F025E0B29EC00111240197AA2797FD7C
+:10D4F000A095BA2F8093350D9093360DA093370DDC
+:10D50000B093380D6091350D7091360D8091370DC7
+:10D510009091380DA70196010E947EB280913E0D38
+:10D5200090E00396422F50E0841795074CF48DEF5E
+:10D53000820F80933E0D00936F02DCEFD20FCFEF8E
+:10D54000CF5FDF5FC43008F49BCEDF91CF911F9196
+:10D550000F91FF90EF90DF90CF90BF90089580E003
+:10D5600090E0A0E8BFE38093110D9093120DA0937B
+:10D57000130DB093140D3ECE20E044E064E180E44E
+:10D580009DE00E94B128BCD980E49DE00C947228F3
+:10D59000F3DF20E040E050E0BA0184E290E881CA85
+:10D5A00010924908109248081092470810924608B5
+:10D5B00010922F0A10922E0AEBCF80E49DE00C947B
+:10D5C000722820E030E04EE353E46091400870910F
+:10D5D000410880914208909143080E94A3B0181618
+:10D5E0004CF480E89EE00E94333E83E79EE00E9478
+:10D5F000333E20C0E2DF40E060E080E49DE00E9436
+:10D600007E286BEC74E080E49DE00E94BEAD42E0B9
+:10D6100060E080E49DE00E947E2862ED74E080E49A
+:10D620009DE00E94BEAD60ED77E080E090E00E945A
+:10D6300060A9C3DFADCF20E030E04EE353E460915A
+:10D6400040087091410880914208909143080E94DF
+:10D65000A3B018166CF48FE69EE00E94333E83E67A
+:10D660009EE00E94333E87E59EE00E94333E20C04C
+:10D67000A4DF40E060E080E49DE00E947E286BEC47
+:10D6800074E080E49DE00E94BEAD42E060E080E492
+:10D690009DE00E947E2862ED74E080E49DE00E949F
+:10D6A000BEAD60ED77E080E090E00E9460A985DF8C
+:10D6B0006FCF8091970D9091980D9093490880932A
+:10D6C00048088091950D9091960D9093470880930E
+:10D6D000460810922F0A10922E0A5ADF0C94442109
+:10D6E0008091910D9091920D9093490880934808F4
+:10D6F00080918F0D9091900D9093470880934608EC
+:10D7000010922F0A10922E0A43DF0C94442180912C
+:10D7100095029091960290934908809348088091D1
+:10D720009302909194029093470880934608109238
+:10D730002F0A10922E0A2CDF0C9444218091910222
+:10D7400090919202909349088093480880918F02AB
+:10D7500090919002909347088093460810922F0A68
+:10D7600010922E0A15DF0C94442180918D02909125
+:10D770008E02909349088093480880918B02909183
+:10D780008C02909347088093460810922F0A1092BB
+:10D790002E0AFEDE0C9444218091890290918A0227
+:10D7A000909349088093480880918702909188025D
+:10D7B000909347088093460810922F0A10922E0AE1
+:10D7C000E7DE0C9444212F923F924F925F926F922A
+:10D7D0007F928F929F92AF92BF92CF92DF92EF9201
+:10D7E000FF920F931F93CF93DF93CDB7DEB7A89728
+:10D7F0000FB6F894DEBF0FBECDBF80916F028111CE
+:10D8000004C080913F0D82FFEBC28DE59AE00E943B
+:10D810001B389DA38CA38091350D9091360DA0915E
+:10D82000370DB091380D81309048A105B10540F019
+:10D830001092350D1092360D1092370D1092380D52
+:10D840006091350D7091360D8091370D9091380DA6
+:10D8500025E030E040E050E00E947EB280913E0D35
+:10D8600090E0A0E0B0E0281739074A075B0710F402
+:10D8700020933E0D40903E0D80913F0D82FB882706
+:10D8800080F98F8F512C35E0C32ED12CE12CF12C57
+:10D8900041102DC080916F028823A9F08091350D31
+:10D8A0009091360DA091370DB091380D23E005977A
+:10D8B000A105B10510F443E001C040E26BE77FE051
+:10D8C000852D0E94F6632F8D222389F08091350DDE
+:10D8D0009091360DA091370DB091380D0597A105A7
+:10D8E000B10528F4AAD88CE692E7F1D879C261E6AE
+:10D8F0007AE08BEC9AE00E9440108091610A8F32AE
+:10D9000031F041E0441671F022E0722E02C077241B
+:10D9100073940CA11DA101501109842C912CA12CF0
+:10D92000B12C52C080916F028823D9F06091350DDF
+:10D930007091360D8091370D9091380DA7019601A9
+:10D940000E947EB2213031054105510519F420E2D3
+:10D950004EE302C020E240E267E77FE0852D0E94AF
+:10D96000F6638F8D882381F26091350D7091360DAD
+:10D970008091370D9091380DA70196010E947EB2DB
+:10D98000213031054105510509F0BECF56D80E941E
+:10D990006F6426C2741088C140E050E0B8018DE584
+:10D9A0009AE00E9492349091A30A80916F02992389
+:10D9B00009F4A1C081110DC09F8D911179C0772408
+:10D9C0007394740C015011090F3FFFEF1F0711F7FB
+:10D9D0006DC16091350D7091360D8091370D90912C
+:10D9E000380DA70196010E947EB2281539054A0517
+:10D9F0005B0579F5452D60E080E49DE00E947E287E
+:10DA00006EE380E49DE00E94BFAD65E080E49DE0B0
+:10DA10000E94BFAD80916E0A882329F01092800A7F
+:10DA20008EE69AE002C081E69AE03C0192E1392E4E
+:10DA3000F30161913F01662311F0311085C133205C
+:10DA400009F4BACF60E280E49DE00E94BFAD3A9451
+:10DA5000F6CF452D60E080E49DE00E947E2860E2E4
+:10DA600080E49DE00E94BFAD65E080E49DE00E94FF
+:10DA7000BFAD80916E0A882329F01092800A8EE64D
+:10DA80009AE002C081E69AE03C0182E1382EF3017F
+:10DA900061913F01662311F031105CC1332009F41C
+:10DAA0008BCF60E280E49DE00E94BFAD3A94F6CF58
+:10DAB0006091350D7091360D8091370D9091380D34
+:10DAC000A70196010E947EB2281539054A055B051B
+:10DAD00009F075CF0E941D6561E67AE08DE59AE058
+:10DAE0000E947E381092350D1092360D1092370D2F
+:10DAF0001092380D75C1811104C0FF8DF11191C0D4
+:10DB00005ECF6091350D7091360D8091370D9091FB
+:10DB1000380DA70196010E947EB2281539054A05E5
+:10DB20005B0509F054C020919B0D2EA3712C472D4D
+:10DB300060E080E49DE00E947E2860E280E49DE059
+:10DB40000E94BFAD739444E07412F1CF452D60E0A4
+:10DB500080E49DE00E947E286EE380E49DE00E94C8
+:10DB6000BFADBFE62B2EBAE03B2E2EE63AE0612C8D
+:10DB7000712C39A328A361E070E0E8A1F9A12191FB
+:10DB8000F9A3E8A32223B1F0CB0101969BA38AA3BA
+:10DB9000452D80E49DE028A76114710409F4E0C0DC
+:10DBA0000E947E2828A5622F80E49DE00E94BFADE0
+:10DBB0006AA17BA1F4E17F2E761A772009F49DCF2C
+:10DBC00060E280E49DE00E94BFAD7A94F6CF452DDF
+:10DBD00060E080E49DE00E947E2860E280E49DE0B9
+:10DBE0000E94BFAD80916E0A882329F01092810AAD
+:10DBF0008EE69AE002C081E69AE03C01E3E13E2E27
+:10DC0000F30161913F01662311F03110E3C033202D
+:10DC100009F473CF60E280E49DE00E94BFAD3A94C6
+:10DC2000F6CF6091350D7091360D8091370D909142
+:10DC3000380DA70196010E947EB2281539054A05C4
+:10DC40005B0509F0BCCE0E941D6581E69AE09F93BA
+:10DC50008F9380E79FE09F938F938E010F5F1F4FFD
+:10DC60001F930F930E945BB60F900F900F900F9031
+:10DC70000F900F907E01F5E0EF0EF11CF70180810F
+:10DC8000882349F0992787FD90950E9498B5F70160
+:10DC900081937F01F3CFC8010E94C03D8CE69FE0D5
+:10DCA0000E94333E75DC9CC073948CCE6091350D20
+:10DCB0007091360D8091370D9091380DA701960126
+:10DCC0000E947EB2872D90E0A0E0B0E028173907CF
+:10DCD0004A075B0788F025E0729EC0011124019776
+:10DCE000AA2797FDA095BA2F8093350D9093360DF6
+:10DCF000A093370DB093380D6091350D7091360DAE
+:10DD00008091370D9091380DA70196010E947EB247
+:10DD100080913E0D90E00396422F50E084179507C6
+:10DD200064F48DEF820F80933E0D81E080936F024B
+:10DD30007CEF472E420E55245A945394439443E06B
+:10DD4000451508F0A5CD4CC080E49DE00E94BFAD14
+:10DD50003A946ECE80E49DE00E94BFAD3A9497CE97
+:10DD60000E947E2828A5622F80E49DE00E94BFAD1E
+:10DD70006AA17BA16431710509F0FFCE9101ACE28B
+:10DD80006A2E7724739480913F0D82FD05C08091A7
+:10DD90009B0D9EA1981789F081E090E0E1E06E1A5A
+:10DDA00071086114710421F0892B69F381E090E01E
+:10DDB000FFEF2F1A3F0A3C01DCCE61E070E080E00B
+:10DDC00090E028A73FA30E9460A980E090E028A5EA
+:10DDD0003FA1E4CF80E49DE00E94BFAD3A9410CF14
+:10DDE000A8960FB6F894DEBF0FBECDBFDF91CF91DE
+:10DDF0001F910F91FF90EF90DF90CF90BF90AF9069
+:10DE00009F908F907F906F905F904F903F902F905A
+:10DE100008958F929F92AF92BF92CF92DF92EF922E
+:10DE2000FF920F931F93CF93DF938091350D9091C5
+:10DE3000360DA091370DB091380D81309048A10575
+:10DE4000B10540F01092350D1092360D1092370D3D
+:10DE50001092380D6091350D7091360D8091370D0F
+:10DE60009091380D25E030E040E050E00E947EB215
+:10DE700080913E0D90E0A0E0B0E0281739074A07F6
+:10DE80005B0710F420933E0DD0913E0D10913F0D95
+:10DE900012FB112710F9C0E045E0C42ED12CE12C73
+:10DEA000F12C57E2852E912CA12CB12C01E0609130
+:10DEB000350D7091360D8091370D9091380DD1113F
+:10DEC00034C020916F02222371F023E06530710588
+:10DED0008105910510F443E001C040E267E57FE071
+:10DEE0008C2F0E94F663112309F4C8C18091350D6F
+:10DEF0009091360DA091370DB091380D0597A10581
+:10DF0000B10508F0BBC10E941D658CE692E7DF9168
+:10DF1000CF911F910F91FF90EF90DF90CF90BF9026
+:10DF2000AF909F908F900C946765D130D9F5209178
+:10DF30006F02222399F0A70196010E947EB2213040
+:10DF400031054105510519F420E24EE302C020E2FB
+:10DF500040E267E47FE08C2F0E94F663112309F40E
+:10DF60008DC16091350D7091360D8091370D909176
+:10DF7000380DA70196010E947EB22130310541057E
+:10DF8000510509F07BC10E941D65DF91CF911F9162
+:10DF90000F91FF90EF90DF90CF90BF90AF909F9048
+:10DFA0008F909ECBD230D9F520916F02222399F029
+:10DFB000A70196010E947EB222303105410551052C
+:10DFC00019F420E24EE302C020E240E268E37FE081
+:10DFD0008C2F0E94F663112309F450C16091350D16
+:10DFE0007091360D8091370D9091380DA7019601F3
+:10DFF0000E947EB2223031054105510509F03EC133
+:10E000000E941D65DF91CF911F910F91FF90EF90BE
+:10E01000DF90CF90BF90AF909F908F904ACBD3303E
+:10E02000D9F520916F02222399F0A70196010E9451
+:10E030007EB2233031054105510519F420E24EE34B
+:10E0400002C020E240E269E27FE08C2F0E94F6638A
+:10E05000112309F413C16091350D7091360D809133
+:10E06000370D9091380DA70196010E947EB22330A2
+:10E0700031054105510509F001C10E941D65DF917F
+:10E08000CF911F910F91FF90EF90DF90CF90BF90B5
+:10E09000AF909F908F9052CBD430D9F520916F02E2
+:10E0A000222399F0A70196010E947EB22430310507
+:10E0B0004105510519F420E24EE302C020E240E29E
+:10E0C00069E17FE08C2F0E94F663112309F4D6C02A
+:10E0D0006091350D7091360D8091370D9091380D0E
+:10E0E000A70196010E947EB22430310541055105F9
+:10E0F00009F0C4C00E941D65DF91CF911F910F915F
+:10E10000FF90EF90DF90CF90BF90AF909F908F9057
+:10E110002CCBD530D9F520916F02222399F0A7019D
+:10E1200096010E947EB2253031054105510519F452
+:10E1300020E24EE302C020E240E269E07FE08C2F63
+:10E140000E94F663112309F499C06091350D709116
+:10E15000360D8091370D9091380DA70196010E94E0
+:10E160007EB2253031054105510509F087C00E9476
+:10E170001D65DF91CF911F910F91FF90EF90DF9080
+:10E18000CF90BF90AF909F908F90C1CAD630D9F5F5
+:10E1900020916F02222399F0A70196010E947EB27E
+:10E1A000263031054105510519F420E24EE302C045
+:10E1B00020E240E26AEF7EE08C2F0E94F66311239A
+:10E1C00009F45CC06091350D7091360D8091370D6A
+:10E1D0009091380DA70196010E947EB2263031053C
+:10E1E0004105510509F04AC00E941D65DF91CF919C
+:10E1F0001F910F91FF90EF90DF90CF90BF90AF9065
+:10E200009F908F90C9CAD730C9F520916F02222301
+:10E2100099F0A70196010E947EB227303105410591
+:10E22000510519F420E24EE302C020E240E261EF22
+:10E230007EE08C2F0E94F663112301F16091350D71
+:10E240007091360D8091370D9091380DA701960190
+:10E250000E947EB2273031054105510579F40E94B4
+:10E260001D65DF91CF911F910F91FF90EF90DF908F
+:10E27000CF90BF90AF909F908F9092C98091350DB5
+:10E280009091360DA091370DB091380D8897A1056A
+:10E29000B10540F08092350D9092360DA092370D69
+:10E2A000B092380D6091350D7091360D8091370D1B
+:10E2B0009091380DA70196010E947EB280913E0D8B
+:10E2C00090E00396422F50E0841795074CF48DEFB1
+:10E2D000820F80933E0D00936F02DCEFD20FCFEFE1
+:10E2E000CF5FDF5FC43008F4E2CDDF91CF911F91A3
+:10E2F0000F91FF90EF90DF90CF90BF90AF909F90E5
+:10E300008F9008955AD941E060E080E49DE00E943A
+:10E310007E2869EF74E080E49DE00E94BEAD42E09B
+:10E3200060E080E49DE00E947E2869E075E080E482
+:10E330009DE00C94BEAD41D942E060E080E49DE0F8
+:10E340000E947E286CE175E080E49DE00C94BEADF7
+:10E350001F93CF93DF9331D940E060E080E49DE0EC
+:10E360000E947E286CE275E080E49DE00E94BEADD4
+:10E3700042E060E080E49DE00E947E286AE375E070
+:10E3800080E49DE00E94BEAD10E043E0612F80E498
+:10E390009DE00E947E286FE573E080E49DE00E948E
+:10E3A000BEADCAE0D0E00E94721E81E00E943849F2
+:10E3B00065E570E080E090E00E9460A921972097D9
+:10E3C00091F71F5F143109F7DF91CF911F910895E5
+:10E3D0001F93CF93DF93F1D840E060E080E49DE0AD
+:10E3E0000E947E2866E475E080E49DE00E94BEAD58
+:10E3F00042E060E080E49DE00E947E286AE375E0F0
+:10E4000080E49DE00E94BEAD10E043E0612F80E417
+:10E410009DE00E947E286FE573E080E49DE00E940D
+:10E42000BEADCAE0D0E00E94721E81E00E94384971
+:10E430006EE670E080E090E00E9460A9219720974E
+:10E4400091F71F5F143109F7DF91CF911F91089564
+:10E4500080932E0D10922D0D0895E2E7F2E00190C9
+:10E460000020E9F73197E257F2401E161F0634F0FC
+:10E470001092860282E080936F02089580E2E43178
+:10E48000F105B4F7DF01AE58BD4F8C933196F7CF4D
+:10E4900020918C0D211108C044E150E0BC0182E7BD
+:10E4A00092E00E944CB6D9CF089510925F0A60E0C6
+:10E4B0008DE59AE00E947D340E94B39380E69FE050
+:10E4C0000E94333E81E080931F0A87E595E0E0DFFC
+:10E4D0008CE59FE00C94333EAF92BF92CF92DF92D7
+:10E4E000EF92FF920F931F93CF93DF931092990DAA
+:10E4F0008091350D9091360DA091370DB091380D6A
+:10E5000081309048A105B10540F01092350D109270
+:10E51000360D1092370D1092380D6091350D7091B7
+:10E52000360D8091370D9091380D25E030E040E0B8
+:10E5300050E00E947EB280913E0D90E0A0E0B0E0FD
+:10E54000281739074A075B0710F420933E0DD09136
+:10E550003E0D10913F0D12FB112710F9C0E075E040
+:10E56000C72ED12CE12CF12CAA24A394D11137C0B1
+:10E5700080916F028823A9F08091350D9091360D1E
+:10E58000A091370DB091380D23E00597A105B10595
+:10E5900010F443E001C040E264E071E18C2F0E947E
+:10E5A000F6631123E1F08091350D9091360DA09125
+:10E5B000370DB091380D0597A105B10580F40E9483
+:10E5C0001D6584E290E8DF91CF911F910F91FF903C
+:10E5D000EF90DF90CF90BF90AF900C9467650E9452
+:10E5E00000A54091350D5091360D6091370D709119
+:10E5F000380D811104C080915F0A882399F1D130D0
+:10E60000C9F580916F028823A9F0CB01BA01A70157
+:10E6100096010E947EB2213031054105510519F461
+:10E620002EE74EE302C02EE740E26FEF70E18C2F41
+:10E630000E94F6631123F1F06091350D7091360D53
+:10E640008091370D9091380DA70196010E947EB2FE
+:10E65000213031054105510569F40E941D6582E6AE
+:10E660009BE73EC2D13031F480916F0281119BC291
+:10E670001111AFC22091600A6091350D7091360D75
+:10E680008091370D9091380D222309F4F1C020912B
+:10E69000480C222309F4B9C020915F0A2223E9F132
+:10E6A000D23009F076C020916F02222399F0A701A1
+:10E6B00096010E947EB2223031054105510519F4C0
+:10E6C00020E24EE302C020E240E26BEE70E18C2FCC
+:10E6D0000E94F663112309F4E2C06091350D709138
+:10E6E000360D8091370D9091380DA70196010E944B
+:10E6F0007EB2223031054105510509F0D0C00E949B
+:10E700001D65DF91CF911F910F91FF90EF90DF90EA
+:10E71000CF90BF90AF900C947C64D230D1F5209113
+:10E720006F02222399F0A70196010E947EB2223047
+:10E7300031054105510519F420E24EE302C020E203
+:10E7400040E26EED70E18C2F0E94F663112309F414
+:10E75000A6C06091350D7091360D8091370D909166
+:10E76000380DA70196010E947EB222303105410585
+:10E77000510509F094C00E941D65DF91CF911F9152
+:10E780000F91FF90EF90DF90CF90BF90AF900C94DF
+:10E790007864D33009F083C020916F02222399F06E
+:10E7A000A70196010E947EB2233031054105510533
+:10E7B00019F420E24EE302C020E240E263ED70E192
+:10E7C0008C2F0E94F663112309F469C06091350D06
+:10E7D0007091360D8091370D9091380DA7019601FB
+:10E7E0000E947EB2233031054105510509F057C022
+:10E7F0000E941D65DF91CF911F910F91FF90EF90C7
+:10E80000DF90CF90BF90AF9050CED23011F003E0A8
+:10E8100047C020916F02222399F0A70196010E9420
+:10E820007EB2223031054105510519F42EE74EE341
+:10E8300002C02EE740E265EC70E18C2F0E94F66387
+:10E84000112329F36091350D7091360D8091370DAC
+:10E850009091380DA70196010E947EB222303105B9
+:10E8600041055105A1F60E941D6583EE9BE638C166
+:10E87000D23069F620916F02222311F3A70196018D
+:10E880000E947EB2223031054105510519F42EE770
+:10E890004EE302C02EE740E26AEB70E1CECF04E027
+:10E8A00080915F0A8111DCC00D1348C080916F0216
+:10E8B0008823F9F06091350D7091360D8091370DF8
+:10E8C0009091380DA70196010E947EB2802F90E0B2
+:10E8D000A0E0B0E0281739074A075B0719F420E2E7
+:10E8E0004EE302C020E240E26CEA70E18C2F0E940D
+:10E8F000F663112319F16091350D7091360D8091F9
+:10E90000370D9091380DA70196010E947EB2802F9D
+:10E9100090E0A0E0B0E0281739074A075B0771F4E0
+:10E920000E941D65DF91CF911F910F91FF90EF9095
+:10E93000DF90CF90BF90AF900C941B6BBB24B3942F
+:10E94000B00EBD1248C080916F028823F9F060912B
+:10E95000350D7091360D8091370D9091380DA701CE
+:10E9600096010E947EB28D2F90E0A0E0B0E02817C3
+:10E9700039074A075B0719F420E24EE302C020E2A0
+:10E9800040E26CE970E18C2F0E94F663112319F1CB
+:10E990006091350D7091360D8091370D9091380D45
+:10E9A000A70196010E947EB28B2D90E0A0E0B0E01E
+:10E9B000281739074A075B0771F40E941D65DF912C
+:10E9C000CF911F910F91FF90EF90DF90CF90BF906C
+:10E9D000AF900C94E16A62E0B62EB00EBD123FC05B
+:10E9E00080916F028823F9F06091350D7091360D9A
+:10E9F0008091370D9091380DA70196010E947EB24B
+:10EA00008D2F90E0A0E0B0E0281739074A075B0798
+:10EA100019F42EE74EE302C02EE740E263E970E10D
+:10EA20008C2F0E94F6631123D1F06091350D709107
+:10EA3000360D8091370D9091380DA70196010E94F7
+:10EA40007EB28B2D90E0A0E0B0E0281739074A078E
+:10EA50005B0729F40E941D6581E297E641C00D5FC6
+:10EA60000D134AC080916F028823F9F06091350D33
+:10EA70007091360D8091370D9091380DA701960158
+:10EA80000E947EB2802F90E0A0E0B0E02817390706
+:10EA90004A075B0719F42EE74EE302C02EE740E277
+:10EAA0006BE870E18C2F0E94F663112329F16091CD
+:10EAB000350D7091360D8091370D9091380DA7016D
+:10EAC00096010E947EB2802F90E0A0E0B0E028176F
+:10EAD00039074A075B0781F40E941D6581E795E6C7
+:10EAE000DF91CF911F910F91FF90EF90DF90CF902A
+:10EAF000BF90AF900C946C65BB24B394B00E609142
+:10EB0000350D7091360D8091370D9091380DA7011C
+:10EB100096010E947EB28B2D90E0A0E0B0E0281715
+:10EB200039074A075B0788F025E0B29EC00111242F
+:10EB30000197AA2797FDA095BA2F8093350D909342
+:10EB4000360DA093370DB093380D6091350D70914F
+:10EB5000360D8091370D9091380DA70196010E94D6
+:10EB60007EB280913E0D90E00396422F50E08417D4
+:10EB700095074CF48DEF820F80933E0DA0926F02AB
+:10EB8000DCEFD20FCFEFCF5FDF5FC43008F4EECC05
+:10EB9000DF91CF911F910F91FF90EF90DF90CF9079
+:10EBA000BF90AF900895CB01BA01A70196010E94D2
+:10EBB0007EB2213031054105510519F42EE74EE3AF
+:10EBC00002C02EE740E267EF70E18C2F0E94F663EF
+:10EBD0004FCD6091350D7091360D8091370D90912C
+:10EBE000380DA70196010E947EB221303105410502
+:10EBF000510509F03FCD0E941D6589E09FE670CF69
+:10EC000020918C0D211108C044E150E0BC0182E745
+:10EC100092E00E94BFB521CC0895F2DF81E080939D
+:10EC20008C0D0C94C86A10928C0D0895CF92DF92CF
+:10EC3000EF92FF92CF93CCB1C095CC1FCC27CC1FC5
+:10EC40008091030183FFC260C0903A0DD0903B0DCC
+:10EC5000E0903C0DF0903D0D0E9431A9C616D706FC
+:10EC6000E806F90610F4489B39C0C0933F0D809127
+:10EC70003F0D817090913F0D91FD82609091390D13
+:10EC8000891721F18130F1F028F0823089F083304A
+:10EC9000A1F01CC0913021F490919B0D9F5F05C0A5
+:10ECA0009230A1F490919B0D915090939B0D0EC0CA
+:10ECB000992391F3933051F4F5CF923069F3913069
+:10ECC00029F4F0CF933041F3992361F38093390D08
+:10ECD000CF91FF90EF90DF90CF900895C460C5CFA3
+:10ECE0000E94BC6A6F98E4E0F1E08081877F8083B6
+:10ECF000779A9FB7F894E5E0F1E08081886080839F
+:10ED00009FBF5098589A60E088E40E9451A89FB72E
+:10ED1000F894E5E0F1E08081846080839FBF80917A
+:10ED2000030182FB882780F991E089278093340DC5
+:10ED30007DDF10929B0D0895CF92DF92EF92FF92AC
+:10ED400075DF8091030191E082FB882780F9892794
+:10ED50002091340D8217C9F082E080936F02809178
+:10ED6000030182FB882780F989278093340D0E9454
+:10ED7000BC6A8091340D882309F490C08DE59AE037
+:10ED80000E94473089E49EE03BDFC090300DD09078
+:10ED9000310DE090320DF090330D0E9431A9C6166E
+:10EDA000D706E806F90608F086C040919B0D44237B
+:10EDB00061F181E080936F02552747FD5095652FE3
+:10EDC000752F8091350D9091360DA091370DB09132
+:10EDD000380D840F951FA61FB71F8093350D909394
+:10EDE000360DA093370DB093380D10929B0D0E94F5
+:10EDF00031A96856754C8F4F9F4F6093050D7093E6
+:10EE0000060D8093070D9093080D80913F0D82FFB2
+:10EE10000EC00E9431A96856754C8F4F9F4F60936A
+:10EE2000050D7093060D8093070D9093080DE091EA
+:10EE30007002F09171021995C090050DD090060DE9
+:10EE4000E090070DF090080D0E9431A9C616D70674
+:10EE5000E806F90638F480917002909171028452AC
+:10EE6000904819F580916F02823011F40E94DD6A9A
+:10EE700080916F02882319F0815080936F020E9465
+:10EE800031A96C597F4F8F4F9F4F6093300D709316
+:10EE9000310D8093320D9093330D0DC08DE59AE0C6
+:10EEA0000E9412318CE39EE06FCF0E94C86A82E01C
+:10EEB00080936F02D7CFFF90EF90DF90CF900895AF
+:10EEC00081E0089580913F0D82FB882780F90895A5
+:10EED0000F931F93CF93DF930E94DD6A40E060E0C1
+:10EEE00080E49DE00E947E2865E675E080E49DE078
+:10EEF0000E94BEAD41E061E080E49DE00E947E287A
+:10EF000068E775E080E49DE00E94BEAD42E061E00C
+:10EF100080E49DE00E947E286CE775E080E49DE03F
+:10EF20000E94BEAD43E061E080E49DE00E947E2847
+:10EF300060E975E080E49DE00E94BEAD41E060E0E4
+:10EF400080E49DE00E947E2860EA75E080E49DE018
+:10EF50000E94BEAD00919B0D112707FD1095C1E0E9
+:10EF6000D0E08091550A9091560A892B09F076C01D
+:10EF70000E94721E81E00E94384980919B0D992762
+:10EF800087FD90950817190709F459C09801281BA7
+:10EF9000390B37FF03C031952195310922303105F6
+:10EFA0000CF44DC0801791070CF42197081719072E
+:10EFB0000CF42196C430D1052CF4209729F4C1E03B
+:10EFC000D0E002C0C3E0D0E041E060E080E49DE03A
+:10EFD0000E947E2861E973E080E49DE00E94BEAD5E
+:10EFE00042E060E080E49DE00E947E2861E973E0F9
+:10EFF00080E49DE00E94BEAD43E060E080E49DE0DF
+:10F000000E947E2861E973E080E49DE00E94BEAD2D
+:10F010004C2F60E080E49DE00E947E2860EA75E06D
+:10F0200080E49DE00E94BEAD00919B0D112707FD7D
+:10F03000109564E670E080E090E00E9460A942DFF5
+:10F04000882309F48ECFD093560AC093550A64EFF3
+:10F0500071E080E090E00E9460A983CF0E94DD6AA9
+:10F06000DF91CF911F910F910C94C86AFC018081B0
+:10F0700090E02AE030E0B9010E946BB2482FCB014A
+:10F08000B9010E946BB2805D8093090D405D409391
+:10F090000A0D10920B0D89E09DE0089520E030E00C
+:10F0A00040E251E4FC0160817181828193810E9480
+:10F0B00075B10E940FAF77FD02C02BE201C02DE2B7
+:10F0C0002093090D9B0177FF04C022273327261BBD
+:10F0D000370BC90168EE73E00E946BB2CB01EAE026
+:10F0E000F0E0BF010E946BB2805D80930A0DC90100
+:10F0F00064E670E00E946BB2CB01BF010E946BB26C
+:10F10000805D80930B0DC901BF010E946BB2282F57
+:10F11000CB01BF010E946BB2805D80930C0D8EE22B
+:10F1200080930D0D205D20930E0D10920F0D89E040
+:10F130009DE008958F929F92AF92BF92CF92DF92FF
+:10F14000EF92FF92FC0180809180A280B38020E04A
+:10F1500030E048EC52E4C501B4010E9475B16B0186
+:10F160007C0120E030E0A9010E94A3B018161CF435
+:10F17000C701B60103C0C701B60190580E940FAF86
+:10F180006B017C0120E030E0A901C501B4010E94BF
+:10F19000A0AE87FF12C08DE28093090DC701B601B2
+:10F1A00028EE33E040E050E00E94A0B2CA01B9016D
+:10F1B0002AE030E040E050E036C0C701B60120E16F
+:10F1C00037E240E050E00E94A0B28AE0882E912C05
+:10F1D000A12CB12CCA01B901A50194010E94A0B2D1
+:10F1E000662391F0605D6093090DC701B60128EEBA
+:10F1F00033E040E050E00E94A0B2CA01B901A5018D
+:10F2000094010E94A0B213C080E28093090DC7014F
+:10F21000B60128EE33E040E050E00E94A0B2CA01FF
+:10F22000B901A50194010E94A0B2662311F0605DAE
+:10F2300001C060E260930A0DC701B60124E630E028
+:10F2400040E050E00E94A0B2BAE08B2E912CA12C9D
+:10F25000B12CCA01B901A50194010E94A0B2605D60
+:10F2600060930B0DC701B601A50194010E94A0B2E5
+:10F27000662381F0605D60930E0DCA01B901A5019E
+:10F2800094010E94A0B2605D60930D0D8EE28093A8
+:10F290000C0D15C0CA01B901A50194010E94A0B2CC
+:10F2A000662329F0605D60930D0D8EE203C080E25D
+:10F2B00080930D0D80930C0D80E280930E0D1092C3
+:10F2C0000F0D89E09DE0FF90EF90DF90CF90BF9011
+:10F2D000AF909F908F900895FC012081318137FF7E
+:10F2E00007C08DE28093090D31952195310914C035
+:10F2F0002436310574F0C90164E670E00E946BB2F7
+:10F30000CB016AE070E00E946BB2805D8093090DD2
+:10F3100006C080E28093090D2A30310564F0EAE0EE
+:10F32000F0E0C901BF010E946BB2CB01BF010E9496
+:10F330006BB2805D01C080E280930A0DC9016AE072
+:10F3400070E00E946BB2805D80930B0D10920C0DEB
+:10F3500089E09DE008958F929F92AF92BF92CF92E5
+:10F36000DF92EF92FF920F931F93CF93DF93609101
+:10F3700014027091150280911602909117020E945A
+:10F38000BD276093190D70931A0D80931B0D9093F8
+:10F390001C0D6091100270911102809112029091E7
+:10F3A00013020E94C9276093150D7093160D809368
+:10F3B000170D9093180D8091350D9091360DA091F9
+:10F3C000370DB091380D81309048A105B10540F05E
+:10F3D0001092350D1092360D1092370D1092380D97
+:10F3E0006091350D7091360D8091370D9091380DEB
+:10F3F00025E030E040E050E00E947EB280913E0D7A
+:10F4000090E0A0E0B0E0281739074A075B0710F446
+:10F4100020933E0DD0913E0D10913F0D12FB112710
+:10F4200010F9C0E095E0C92ED12CE12CF12C23E19C
+:10F43000822E912CA12CB12C01E06091350D7091A0
+:10F44000360D8091370D9091380DD11134C0209137
+:10F450006F02222371F023E065307105810591056B
+:10F4600010F443E001C040E26AEA7FE08C2F0E9482
+:10F47000F663112309F4E2C08091350D9091360DA9
+:10F48000A091370DB091380D0597A105B10508F091
+:10F49000D5C00E941D6581E297E6DF91CF911F9153
+:10F4A0000F91FF90EF90DF90CF90BF90AF909F9023
+:10F4B0008F900C946765D130D9F520916F0222238B
+:10F4C000B9F0A70196010E947EB288E498E021304D
+:10F4D00031054105510521F4FFDE9C014EE303C0D7
+:10F4E000FBDE9C0140E263EA7FE08C2F0E942D64EA
+:10F4F000112309F4A3C06091350D7091360D8091F0
+:10F50000370D9091380DA70196010E947EB22130EF
+:10F5100031054105510509F091C00E941D6528E3A0
+:10F5200031E040E050E068E478E08CE99FE078C0AA
+:10F53000D230D9F520916F022223B9F0A7019601AC
+:10F540000E947EB286E498E02230310541055105E3
+:10F5500021F4C2DE9C014EE303C0BEDE9C0140E20A
+:10F5600068E97FE08C2F0E942D64112309F466C0A6
+:10F570006091350D7091360D8091370D9091380D59
+:10F58000A70196010E947EB2223031054105510546
+:10F5900009F054C00E941D6523E930E040E050E0CE
+:10F5A00066E478E084E99FE03BC0D33009F046C0D0
+:10F5B00020916F022223B9F0A70196010E947EB22A
+:10F5C0008EE29AE0233031054105510521F484DEB5
+:10F5D0009C014EE303C080DE9C0140E26AE87FE0CC
+:10F5E0008C2F0E942D64112349F16091350D70918B
+:10F5F000360D8091370D9091380DA70196010E942C
+:10F600007EB22330310541055105C1F40E941D65CC
+:10F610002FEF30E040E050E06EE27AE080E89FE0DB
+:10F62000DF91CF911F910F91FF90EF90DF90CF90DE
+:10F63000BF90AF909F908F900C94A4638091350DF4
+:10F640009091360DA091370DB091380D4497A105DA
+:10F65000B10540F08092350D9092360DA092370D95
+:10F66000B092380D6091350D7091360D8091370D47
+:10F670009091380DA70196010E947EB280913E0DB7
+:10F6800090E00396422F50E0841795074CF48DEFDD
+:10F69000820F80933E0D00936F02DCEFD20FCFEF0D
+:10F6A000CF5FDF5FC43008F4C8CEDF91CF911F91E8
+:10F6B0000F91FF90EF90DF90CF90BF90AF909F9011
+:10F6C0008F9008958F929F92AF92BF92CF92DF92C8
+:10F6D000EF92FF920F931F93CF93DF938091350D9D
+:10F6E0009091360DA091370DB091380D8130904832
+:10F6F000A105B10540F01092350D1092360D109213
+:10F70000370D1092380D6091350D7091360D809146
+:10F71000370D9091380D25E030E040E050E00E9438
+:10F720007EB280913E0D90E0A0E0B0E0281739074E
+:10F730004A075B0710F420933E0DD0913E0D1091C7
+:10F740003F0D12FB112710F9C0E035E0C32ED12C7C
+:10F75000E12CF12C42E2842E912CA12CB12C01E061
+:10F760006091350D7091360D8091370D9091380D67
+:10F77000D11134C020916F02222371F023E0653053
+:10F7800071058105910510F443E001C040E26CEE83
+:10F790007EE08C2F0E94F663112309F49CC18091B6
+:10F7A000350D9091360DA091370DB091380D05971C
+:10F7B000A105B10508F08FC10E941D658CE692E796
+:10F7C000DF91CF911F910F91FF90EF90DF90CF903D
+:10F7D000BF90AF909F908F900C946765D130D9F512
+:10F7E00020916F022223B9F0A70196010E947EB2F8
+:10F7F0008DE592E0213031054105510521F46CDDA4
+:10F800009C014EE303C068DD9C0140E266EE7EE0B1
+:10F810008C2F0E942D64112309F45DC16091350D78
+:10F820007091360D8091370D9091380DA70196019A
+:10F830000E947EB2213031054105510509F04BC1CE
+:10F840000E941D6527EE33E04AE050E06DE572E06E
+:10F8500080EE9EE03DC0D23009F048C020916F029A
+:10F860002223B9F0A70196010E947EB288E498E0B5
+:10F87000223031054105510521F42EDD9C014EE376
+:10F8800003C02ADD9C0140E269ED7EE08C2F0E94DE
+:10F890002D64112309F41FC16091350D7091360D4F
+:10F8A0008091370D9091380DA70196010E947EB28C
+:10F8B000223031054105510509F00DC10E941D6539
+:10F8C00028E331E040E050E068E478E082ED9EE03B
+:10F8D000DF91CF911F910F91FF90EF90DF90CF902C
+:10F8E000BF90AF909F908F900C94A463D330D9F5C4
+:10F8F00020916F022223B9F0A70196010E947EB2E7
+:10F9000086E498E0233031054105510521F4E4DC1B
+:10F910009C014EE303C0E0DC9C0140E26EEC7EE023
+:10F920008C2F0E942D64112309F4D5C06091350DF0
+:10F930007091360D8091370D9091380DA701960189
+:10F940000E947EB2233031054105510509F0C3C044
+:10F950000E941D6523E930E040E050E066E478E075
+:10F960008AEC9EE0B5CFD430D9F520916F022223E6
+:10F97000B9F0A70196010E947EB28EE29AE024308F
+:10F9800031054105510521F4A7DC9C014EE303C07C
+:10F99000A3DC9C0140E260EC7EE08C2F0E942D6491
+:10F9A000112309F498C06091350D7091360D809146
+:10F9B000370D9091380DA70196010E947EB2243038
+:10F9C00031054105510509F086C00E941D652FEFE4
+:10F9D00030E040E050E06EE27AE086EB9EE078CFE7
+:10F9E000D530D9F520916F022223B9F0A7019601F5
+:10F9F0000E947EB28BE592E025303105410551052C
+:10FA000021F46ADC9C014EE303C066DC9C0140E209
+:10FA100061EB7EE08C2F0E942D64112309F45BC002
+:10FA20006091350D7091360D8091370D9091380DA4
+:10FA3000A70196010E947EB225303105410551058E
+:10FA400009F049C00E941D6527EE33E04AE050E00E
+:10FA50006BE572E08CEA9EE03BCFD630E1F5209179
+:10FA60006F02222399F0A70196010E947EB22630F0
+:10FA700031054105510519F420E24EE302C020E2B0
+:10FA800040E26CE97EE08C2F0E94F663112319F1AD
+:10FA90006091350D7091360D8091370D9091380D34
+:10FAA000A70196010E947EB226303105410551051D
+:10FAB00091F40E941D6587E99EE0DF91CF911F912F
+:10FAC0000F91FF90EF90DF90CF90BF90AF909F90FD
+:10FAD0008F900C94333E8091350D9091360DA0910E
+:10FAE000370DB091380D8397A105B10540F0809294
+:10FAF000350D9092360DA092370DB092380D609171
+:10FB0000350D7091360D8091370D9091380DA7010C
+:10FB100096010E947EB280913E0D90E00396422FA6
+:10FB200050E0841795074CF48DEF820F80933E0DC3
+:10FB300000936F02DCEFD20FCFEFCF5FDF5FC430F7
+:10FB400008F40ECEDF91CF911F910F91FF90EF90AF
+:10FB5000DF90CF90BF90AF909F908F900895FC0161
+:10FB6000808191818436910524F164E670E00E94E1
+:10FB70006BB2CB012AE030E0B9010E946BB2805D2C
+:10FB80008093090D80819181B9010E946BB2CB01F4
+:10FB9000B9010E946BB2805D80930A0D80819181D2
+:10FBA000B9010E946BB2805D80930B0D10920C0D19
+:10FBB00023C08A309105BCF02AE030E0B9010E94F0
+:10FBC0006BB2CB01B9010E946BB2805D8093090DCD
+:10FBD00080819181B9010E946BB2805D80930A0D92
+:10FBE00010920B0D09C06AE070E00E946BB2805D5C
+:10FBF0008093090D10920A0D89E09DE00895CF923F
+:10FC0000EF920F93EFE1CE2EF0E2EF2E0FE02EE019
+:10FC100045E066E280E49DE00E9459290F91EF9053
+:10FC2000CF900895CF93DF93FC016491EC0121966E
+:10FC3000662331F080E49DE00E94362ACE01F4CFA5
+:10FC4000DF91CF9108950F931F93CF93DF938C0192
+:10FC5000EB0141E061E080E49DE00E947E28C80164
+:10FC6000E1DF6AE380E49DE00E94BFADFE01019008
+:10FC70000020E9F76C2F6E1B6C5E41E080E49DE094
+:10FC80000E947E28BE0180E49DE0DF91CF911F910C
+:10FC90000F910C94BEADCF92DF92EF92FF920F9333
+:10FCA0001F938091350D9091360DA091370DB09135
+:10FCB000380D0097A105B10509F442C0BC018827A1
+:10FCC00077FD8095982F0E9442AF2091110D3091C1
+:10FCD000120D4091130D5091140D0E9475B19B01AE
+:10FCE000AC016091500A7091510A8091520A909132
+:10FCF000530A0E94C7AD6093500A7093510A8093D3
+:10FD0000520A9093530A1092350D1092360D1092AC
+:10FD1000370D1092380DA0E3CA2EAAE0DA2EE12C9E
+:10FD2000F12C00E81FE320E53AE04CE45AE068E4F7
+:10FD30007AE084E49AE00E94779A81E080936F02EF
+:10FD400080916F02882339F080E59AE0A7D9BC0141
+:10FD500089EB9FE078DF80913F0D82FF0EC021E0AC
+:10FD600040E050E0BA018AEF98E61F910F91FF90B2
+:10FD7000EF90DF90CF900C9451651F910F91FF9001
+:10FD8000EF90DF90CF900895CF93DF931F921F9253
+:10FD9000CDB7DEB78091350D9091360DA091370D1E
+:10FDA000B091380DB7FF08C01092350D1092360D86
+:10FDB0001092370D1092380D80911D0D90911E0DEF
+:10FDC000A0911F0DB091200D4091350D5091360D31
+:10FDD0006091370D7091380D84179507A607B70706
+:10FDE00044F48093350D9093360DA093370DB09366
+:10FDF000380D80916F028823A9F08091210D909198
+:10FE0000220D2091350D3091360D820F931F9A836C
+:10FE10008983CE01019660DABC018091270D909113
+:10FE2000280D11DF80913F0D82FF1DC0E091250D4F
+:10FE3000F091260D8091210D9091220D2091350D8C
+:10FE40003091360D820F931F918380834091290D4D
+:10FE500050912A0D60E070E021E080912B0D90918F
+:10FE60002C0D0E9451650F900F90DF91CF91089556
+:10FE70004F925F926F927F928F929F92AF92BF92BA
+:10FE8000CF92DF92EF92FF920F931F93CF93DF9366
+:10FE90004C015B017A018091350D9091360DA09156
+:10FEA000370DB091380D892B8A2B8B2B09F47BC031
+:10FEB0000E945F40E501CC0FDD1FCC0FDD1F8E01DE
+:10FEC0000C5B154F6091350D7091360D882777FDCD
+:10FED0008095982F0E9442AF2091110D3091120D04
+:10FEE0004091130D5091140D0E9475B1F8012081BD
+:10FEF0003181428153810E94C7AD2B013C0120E03A
+:10FF000030E0A9010E94A0AEF80187FD05C0408243
+:10FF100051826282738204C0108211821282138223
+:10FF2000B701882777FD8095982F0E9442AF6B011B
+:10FF30007C018E010C5B154F9B01AC01F8016081C7
+:10FF40007181828193810E94A3B018162CF4F8016C
+:10FF5000C082D182E282F3821092350D1092360D6A
+:10FF60001092370D1092380DCA55DA4F20E030E06C
+:10FF700040E752E4688179818A819B810E94A7AE23
+:10FF8000D0E3CD2EDAE0DD2E7B018C0120E53AE0D6
+:10FF90004CE45AE068E47AE084E49AE00E94779ABC
+:10FFA00081E080936F0280916F02882359F0C50130
+:10FFB000880F991F880F991F8C5B954F6FD8BC01D4
+:10FFC000C40141DE80913F0D82FF18C021E040E076
+:10FFD00050E0BA018AEF98E6DF91CF911F910F911F
+:10FFE000FF90EF90DF90CF90BF90AF909F908F9059
+:10FFF0007F906F905F904F900C945165DF91CF91FF
+:020000021000EC
+:100000001F910F91FF90EF90DF90CF90BF90AF9036
+:100010009F908F907F906F905F904F90089546EDE6
+:1000200050E060E070E083EB9FE022CF46EC50E0D0
+:1000300061E070E085EB9FE01BCF49EC50E062E0AF
+:1000400070E087EB9FE014CF8F929F92AF92BF92A8
+:10005000CF92DF92EF92FF920F931F93CF93DF9394
+:10006000CDB7DEB728970FB6F894DEBF0FBECDBF71
+:1000700080912F0D882321F0815080932F0D03C094
+:1000800081E080936F0280916F02882309F456C249
+:1000900080919A0D8F5F80939A0D8E3129F40E9482
+:1000A000BC6A10929A0D0EC06AE00E944AB2911189
+:1000B00009C020E044E064E180E49DE00E947E29E4
+:1000C0000E94806420E030E040E05FE360914008FF
+:1000D0007091410880914208909143080E94C7ADF9
+:1000E0000E940FAF78876F8360914808709149082C
+:1000F000882777FD8095982F0E9442AF20E030E05E
+:1001000040E05FE30E94C7AD0E940FAF7E836D8326
+:1001100040E060E080E49DE00E947E2862E080E4B0
+:100120009DE00E94BFADCE010796D6D8BC0180E409
+:100130009DE00E94BEAD6FE280E49DE00E94BFADF5
+:10014000CE0105960CDDBC0180E49DE00E94BEADB1
+:1001500084E99EE067DD60E973E080E49DE00E9451
+:10016000BEAD40E06AE080E49DE00E947E2862EA45
+:1001700075E080E49DE00E94BEAD2CEA35EC47E2DC
+:1001800057E360914C0A70914D0A80914E0A90910C
+:100190004F0A0E94C7AD69837A838B839C83CE010B
+:1001A00001960E949A78BC0180E49DE00E94BEAD59
+:1001B00060E280E49DE00E94BFAD41E060E080E449
+:1001C0009DE00E947E2820E030E040E05FE3609107
+:1001D0003A0870913B0880913C0890913D080E943C
+:1001E000C7AD0E940FAF78876F836091460870910A
+:1001F0004708882777FD8095982F0E9442AF20E01E
+:1002000030E040E05FE30E94C7AD0E940FAF7E8305
+:100210006D8360E080E49DE00E94BFADCE01079653
+:100220005BD8BC0180E49DE00E94BEAD6FE280E43B
+:100230009DE00E94BFADCE01059691DCBC0180E43B
+:100240009DE00E94BEAD81E99EE0ECDC60E973E0D8
+:1002500080E49DE00E94BEAD41E06AE080E49DE064
+:100260000E947E2860E973E080E49DE00E94BEADBC
+:1002700066E080E49DE00E94BFAD8DE592E02CD861
+:10028000BC0180E49DE00E94BEAD65E280E49DE09B
+:100290000E94BFAD6DE873E080E49DE00E94BEADBA
+:1002A00042E060E080E49DE00E947E288EE89EE0CF
+:1002B000B9DC80915F0A8823A9F18091480C8823DA
+:1002C00019F18091F20C9091F30CA091F40CB09183
+:1002D000F50C0097A105B105B9F0BC01CD016D5930
+:1002E0007F4F8F4F9F4F24E630E040E050E00E9468
+:1002F0007EB26091FA0C7091FB0C8091FC0C909195
+:10030000FD0C0E947EB201C020E030E03A832983D8
+:10031000CE0101960E946C79BC0180E49DE00E94B0
+:10032000BEAD03C08AE89EE07DDC65E280E49DE02E
+:100330000E94BFAD6CE873E080E49DE00E94BEAD1A
+:1003400042E06AE080E49DE00E947E2860E973E07C
+:1003500080E49DE00E94BEAD67E080E49DE00E94E5
+:10036000BFAD8091520890915308A0915408B0916C
+:100370005508892B8A2B8B2BE1F10E9431A920E6AD
+:10038000C22E2AEED22EE12CF12CA70196010E945A
+:100390007EB249015A0160915208709153088091D0
+:1003A000540890915508A70196010E947EB2C4019D
+:1003B000821B930B6CE370E00E9457B2182F698385
+:1003C000CE0101960E943678BC0180E49DE00E9437
+:1003D000BEAD6AE380E49DE00E94BFAD1983CE010B
+:1003E00001960E943678BC0180E49DE00E94BEAD7B
+:1003F00003C084E89EE016DC60E973E080E49DE0E1
+:100400000E94BEAD43E060E080E49DE00E947E2853
+:100410006EE773E082E792E00E942EB6892B09F026
+:1004200074C06EE67AE085E59DE00E942EB6892BC9
+:10043000D1F0E5E5FDE0DF010D900020E9F7AD0129
+:100440004150510945555D4060E070E0CF010E9488
+:10045000FEB56EE67AE085E59DE00E9437B6109223
+:100460008B0D10928A0DEEE6FAE001900020E9F77C
+:10047000EF56FA40759708F445C000918A0D109127
+:100480008B0DC12CD12C80918A0D90918B0D9801F0
+:10049000281B390B2431310534F0019690938B0DD4
+:1004A00080938A0D38C0C114D104B9F7F801E35A1A
+:1004B000F54F7F019189602F681B43E0911115C0B2
+:1004C00080E49DE00E947E28D70150966C9180E4E4
+:1004D0009DE00E94BFAD10928B0D10928A0D00E03E
+:1004E00010E0CC24C394D12CCECF80E49DE00E94B8
+:1004F0007E28F701608980E49DE00E94BFAD0F5F18
+:100500001F4FC1CF65E57DE002C062E772E080E485
+:100510009DE00E94BEAD02E712E0D8018D918D01F1
+:1005200080322CF460E280E49DE00E94BFADB2E036
+:1005300006381B0791F78AE080932F0D80913F0DBD
+:1005400082FB882780F990912E0D992399F0909144
+:100550002D0D992339F0811119C010922D0D109293
+:100560002E0D14C0882391F00E941D6581E08093B8
+:100570002D0D0CC0882351F021E040E050E0BA017D
+:100580008CE692E70E9451650E94BC6A80915D02F0
+:1005900090915E022091350D3091360D8436910593
+:1005A00034F4820F931F853691054CF416C08436BF
+:1005B000910599F0820F931F8436910574F410927F
+:1005C000350D1092360D1092370D1092380D84E6CD
+:1005D00090E090935E0280935D0220915D023091E5
+:1005E0005E028091350D9091360D2436310569F407
+:1005F0008B3091051CF0865A9F4F09C0863FEFEF64
+:100600009E078CF482599F4F02C0820F931F9093D4
+:100610005E0280935D021092350D1092360D10929D
+:10062000370D1092380D80915D0290915E028A30F4
+:1006300091051CF48AE090E005C0883E934034F0B8
+:1006400087EE93E090935E0280935D0228960FB64A
+:10065000F894DEBF0FBECDBFDF91CF911F910F91F8
+:10066000FF90EF90DF90CF90BF90AF909F908F90D2
+:100670000895CF93DF93CFE2DEE0FE0184918823DB
+:1006800041F09091C00095FFFCCF8093C600319659
+:10069000F5CFE4E0F4E18491882341F09091C0002B
+:1006A00095FFFCCF8093C6003196F5CF8091C000B6
+:1006B00085FFFCCF8AE08093C600FE018491EFE2C3
+:1006C000FEE0882349F09091C00095FFFCCF809315
+:1006D000C60031968491F5CF4091A1135091A21399
+:1006E0006091A3137091A4138CEF93E10E949C3D41
+:1006F0004091A5135091A6136091A7137091A81370
+:1007000089EF93E10E949C3D4091A9135091AA1357
+:100710006091AB137091AC1386EF93E10E949C3D06
+:100720004091AD135091AE136091AF137091B0131F
+:1007300083EF93E10E949C3D8091C00085FFFCCF38
+:100740008AE08093C600FE018491EFE2FEE08823F8
+:1007500049F09091C00095FFFCCF8093C600319680
+:100760008491F5CFE9EDF3E18491882341F09091F4
+:10077000C00095FFFCCF8093C6003196F5CF8091E5
+:10078000C00085FFFCCF8AE08093C600FE01849103
+:10079000EFE2FEE0882349F09091C00095FFFCCF86
+:1007A0008093C60031968491F5CF4091B11350915A
+:1007B000B2136091B3137091B41380ED93E10E9472
+:1007C0009C3D4091B5135091B6136091B713709151
+:1007D000B8138DEC93E10E949C3D4091B913509168
+:1007E000BA136091BB137091BC138AEC93E10E9421
+:1007F0009C3D4091BD135091BE136091BF13709109
+:10080000C01387EC93E10E949C3D8091C00085FF5E
+:10081000FCCF8AE08093C600FE018491EFE2FEE007
+:10082000882349F09091C00095FFFCCF8093C600CB
+:1008300031968491F5CFE9EAF3E18491882341F080
+:100840009091C00095FFFCCF8093C6003196F5CF04
+:100850008091C00085FFFCCF8AE08093C600FE0136
+:100860008491EFE2FEE0882349F09091C00095FF6B
+:10087000FCCF8093C60031968491F5CF40919113BF
+:1008800050919213609193137091941380EA93E1C5
+:100890000E94AE3D4091951350919613609197132D
+:1008A000709198138DE993E10E94AE3D40919913A8
+:1008B00050919A1360919B1370919C138AE993E174
+:1008C0000E94AE3D40919D1350919E1360919F13E5
+:1008D0007091A01387E993E10E94AE3D8091C00022
+:1008E00085FFFCCF8AE08093C600FE018491EFE291
+:1008F000FEE0882349F09091C00095FFFCCF8093E3
+:10090000C60031968491F5CFE2E6F3E18491882325
+:1009100041F09091C00095FFFCCF8093C6003196C6
+:10092000F5CF8091C00085FFFCCF8AE08093C600A0
+:10093000FE018491EFE2FEE0882349F09091C0002F
+:1009400095FFFCCF8093C60031968491F5CF4091FE
+:10095000891350918A1360918B1370918C1389E5E0
+:1009600093E10E949C3D40918513509186136091C4
+:1009700087137091881386E593E10E949C3D8091D6
+:10098000C00085FFFCCF8AE08093C600FE01849101
+:10099000EFE2FEE0882349F09091C00095FFFCCF84
+:1009A0008093C60031968491F5CFE3EAF2E1849119
+:1009B000882341F09091C00095FFFCCF8093C60042
+:1009C0003196F5CF8091C00085FFFCCF8AE08093FF
+:1009D000C600FE018491EFE2FEE0882349F0909189
+:1009E000C00095FFFCCF8093C60031968491F5CF6F
+:1009F00040918D1350918E1360918F1370919013CD
+:100A00008AE992E10E949C3D4091751350917613C2
+:100A1000609177137091781387E992E10E949C3D71
+:100A20004091C1135091C2136091C3137091C413CC
+:100A300084E992E10E94AE3D40918113509182136E
+:100A4000609183137091841381E992E10E949C3D2F
+:100A500040917D1350917E1360917F1370918013AC
+:100A60008EE892E10E949C3D4091791350917A1357
+:100A700060917B1370917C138BE892E10E949C3D06
+:100A80008091C00085FFFCCF8AE08093C600FE0104
+:100A90008491EFE2FEE0882349F09091C00095FF39
+:100AA000FCCF8093C60031968491F5CFE9E7F2E15F
+:100AB0008491882341F09091C00095FFFCCF8093F2
+:100AC000C6003196F5CF8091C00085FFFCCF8AE04B
+:100AD0008093C600FE018491EFE2FEE0882349F096
+:100AE0009091C00095FFFCCF8093C6003196849111
+:100AF000F5CF4091380A5091390A60913A0A7091C5
+:100B00003B0A80E792E10E949C3D40913C0A509153
+:100B10003D0A60913E0A70913F0A8DE692E10E9483
+:100B20009C3D4091400A5091410A6091420A709167
+:100B3000430A8AE692E10E949C3D8091C00085FFB5
+:100B4000FCCF8AE08093C600FE018491EFE2FEE0D4
+:100B5000882349F09091C00095FFFCCF8093C60098
+:100B600031968491F5CFECE5F2E18491882341F050
+:100B70009091C00095FFFCCF8093C6003196F5CFD1
+:100B80008091C00085FFFCCF8AE08093C600FE0103
+:100B90008491EFE2FEE0882349F09091C00095FF38
+:100BA000FCCF8093C60031968491F5CF4091180216
+:100BB0005091190260911A0270911B0282E592E134
+:100BC0000E949C3D60911402709115028091160262
+:100BD000909117020E94BD27AB01BC018FE492E106
+:100BE0000E949C3D6091100270911102809112024E
+:100BF000909113020E94C927AB01BC018CE492E1E1
+:100C00000E949C3D8091C00085FFFCCF8AE08093CC
+:100C1000C600FE018491EFE2FEE0882349F0909146
+:100C2000C00095FFFCCF8093C60031968491F5CF2C
+:100C3000E8E1F2E18491882341F09091C00095FFB2
+:100C4000FCCF8093C6003196F5CF8091C00085FF20
+:100C5000FCCF8AE08093C600FE018491EFE2FEE0C3
+:100C6000882349F09091C00095FFFCCF8093C60087
+:100C700031968491F5CF40913302509134026091C6
+:100C80003502709136028EE092E10E949C3D20E098
+:100C900030E040E752E460912B0270912C02809189
+:100CA0002D0290912E020E9475B1AB01BC018BE028
+:100CB00092E10E949C3D4091280A5091290A60913E
+:100CC0002A0A70912B0A88E092E10E949C3D809153
+:100CD000C00085FFFCCF8AE08093C600FE018491AE
+:100CE000EFE2FEE0882349F09091C00095FFFCCF31
+:100CF0008093C60031968491F5CFECEDF1E18491BB
+:100D0000882341F09091C00095FFFCCF8093C600EE
+:100D10003196F5CF8091C00085FFFCCF8AE08093AB
+:100D2000C600FE018491EFE2FEE0882349F0909135
+:100D3000C00095FFFCCF8093C60031968491F5CF1B
+:100D40004091240A5091250A6091260A7091270A41
+:100D500082ED91E10E949C3D20E030E040E752E4CA
+:100D600060912702709128028091290290912A02B5
+:100D70000E9475B1AB01BC018FEC91E10E949C3DDA
+:100D80008091C00085FFFCCF8AE08093C600FE0101
+:100D90008491EFE2FEE0882349F09091C00095FF36
+:100DA000FCCF8093C60031968491F5CFE5E7F1E161
+:100DB0008491882341F09091C00095FFFCCF8093EF
+:100DC000C6003196F5CF8091C00085FFFCCF8AE048
+:100DD0008093C600FE018491EFE2FEE0882349F093
+:100DE0009091C00095FFFCCF8093C600319684910E
+:100DF000F5CF40912D0A50E060E070E08BE691E184
+:100E00000E94AE3D8091C00085FFFCCF8AE08093B8
+:100E1000C600FE018491EFE2FEE0882349F0909144
+:100E2000C00095FFFCCF8093C60031968491F5CF2A
+:100E30008091540A8823A1F1E8E5F1E184918823A7
+:100E400041F09091C00095FFFCCF8093C600319691
+:100E5000F5CF8091C00085FFFCCF8AE08093C6006B
+:100E6000FE01C491EFE2FEE0CC2349F08091C00086
+:100E700085FFFCCFC093C6003196C491F5CF409159
+:100E800053025091540260915502709156028EE4C3
+:100E900091E10E949C3D8091C00085FFFCCF11C074
+:100EA000E2E3F1E18491882341F09091C00095FF45
+:100EB000FCCF8093C6003196F5CF8091C00085FFAE
+:100EC000FCCF8AE08093C600DF91CF910895AF9266
+:100ED000BF92CF92DF92EF92FF920F931F93CF9327
+:100EE000DF93CDB7DEB7E0970FB6F894DEBF0FBE45
+:100EF000CDBF80E1EFEEF2E0DE01919601900D9220
+:100F00008A95E1F780E1EFEFF2E0DE015196019082
+:100F10000D928A95E1F780E1EFE0F3E0DE011196B2
+:100F200001900D928A95E1F76E0181E2C80ED11C05
+:100F300081EAE82E83E1F82E8E010F5E1F4F61EBF0
+:100F400073E1AE014F5F5F4F91E9A92E93E1B92E96
+:100F500020E030E0F60181919191A191B1916F0172
+:100F6000F70181939193A193B1937F01F80181914E
+:100F70009191A191B1918F01FB0181939193A193E3
+:100F8000B193BF01FA0181919191A191B191AF010A
+:100F9000F50181939193A193B1935F012F5F3F4F2F
+:100FA00024303105B9F60E9410A580E090E8ABE34B
+:100FB000B5E48093891390938A13A0938B13B09315
+:100FC0008C138093851390938613A0938713B0930B
+:100FD000881310928D1310928E1310928F1310920B
+:100FE000901380E29EE4A0E0B0E08093C113909360
+:100FF000C213A093C313B093C4131092751310922D
+:101000007613109277131092781380E090E0A0EAA4
+:10101000B1E48093811390938213A0938313B093D0
+:1010200084138DEC9CECACECBEE380937D13909329
+:101030007E13A0937F13B093801380E090E0A0EA2A
+:10104000B0E48093791390937A13A0937B13B093B9
+:101050007C131092400A1092410A1092420A109298
+:10106000430A10923C0A10923D0A10923E0A1092D6
+:101070003F0A1092380A1092390A10923A0A1092D6
+:101080003B0A8CED90E09093980D8093970D82E34E
+:1010900090E09093960D8093950D8FEF90E0909354
+:1010A000940D8093930D2DE131E03093920D2093B8
+:1010B000910D24E630E03093900D20938F0D9093A6
+:1010C0008E0D80938D0D83E393E3ABE4B1E48093C5
+:1010D000180290931902A0931A02B0931B026FE1B9
+:1010E00075E88BE89FE30E94B72760931402709322
+:1010F000150280931602909317026AE979E985E157
+:1011000092E40E94C32760931002709311028093AF
+:101110001202909313020E94251E80E090E0A0E846
+:10112000BFE380930C0290930D02A0930E02B09344
+:101130000F0210922D0A80E090E0A0E4B0E48093CA
+:10114000330290933402A0933502B093360240E00C
+:1011500050E064E372E440932B0250932C026093BE
+:101160002D0270932E021092280A1092290A1092D2
+:101170002A0A10922B0A1092240A1092250A109221
+:10118000260A1092270A40E050E060E071E44093A4
+:101190002702509328026093290270932A0210922A
+:1011A000540A8093530290935402A0935502B09333
+:1011B00056020E94A74AEFE2FEE08491882341F0A4
+:1011C0009091C00095FFFCCF8093C6003196F5CF7B
+:1011D000E0E1F1E18491882341F09091C00095FF16
+:1011E000FCCF8093C6003196F5CF8091C00085FF7B
+:1011F000FCCF8AE08093C600E0960FB6F894DEBF7D
+:101200000FBECDBFDF91CF911F910F91FF90EF9057
+:10121000DF90CF90BF90AF9008951F920F920FB6BE
+:101220000F9211240BB60F922F933F934F935F931E
+:101230006F938F939F93EF93FF936091C6002091DC
+:101240001D0E30911E0EC90101968F77992740918E
+:101250001F0E5091200E8417950741F0F901E356B7
+:10126000F24F608390931E0E80931D0EFF91EF91BD
+:101270009F918F916F915F914F913F912F910F901F
+:101280000BBE0F900FBE0F901F9018959A01AB01E7
+:10129000211581EE38074105510549F182E080931F
+:1012A000C00060E079E08DE390E00E94A0B22150A0
+:1012B000310941095109CA01B90122E030E040E099
+:1012C00050E00E94A0B23093C5002093C4008091EA
+:1012D000C10080618093C1008091C10088608093CB
+:1012E000C1008091C10080688093C1000895109270
+:1012F000C00020E130E0E7CF20911F0E3091200E9A
+:1013000080911D0E90911E0E8217930771F0F901C6
+:10131000E356F24F80812F5F3F4F2F773327309373
+:10132000200E20931F0E90E008958FEF9FEF0895F9
+:1013300080911F0E9091200E90931E0E80931D0E93
+:1013400008954F925F926F927F928F929F92AF9289
+:10135000BF92CF92DF92EF92FF920F931F93CF93A2
+:10136000DF93CDB7DEB7A0970FB6F894DEBF0FBE00
+:10137000CDBF5C014115510561057105E9F420E01F
+:1013800030E040E350E060E070E0A0960FB6F894E3
+:10139000DEBF0FBECDBFDF91CF911F910F91FF90A8
+:1013A000EF90DF90CF90BF90AF909F908F907F9005
+:1013B0006F905F904F905BC08E010F5F1F4FC12CED
+:1013C000D12C76014801422E512C612C712C8FEFCB
+:1013D000C81AD80AE80AF80ACB01BA01A301920197
+:1013E0000E947EB2CA01F80161938F01A901BC017C
+:1013F000411551056105710551F7F1E0CF1AD1088A
+:10140000E108F108F401EC0DFD1D80818A3010F433
+:1014100040E301C047E3480F552747FD5095652F2E
+:10142000752F20E030E0C50122D081E0C81AD10834
+:10143000E108F108EFEFCE16DE06EE06FE0611F724
+:10144000A0960FB6F894DEBF0FBECDBFDF91CF914F
+:101450001F910F91FF90EF90DF90CF90BF90AF90D2
+:101460009F908F907F906F905F904F90089521157F
+:10147000310539F48091C00085FFFCCF4093C60050
+:1014800008952A30310509F41CC05BCFCF93DF9358
+:10149000EC0120E030E04DE050E060E070E0E7DF9C
+:1014A00020E030E04AE050E060E070E0CE01DF9103
+:1014B000CF91DDCF9A01AB01662757FD6095762F5E
+:1014C000D6CFCF92DF92EF92FF92CF93DF93EC01D2
+:1014D0006A017B0177FF0FC020E030E04DE250E071
+:1014E00060E070E0C4DFF094E094D094C094C11C3C
+:1014F000D11CE11CF11C2AE0B701A601CE01DF914D
+:10150000CF91FF90EF90DF90CF901BCF2115310549
+:1015100039F48091C00085FFFCCF4093C600089548
+:1015200010CF9A01462F50E060E070E0EFCFCF93EC
+:10153000DF93EC019A01AB0160E070E0E7DFCE01E0
+:10154000DF91CF91A3CF8F929F92AF92BF92CF9214
+:10155000DF92EF92FF921F93CF93DF93EC016A012A
+:101560007B01122F20E030E0A901C701B6010E94E3
+:10157000A0AE87FF0CC020E030E04DE250E060E01C
+:1015800070E0CE0174DFF7FAF094F7F8F094B12C24
+:1015900060E070E080E09FE3B11641F020E030E0D1
+:1015A00040E251E40E94A7AEB394F6CF9B01AC0198
+:1015B000C701B6010E94C7AD6B017C010E9414AF48
+:1015C0004B015C010E9440AF9B01AC01C701B60119
+:1015D0000E94C6AD6B017C012AE0B501A401CE01D9
+:1015E000B0DE112361F0EFE5F3E08191882339F05B
+:1015F0009091C00095FFFCCF8093C600F6CF1123D9
+:1016000019F120E030E040E251E4C701B6010E9448
+:1016100075B16B017C010E940FAF4B01AA2497FCAE
+:10162000A094BA2CB501A401CE014BDFC501B401D1
+:101630000E9442AF9B01AC01C701B6010E94C6AD3A
+:101640006B017C011150DBCFDF91CF911F91FF9097
+:10165000EF90DF90CF90BF90AF909F908F900895C4
+:1016600072CFCF93DF931F92CDB7DEB7698341E08E
+:1016700050E0BE016F5F7F4F04960E9481160F906D
+:10168000DF91CF910895FB0101900020E9F7AF01B0
+:1016900041505109461B570B04960C9481168091BA
+:1016A000390E811109C08091380E811105C08091D9
+:1016B000370E811101C00895EFE2FEE08491882386
+:1016C00041F09091C00095FFFCCF8093C600319609
+:1016D000F5CFEFE6F4E18491882341F09091C000CA
+:1016E00095FFFCCF8093C6003196F5CF8091390EDF
+:1016F0008823F1F060913A0E70913B0E80913C0E80
+:1017000090913D0E0E9442AF2091A1133091A213FF
+:101710004091A3135091A4130E94A7AEAB01BC014A
+:101720008BE694E10E949C3D8BE594E10E9400765B
+:101730008091380E8823F1F060913E0E70913F0E3B
+:101740008091400E9091410E0E9442AF2091A513CE
+:101750003091A6134091A7135091A8130E94A7AEF1
+:10176000AB01BC0187E594E10E949C3D87E494E1D4
+:101770000E9400768091370E8823F1F06091420E2E
+:101780007091430E8091440E9091450E0E9442AF9D
+:101790002091A9133091AA134091AB135091AC132F
+:1017A0000E94A7AEAB01BC0183E494E10E949C3D82
+:1017B00083E394E10E9400768091C00085FFFCCF16
+:1017C0008AE08093C6001092390E1092380E109263
+:1017D000370E08951092390E1092380E1092370E6F
+:1017E000089580939B020895EFE6F0E08081826087
+:1017F000808308951F920F920FB60F9211240BB69B
+:101800000F920F931F932F933F934F935F936F9379
+:101810007F938F939F93AF93BF93EF93FF938091A9
+:101820006A0E90916B0E892B09F084C190916D0E18
+:1018300080916C0E981771F0E0916C0E8DE4E89F2A
+:10184000F0011124E259F14FDF01A45BBF4F81E0A9
+:101850008C9302C0E0E0F0E0F0936B0EE0936A0E30
+:10186000309709F461C1DF01A45BBF4F81E08C9325
+:1018700010924D0E10924E0E10924F0E1092500E6E
+:1018800060AD71AD61349CE9790728F461329EE462
+:10189000790748F002C060E47CE976956795769513
+:1018A000679584E007C0613197E2790730F076955B
+:1018B000679582E080934A0E07C080934A0E60329B
+:1018C000710510F460E270E060527109611588E002
+:1018D0007807D0F0872F9927880F991F880F991FB5
+:1018E0008258974EFC01329645915491AA27659FE4
+:1018F0009001649F210D3A1F06942A1F3A1F11245C
+:10190000FC01859194911DC0CB01969587958C7FA4
+:1019100082589B4EFC01459154910296FC018591A1
+:101920009491FB01E770FF278E9F90018F9F300DF0
+:101930009E9F300D1124E3E036952795EA95E1F757
+:10194000CA01821B930B8436910598F4EEEBF5E007
+:101950008191882339F09091C00095FFFCCF80934E
+:10196000C600F6CF4AE050E08CE99DE0E0DD84E679
+:1019700090E09093490E8093480E80914A0E9927EB
+:1019800087FD90959093470E8093460EE0916A0EE6
+:10199000F0916B0E64AD75AD70934C0E60934B0E71
+:1019A00061349CE9790728F461328EE4780748F0C5
+:1019B00002C060E47CE9769567957695679584E04A
+:1019C00007C0613197E2790730F07695679582E03C
+:1019D00080934A0E08C081E080934A0E6032710500
+:1019E00010F460E270E060527109611588E07807D8
+:1019F000E0F0872F9927880F991F880F991F825829
+:101A0000974EFC01329625913491AA27639FA0013D
+:101A1000629F410D5A1F06944A1F5A1F1124FC0150
+:101A200025913491241B350B1EC0CB0196958795CB
+:101A30008C7F82589B4EFC01259134910296FC01CB
+:101A400045915491FB01E770FF274E9FC0014F9FC6
+:101A5000900D5E9F900D1124F3E096958795FA9571
+:101A6000E1F7281B390B2436310598F4EEEBF5E04D
+:101A70008191882339F09091C00095FFFCCF80932D
+:101A8000C600F6CF4AE050E08CE99DE050DD24E648
+:101A900030E0C901A0E0B0E08093510E9093520E67
+:101AA000A093530EB093540E309389002093880076
+:101AB000E0916A0EF0916B0E80899189A289B389B9
+:101AC000B695A79597958795B095A0959095819592
+:101AD0009F4FAF4FBF4F8093650E9093660EA093BC
+:101AE000670EB093680E8093610E9093620EA09380
+:101AF000630EB093640E80935D0E90935E0EA09380
+:101B00005F0EB093600E8093590E90935A0EA0937F
+:101B10005B0EB0935C0E1092550E1092560E109202
+:101B2000570E1092580E06C080ED97E090938900F2
+:101B300080938800E0916A0EF0916B0E309709F463
+:101B400087C580A18093690E9FB780FF09C0F89474
+:101B500080910B018D7F80930B019FBF8FEF08C099
+:101B6000F89480910B01826080930B019FBF81E00C
+:101B7000809397028091690E9FB781FF09C0F89406
+:101B800080910B018E7F80930B019FBF8FEF08C068
+:101B9000F89480910B01816080930B019FBF81E0DD
+:101BA000809398022091690E30919B0220FF3BC0E8
+:101BB000332309F472C01E9902C080E031C08091C5
+:101BC000360E882361F1E0916A0EF0916B0E8081F0
+:101BD0009181A281B381181619061A061B06FCF41E
+:101BE0008091210E9091220EA091230EB091240E8F
+:101BF00080933A0E90933B0EA0933C0EB0933D0E13
+:101C000081E08093390E80899189A289B38980937C
+:101C1000550E9093560EA093570EB093580E81E038
+:101C20008093360E3AC03323C1F140B151E042FBFC
+:101C3000442740F9452779F18091350E882359F1E1
+:101C4000E0916A0EF0916B0E80819181A281B38147
+:101C5000181619061A061B06F4F48091210E9091AD
+:101C6000220EA091230EB091240E80933A0E9093F1
+:101C70003B0EA0933C0EB0933D0E5093390E8089DD
+:101C80009189A289B3898093550E9093560EA093A3
+:101C9000570EB093580E4093350E21FF3BC03323AF
+:101CA00009F471C01D9902C080E031C08091340EEA
+:101CB000882361F1E0916A0EF0916B0E8481958129
+:101CC000A681B781181619061A061B06FCF4809126
+:101CD000250E9091260EA091270EB091280E80938C
+:101CE0003E0E90933F0EA093400EB093410E81E0C4
+:101CF0008093380E80899189A289B3898093550E8B
+:101D00009093560EA093570EB093580E81E0809397
+:101D1000340E39C03323B9F130B141E0369531701A
+:101D2000342779F18091330E882359F1E0916A0EBE
+:101D3000F0916B0E84819581A681B78118161906E2
+:101D40001A061B06F4F48091250E9091260EA091A0
+:101D5000270EB091280E80933E0E90933F0EA093D5
+:101D6000400EB093410E4093380E80899189A2892C
+:101D7000B3898093550E9093560EA093570EB0934F
+:101D8000580E3093330E9FB722FF47C0F8948091CE
+:101D90000B018B7F80930B019FBF8FEF8093990284
+:101DA00080919B02882309F47DC01C9902C080E0C9
+:101DB00031C08091320E882361F1E0916A0EF0917A
+:101DC0006B0E80859185A285B385181619061A06B3
+:101DD0001B06FCF48091290E90912A0EA0912B0EE7
+:101DE000B0912C0E8093420E9093430EA093440E1C
+:101DF000B093450E81E08093370E80899189A28946
+:101E0000B3898093550E9093560EA093570EB093BE
+:101E1000580E81E08093320E45C0F89480910B01FA
+:101E2000846080930B019FBF31E0309399028091D1
+:101E30009B028823B9F126B12095221F2227221F59
+:101E400079F18091310E882359F1E0916A0EF09179
+:101E50006B0E80859185A285B385181619061A0622
+:101E60001B06F4F48091290E90912A0EA0912B0E5E
+:101E7000B0912C0E8093420E9093430EA093440E8B
+:101E8000B093450E3093370E80899189A289B3892A
+:101E90008093550E9093560EA093570EB093580E04
+:101EA0002093310E8091690E9FB783FF09C0F8948B
+:101EB00080910B01806480930B019FBF8FEF08C05E
+:101EC000F89480910B018F7B80930B019FBF81E081
+:101ED00080939A0220E080914A0E28170CF0ADC141
+:101EE0008091C00087FF19C03091C60040911D0E3F
+:101EF00050911E0ECA0101968F77992760911F0E8F
+:101F00007091200E8617970741F0FA01E356F24FC1
+:101F1000308390931E0E80931D0EE0916A0EF09117
+:101F20006B0E8091650E9091660EA091670EB09138
+:101F3000680E4081518162817381840F951FA61FB5
+:101F4000B71F8093650E9093660EA093670EB093B3
+:101F5000680E181619061A061B06CCF5409AE09171
+:101F60006A0EF0916B0E8091650E9091660EA091B5
+:101F7000670EB091680E4089518962897389841B0C
+:101F8000950BA60BB70B8093650E9093660EA093EE
+:101F9000670EB093680E409197028091210E909148
+:101FA000220EA091230EB091240E552747FD509587
+:101FB000652F752F840F951FA61FB71F8093210EC5
+:101FC0009093220EA093230EB093240E4098E0919C
+:101FD0006A0EF0916B0E8091610E9091620EA0914D
+:101FE000630EB091640E4481558166817781840FC0
+:101FF000951FA61FB71F8093610E9093620EA0934A
+:10200000630EB093640E181619061A061B06CCF55B
+:10201000419AE0916A0EF0916B0E8091610E909161
+:10202000620EA091630EB091640E4089518962895D
+:102030007389841B950BA60BB70B8093610E90934D
+:10204000620EA093630EB093640E4091980280914B
+:10205000250E9091260EA091270EB091280E55279F
+:1020600047FD5095652F752F840F951FA61FB71F2D
+:102070008093250E9093260EA093270EB093280EE2
+:102080004198E0916A0EF0916B0E80915D0E9091F7
+:102090005E0EA0915F0EB091600E40855185628505
+:1020A0007385840F951FA61FB71F80935D0E9093B5
+:1020B0005E0EA0935F0EB093600E181619061A06F6
+:1020C0001B06CCF5429AE0916A0EF0916B0E80915E
+:1020D0005D0E90915E0EA0915F0EB091600E4089F2
+:1020E000518962897389841B950BA60BB70B80936A
+:1020F0005D0E90935E0EA0935F0EB093600E4091C4
+:1021000099028091290E90912A0EA0912B0EB091E8
+:102110002C0E552747FD5095652F752F840F951F61
+:10212000A61FB71F8093290E90932A0EA0932B0E03
+:10213000B0932C0E4298E0916A0EF0916B0E809154
+:10214000590E90915A0EA0915B0EB0915C0E448591
+:10215000558566857785840F951FA61FB71F8093C9
+:10216000590E90935A0EA0935B0EB0935C0E181606
+:1021700019061A061B06CCF5439AE0916A0EF091F7
+:102180006B0E8091590E90915A0EA0915B0EB091FA
+:102190005C0E4089518962897389841B950BA60B5B
+:1021A000B70B8093590E90935A0EA0935B0EB09389
+:1021B0005C0E40919A0280912D0E90912E0EA0916E
+:1021C0002F0EB091300E552747FD5095652F752F76
+:1021D000840F951FA61FB71F80932D0E90932E0E70
+:1021E000A0932F0EB093300E43988091550E90918E
+:1021F000560EA091570EB091580E0196A11DB11D1B
+:102200008093550E9093560EA093570EB093580E90
+:102210004091550E5091560E6091570E7091580E88
+:10222000E0916A0EF0916B0E80899189A289B38941
+:10223000481759076A077B07B0F04091550E509137
+:10224000560E6091570E7091580EE0916A0EF09103
+:102250006B0E84899589A689B78984179507A60787
+:10226000B70718F4D9C02F5F36CE4091510E509168
+:10227000520E6091530E7091540E048D158D268D63
+:10228000378DAA27419FB12D529FC001629F900DAB
+:10229000619F800D911D429FB00D811D9A1F519F1E
+:1022A000B00D811D9A1F609FB00D811D9A1F509F18
+:1022B000B10D8A1F9A1FB6958A1F9A1F112444AD2B
+:1022C00055AD480F591F50934C0E40934B0E80ADA7
+:1022D00091ADA2ADB3AD60E070E084179507A6079D
+:1022E000B70720F490934C0E80934B0E60914B0EE9
+:1022F00070914C0E61349CE9790728F461328EE4C8
+:10230000780748F002C060E47CE976956795769599
+:10231000679584E007C0613197E2790730F07695E0
+:10232000679582E080934A0E08C081E080934A0E50
+:102330006032710510F460E270E06052710961155D
+:1023400088E07807E0F0872F9927880F991F880F7A
+:10235000991F8258974EFC01329625913491AA27F5
+:10236000639FA001629F410D5A1F06944A1F5A1F86
+:102370001124FC0125913491241B350B1EC0CB0187
+:10238000969587958C7F82589B4EFC0125913491C0
+:102390000296FC0145915491FB01E770FF274E9F87
+:1023A000C0014F9F900D5E9F900D112413E09695F4
+:1023B00087951A95E1F7281B390B2436310598F4D7
+:1023C000EEEBF5E08191882339F09091C00095FF04
+:1023D000FCCF8093C600F6CF4AE050E08CE99DE048
+:1023E000A6D824E630E030938900209388008091BD
+:1023F000510E9091520EA091530EB091540E820F37
+:10240000931FA11DB11D8093510E9093520EA09366
+:10241000530EB093540EF7C04091550E5091560E86
+:102420006091570E7091580E808D918DA28DB38D55
+:1024300084179507A607B70708F0D9C040914D0E3D
+:1024400050914E0E60914F0E7091500E048D158D6F
+:10245000268D378DAA27419FB12D529FC001629FC3
+:10246000900D619F800D911D429FB00D811D9A1F9F
+:10247000519FB00D811D9A1F609FB00D811D9A1F45
+:10248000509FB10D8A1F9A1FB6958A1F9A1F11245B
+:1024900020914B0E30914C0EE05CFF4F281739070E
+:1024A00018F42081318102C0281B390B8081918171
+:1024B000A281B381A90160E070E0481759076A075B
+:1024C0007B0708F49C0121349CE9390728F4213268
+:1024D0008EE4380748F002C020E43CE936952795A1
+:1024E0003695279584E007C0213197E2390730F00F
+:1024F0003695279582E080934A0E08C081E080934C
+:102500004A0E2032310510F420E230E0B901605269
+:102510007109611588E07807E0F0872F9927880F07
+:10252000991F880F991F8258974EFC01329625916A
+:102530003491AA27639FA001629F410D5A1F069400
+:102540004A1F5A1F1124FC0125913491241B350B7D
+:102550001EC0CB01969587958C7F82589B4EFC01BF
+:10256000259134910296FC0145915491FB01E7704D
+:10257000FF274E9FC0014F9F900D5E9F900D11242D
+:1025800043E0969587954A95E1F7281B390B243649
+:102590003105A0F4EEEBF5E08191882339F09091BC
+:1025A000C00095FFFCCF8093C600F6CF4AE050E014
+:1025B0008CE99DE00E94978A24E630E03093890000
+:1025C0002093880080914D0E90914E0EA0914F0E59
+:1025D000B091500E820F931FA11DB11D80934D0E1F
+:1025E00090934E0EA0934F0EB093500E0CC080915E
+:1025F000480E9091490E90938900809388008091B5
+:10260000460E80934A0E4091550E5091560E6091A1
+:10261000570E7091580EE0916A0EF0916B0E808902
+:102620009189A289B389481759076A077B0780F007
+:1026300010926B0E10926A0E90916D0E80916C0E3E
+:10264000981731F080916C0E8F5F8F7080936C0EB5
+:10265000FF91EF91BF91AF919F918F917F916F917A
+:102660005F914F913F912F911F910F910F900BBE52
+:102670000F900FBE0F901F90189590916D0E809146
+:102680006C0E981741F00E94721E80E00E9438493B
+:102690000E949C76F2CF0895CF93DF93EFB7F89422
+:1026A000EC0188819981AA81BB818093210E90934E
+:1026B000220EA093230EB093240EEB018881998102
+:1026C000AA81BB818093250E9093260EA093270E9E
+:1026D000B093280EEA0188819981AA81BB818093F9
+:1026E000290E90932A0EA0932B0EB0932C0EE90185
+:1026F00088819981AA81BB8180932D0E90932E0EA3
+:10270000A0932F0EB093300EEFBFDF91CF910895BD
+:102710002FB7F894FC0180819181A281B3818093CD
+:102720002D0E90932E0EA0932F0EB093300E2FBF30
+:1027300008952FB7F89494E0899FF0011124EF5D7C
+:10274000F14F60817181828193812FBF089595DF60
+:10275000179A1092350A169A1092360A159A109204
+:10276000370A149A089580916F008D7F80936F00CF
+:1027700090916D0E80916C0E981769F090916D0E8E
+:1027800080916C0E9817A1F380916C0E8F5F8F7003
+:1027900080936C0EEDCF10926B0E10926A0E8091AA
+:1027A0006F00826080936F000895813039F120F0CE
+:1027B000823009F445C0089517988091090182700C
+:1027C0002FB7662329F0F89490910B01926004C012
+:1027D000F89490910B019D7F90930B012FBF409A2D
+:1027E00040989FB7882329F0F89480910B0182606C
+:1027F00048C0F89480910B018D7F43C0169880915A
+:10280000090181702FB7662329F0F89490910B018C
+:10281000916004C0F89490910B019E7F90930B01FE
+:102820002FBF419A41989FB7882329F0F89480914F
+:102830000B01816026C0F89480910B018E7F21C02E
+:1028400015988091090184702FB7662329F0F894B8
+:1028500090910B01946004C0F89490910B019B7FC0
+:1028600090930B012FBF429A42989FB7882329F07B
+:10287000F89480910B01846004C0F89480910B015E
+:102880008B7F80930B019FBF0895DB0181110DC0E9
+:102890002FEF30E00E94C2B220ED37E040E050E080
+:1028A0000E94A0B2B9018CE21DC0813069F42FEF03
+:1028B00030E00E94C2B220ED37E040E050E00E94DC
+:1028C000A0B2B9018DE20EC0823071F42FEF30E07A
+:1028D0000E94C2B220ED37E040E050E00E94A0B27A
+:1028E000B9018EE20C9447A7089561E08CE20E9442
+:1028F00051A861E08DE20E9451A861E08EE20E9441
+:1029000051A860919C0270919D0280E0BEDF6091B1
+:102910009E0270919F0281E0B8DFA091A002B09169
+:10292000A1022FEF30E00E94C2B220ED37E040E07C
+:1029300050E00E94A0B2B9018EE20E9447A7E1E2F6
+:10294000F1E08081887F816080830895CF93C42FD8
+:1029500067FD20C0813061F028F0823079F083304B
+:1029600099F018C088E20E948AA8C7FF1DC02AC03B
+:1029700085E40E948AA8C7FF1AC024C084E40E948C
+:102980008AA8C7FF17C01EC081E40E948AA8C7FF9B
+:1029900014C018C0C7FD16C0813049F028F082303D
+:1029A00049F0833051F00EC06C2F89E208C06C2FC3
+:1029B00087E205C06C2F83E402C06C2F82E4CF91C4
+:1029C0000C948AA8CF910895643079F028F461308E
+:1029D00041F0623041F00895683051F0603141F0CB
+:1029E000089540E003C040E004C041E060E002C060
+:1029F00041E061E0ABCFFF920F931F93CF93DF9342
+:102A000000D01F921F92CDB7DEB785E0EFE1F3E073
+:102A1000DE01119601900D928A95E1F761E088E25E
+:102A20000E9451A861E089E20E9451A861E085E41A
+:102A30000E9451A861E087E20E9451A861E084E40D
+:102A40000E9451A861E083E40E9451A861E081E402
+:102A50000E9451A861E082E40E9451A88E010F5F9C
+:102A60001F4FF12CF80161918F018F2DADDFF39491
+:102A7000F5E0FF12F7CF0F900F900F900F900F908F
+:102A8000DF91CF911F910F91FF9008952EDFB3DF5B
+:102A9000EAE0F1E0808182608083808181608083D0
+:102AA0008081846080838081806480830F9A179AFC
+:102AB0000E9A169A0D9A159A0C9A149A26982E9A8E
+:102AC00025982D9A24982C9A0A98129A0998119A66
+:102AD0003F98479A389A4098179A1092350A399A2F
+:102AE0004198169A1092360A3A9A4298159A10927C
+:102AF000370A3B9A4398149AA1E8B0E08C918F7EF4
+:102B00008C938C9188608C93E0E8F0E080818D7FDD
+:102B1000808380818E7F808380818F73808380819A
+:102B20008F7C80838C91887F82608C9380E090E49E
+:102B30009093890080938800109285001092840001
+:102B4000EFE6F0E080818260808381E080939B02E9
+:102B500078940895E5E2F4E18491882341F090911E
+:102B6000C00095FFFCCF8093C6003196F5CFE1E21F
+:102B7000F4E18491882341F09091C00095FFFCCF4F
+:102B80008093C6003196F5CF88E20E94BFA84AE044
+:102B900050E0BC018CE99DE00E945A8A89E20E94C3
+:102BA000BFA84AE050E0BC018CE99DE00E945A8A2F
+:102BB0008091C00085FFFCCF8AE08093C600EDE1E4
+:102BC000F4E18491882341F09091C00095FFFCCFFF
+:102BD0008093C6003196F5CF85E40E94BFA84AE0F5
+:102BE00050E0BC018CE99DE00E945A8A87E20E9475
+:102BF000BFA84AE050E0BC018CE99DE00E945A8ADF
+:102C00008091C00085FFFCCF8AE08093C600E9E197
+:102C1000F4E18491882341F09091C00095FFFCCFAE
+:102C20008093C6003196F5CF84E40E94BFA84AE0A5
+:102C300050E0BC018CE99DE00E945A8A83E40E9426
+:102C4000BFA84AE050E0BC018CE99DE00E945A8A8E
+:102C50008091C00085FFFCCF8AE08093C600E4E14C
+:102C6000F4E18491882341F09091C00095FFFCCF5E
+:102C70008093C6003196F5CF81E40E94BFA84AE058
+:102C800050E0BC018CE99DE00E945A8A82E40E94D7
+:102C9000BFA84AE050E0BC018CE99DE00E945A8A3E
+:102CA0008091C00085FFFCCF8AE08093C600089524
+:102CB000CF93DF931F92CDB7DEB72091B714309139
+:102CC000B814CE0101962115310519F0821B930B22
+:102CD00002C08D5B94410F90DF91CF9108952F92A8
+:102CE0003F924F925F926F927F928F929F92AF929C
+:102CF000BF92CF92DF92EF92FF920F931F93CF93E9
+:102D0000DF93CDB7DEB768970FB6F894DEBF0FBE7E
+:102D1000CDBF1C012A013B0148015901DC01D896B5
+:102D20006D917D918D919C91DB970E9440AF6B01DD
+:102D30007C01A30192010E9475B10E948DAE0E9498
+:102D400014AF69877A878B879C87A5019401C70197
+:102D5000B6010E9475B10E948DAE0E9414AF6D87BE
+:102D60007E878F87988B29853A854B855C852837A8
+:102D700031054105510540F488E790E0A0E0B0E05E
+:102D800089879A87AB87BC872D853E854F85588973
+:102D9000283731054105510540F488E790E0A0E06F
+:102DA000B0E08D879E87AF87B88B91012C5B3F4F3A
+:102DB000D9018D919D910D90BC91A02D8D839E8305
+:102DC000AF83B887BC01CD010E9442AF69837A838B
+:102DD0008B839C8369857A858B859C850E9440AF17
+:102DE000698B7A8B8B8B9C8B20E030E0A901698109
+:102DF0007A818B819C810E94A0AE882339F1A70142
+:102E00009601C701B6010E9475B14B015C01298989
+:102E10003A894B895C89CA01B9010E9475B19B014D
+:102E2000AC01C501B4010E94C6AD4B015C01298112
+:102E30003A814B815C81CA01B9010E94C7AD9B01F7
+:102E4000AC01C501B4010E94A7AE03C060E070E010
+:102E5000CB010E948DAE0E940FAF2B013C016D8112
+:102E60007E818F81988590958095709561957F4F33
+:102E70008F4F9F4F0E9442AF4B015C016D857E8555
+:102E80008F8598890E9440AF6D837E838F8398875A
+:102E900020E030E0A901C501B4010E94A0AE882362
+:102EA00049F12D813E814F815885CA01B9010E94A7
+:102EB00075B16D8B7E8B8F8B988FA7019601C701A3
+:102EC000B6010E9475B19B01AC016D897E898F8925
+:102ED000988D0E94C6AD6B017C01A5019401C501CE
+:102EE000B4010E94C7AD9B01AC01C701B6010E94AD
+:102EF000A7AE03C060E070E0CB010E947DAFF1019E
+:102F000080889188A288B38875016401C418D508A7
+:102F1000E608F7080E940FAFC61AD70AE80AF90AAE
+:102F2000F7FE6BC020E030E0A90169817A818B81D6
+:102F30009C810E94A0AE882309F447C029813A8170
+:102F40004B815C81CA01B9010E94C7AD6B017C0154
+:102F5000C501B4010E9440AF9B01AC01C701B6019D
+:102F60000E9475B16B017C0129893A894B895C8982
+:102F7000CA01B9010E9475B19B01AC01C701B6013C
+:102F80000E94C6AD6B017C012D813E814F81588529
+:102F9000CA01B9010E9475B19B01AC01C701B6011C
+:102FA0000E94C7AD6B017C0120E030E040E850E4B6
+:102FB00069817A818B819C810E9475B19B01AC01F2
+:102FC000C701B6010E94A7AE03C060E070E0CB016C
+:102FD0000E948DAE0E940FAF2B013C0197FF03C0F2
+:102FE000412C512C3201481459046A047B0410F01E
+:102FF00024013501C12CD12C76018FB7F894F10151
+:10300000E45BFF4F9081911125C0D10154964D9200
+:103010005D926D927C925797C40CD51CE61CF71CF0
+:10302000F101C08ED18EE28EF38E29853A854B85D3
+:103030005C85DC962D933D934D935C93DF97A05C6C
+:10304000BF4F2D853E854F8558892D933D934D93D8
+:103050005C9313978FBF68960FB6F894DEBF0FBED0
+:10306000CDBFDF91CF911F910F91FF90EF90DF9037
+:10307000CF90BF90AF909F908F907F906F905F9018
+:103080004F903F902F9008954F925F926F927F9252
+:10309000AF92BF92CF92DF92EF92FF920F931F9366
+:1030A000CF93DF93EB017A01209709F458C04115C3
+:1030B000510509F454C0AAA4BBA40CA51DA59501F3
+:1030C000A8016EA17FA188A599A50E94A0AE882322
+:1030D00009F445C08FA981113AC0F70146A057A055
+:1030E00060A471A4A3019201B501C8010E94A3B01C
+:1030F00018166CF5A3019201C301B2010E9475B1CB
+:103100006B017C018AA99BA9ACA9BDA9BC01CD0119
+:1031100090589B01AC010E94C7AD2EA53FA548A9C0
+:1031200059A90E9475B19B01AC01C701B6010E946B
+:10313000C6AD0E94E2B16B017C019B01AC01B501FF
+:10314000C8010E94A0AE87FD02C056018701A501FB
+:10315000B8014EA35FA368A779A781E08EABDF918A
+:10316000CF911F910F91FF90EF90DF90CF90BF9084
+:10317000AF907F906F905F904F900895DF92EF92A5
+:10318000FF920F931F93CF93DF9380916D0E8FB7B4
+:10319000F894E0906C0E8FBF80916D0E90E08E19C8
+:1031A00091098F7099270497F4F010916D0E1350C8
+:1031B0001F7040E050E000E0F12C8DE4D82E1E1589
+:1031C00091F0111101C010E11150D19EE0011124C4
+:1031D000C259D14F602F7F2DCE0156DF402F5F2D7A
+:1031E0000C2FFD2EECCFDF91CF911F910F91FF900F
+:1031F000EF90DF9008954F925F926F927F92AF921F
+:10320000BF92CF92DF92EF92FF920F931F93CF93D3
+:10321000DF938C01EB01009709F453C0FC0187A9EF
+:1032200081114FC046A057A060A471A4AEA0BFA05A
+:10323000C8A4D9A49501A601C301B2010E94A0AE01
+:1032400087FF3FC0A3019201C301B2010E9475B183
+:103250002B013C01F80182A993A9A4A9B5A9BC013D
+:10326000CD0190589B01AC010E94C7ADF80126A585
+:1032700037A540A951A90E9475B19B01AC01C301BA
+:10328000B2010E94C6AD0E94E2B17B018C019B019C
+:10329000AC01B501C6010E94A0AE87FF02C0750156
+:1032A00086019701A801B501C6010E94A0AE88233E
+:1032B00041F0A701B8014EA35FA368A779A781E0F9
+:1032C0008EABDF91CF911F910F91FF90EF90DF9028
+:1032D000CF90BF90AF907F906F905F904F90089588
+:1032E000EF92FF920F931F93CF93DF93F0906C0EAA
+:1032F00000E010E080E090E02DE4E22E20916D0EE1
+:10330000F21689F0EF9CE0011124C259D14FAE01B1
+:10331000B80171DF81E08F0D803109F480E0F82E73
+:10332000C8018E01EBCF40E050E0B801DF91CF91B2
+:103330001F910F91FF90EF905ECF4F925F926F922F
+:103340007F928F929F92AF92BF92CF92DF92EF9235
+:10335000FF920F931F93CF93DF9390906C0EC0E07A
+:10336000D0E03DE4832E892D992787FD909520910B
+:103370006D0E30E082179307B9F1889E5001899E47
+:10338000B00C1124C5018259914F5C01209729F19D
+:103390008EA9811104C0F50186A98823F1F0CAA085
+:1033A000DBA0ECA0FDA0A7019601F50166A177A125
+:1033B00080A591A50E94A7AE2B013C01A701960113
+:1033C0006EA17FA188A599A50E94A7AEAB01BC0103
+:1033D00093018201CE0183DC1EAA9394F0E19F1237
+:1033E00001C0912CE501BFCF2097E9F0CAA0DBA076
+:1033F000ECA0FDA0A70196016DEC7CEC8CE49DE3B4
+:103400000E94A7AE4B015C01A70196016EA17FA1AE
+:1034100088A599A50E94A7AEAB01BC0195018401C6
+:10342000CE015DDC1EAADF91CF911F910F91FF901D
+:10343000EF90DF90CF90BF90AF909F908F907F9054
+:103440006F905F904F90089599DE4ADF76CF10928B
+:103450006D0E10926C0E80E1E5E5F3E1DF011D9247
+:103460008A95E9F71092451310924613109247136C
+:10347000109248131092491310924A1310924B1352
+:1034800010924C1310924D1310924E1310924F1332
+:103490001092501310925113109252131092531312
+:1034A000109254131092411310924213109243132E
+:1034B00010924413089560912E0A90916C0E8091A1
+:1034C0006D0E981781F080916C0E9DE4899FF0013C
+:1034D0001124EA54F14F608190916D0E891719F013
+:1034E0008F5F8F70F9CF70E088E00C9447A72F9220
+:1034F0003F924F925F926F927F928F929F92AF9284
+:10350000BF92CF92DF92EF92FF920F931F93CF93D0
+:10351000DF93CDB7DEB7CC56D1090FB6F894DEBF36
+:103520000FBECDBF3C015B014A012901E8A6F8AE00
+:1035300025960FAF25971CAF860120916D0E2F5F4A
+:1035400029962FAF2997203119F429961FAE299774
+:1035500029963FAD2997E32EFF24E7FCF094809154
+:103560006C0E90E08E159F0541F40E94721E80E063
+:103570000E9438490E949C76F2CF2091A11330918D
+:10358000A2134091A3135091A413D3016D917D9187
+:103590008D919C910E9475B10E9445B169966CAF66
+:1035A0007DAF8EAF9FAF69972091A5133091A61381
+:1035B0004091A7135091A813F50160817181828118
+:1035C00093810E9475B10E9445B16D966CAF7DAF3D
+:1035D0008EAF9FAF6D972091A9133091AA134091A0
+:1035E000AB135091AC13D4016D917D918D919C9151
+:1035F0000E9475B10E9445B1A1966CAF7DAF8EAFB0
+:103600009FAFA1972091AD133091AE134091AF13AE
+:103610005091B013F20160817181828193810E9487
+:1036200075B10E9445B124966CAF7DAF8EAF9FAF50
+:1036300024978091611390916213A0916313B091CC
+:10364000641324962CAD3DAD4EAD5FAD2497281785
+:1036500039074A075B0709F4ADC0E091300A34E04E
+:10366000E39FF0011124E05CF74F2091A20230911A
+:10367000A3024091A4025091A502608171818281D0
+:1036800093810E94A0AE87FF2FC024968CAD9DAD84
+:10369000AEADBFAD24978093611390936213A09356
+:1036A0006313B0936413EFE2FEE08491882341F04A
+:1036B0009091C00095FFFCCF8093C6003196F5CF66
+:1036C000ECE9FCE18491882341F09091C00095FFE2
+:1036D000FCCF8093C6003196F5CF8091C00085FF66
+:1036E000FCCF8AE08093C6008091611390916213B1
+:1036F000A0916313B091641324962CAD3DAD4EADF3
+:103700005FAD2497281B390B4A0B5B0BCA01B9012B
+:1037100057FF07C090958095709561957F4F8F4FAB
+:103720009F4F0E9442AF6B017C0120E030E04EECE5
+:1037300053E46091AD137091AE138091AF139091EB
+:10374000B0130E9475B19B01AC01C701B6010E9484
+:10375000A3B018167CF524968CAD9DADAEADBFAD73
+:1037600024978093611390936213A0936313B09393
+:103770006413EFE2FEE08491882341F09091C00051
+:1037800095FFFCCF8093C6003196F5CFEEE7FCE1C4
+:103790008491882341F09091C00095FFFCCF8093E5
+:1037A000C6003196F5CF8091C00085FFFCCF8AE03E
+:1037B0008093C60080916D0E9DE4899F10011124B5
+:1037C000D101A259B14F1D01FD01E45BFF4F1082F1
+:1037D000209155133091561340915713509158131F
+:1037E0002BA33CA34DA35EA369964CAC5DAC6EAC21
+:1037F0007FAC6997421A530A640A750A77FE08C0BB
+:103800007094609450944094411C511C611C711C34
+:10381000D1014D925D926D927C9213972091591334
+:1038200030915A1340915B1350915C132CAB3DAB1C
+:103830004EAB5FAB6D968CAC9DACAEACBFAC6D9738
+:10384000821A930AA40AB50AB7FE08C0B094A094DD
+:1038500090948094811C911CA11CB11CD1011496E0
+:103860008D929D92AD92BC92179720915D133091ED
+:103870005E1340915F13509160132CA73DA74EA794
+:103880005FA7A196CCACDDACEEACFFACA197C21AA1
+:10389000D30AE40AF50AF7FE08C0F094E094D09445
+:1038A000C094C11CD11CE11CF11CD1011896CD9211
+:1038B000DD92ED92FC921B9720916113309162137F
+:1038C000409163135091641328AB39AB4AAB5BABA7
+:1038D00024966CAD7DAD8EAD9FAD2497621B730BAE
+:1038E000840B950B97FF07C0909580957095619517
+:1038F0007F4F8F4F9F4F0E9442AFE091300A34E0DC
+:10390000E39FF0011124E15BFD4F20813181428171
+:1039100053810E9475B10E940FAF9B01AC01A09131
+:103920005B02B0915C020E94D2B224E630E040E03B
+:1039300050E00E94A0B2D1011C962D933D934D936F
+:103940005C931F97C814D904EA04FB0414F47501AE
+:103950006401C216D306E406F50614F469017A017F
+:10396000D301C2014C145D046E047F0414F4D7012A
+:10397000C601F101808B918BA28BB38B0697A105B9
+:10398000B10508F461C7E85BFF4F80912E0A909162
+:103990002F0AAA2797FDA095BA2F80839183A2832F
+:1039A000B38369962CAD3DAD4EAD5FAD69978BA1EC
+:1039B0009CA1ADA1BEA1281739074A075B0724F0D7
+:1039C000D10190961C9203C081E0F10180A36D9615
+:1039D0002CAD3DAD4EAD5FAD6D978CA99DA9AEA947
+:1039E000BFA9281739074A075B073CF4D101909615
+:1039F0008C919097826090968C93A1962CAD3DAD62
+:103A00004EAD5FADA1978CA59DA5AEA5BFA528170E
+:103A100039074A075B073CF4D10190968C91909747
+:103A2000846090968C9324962CAD3DAD4EAD5FADE9
+:103A3000249788A999A9AAA9BBA9281739074A07D1
+:103A40005B073CF4D10190968C919097886090969A
+:103A50008C93F8018081D10191968C93452846285A
+:103A6000472809F01798F10184819581A681B781D3
+:103A7000892B8A2B8B2B09F01698F1018085918573
+:103A8000A285B385892B8A2B8B2B09F01598F10120
+:103A900084859585A685B785892B8A2B8B2B69F123
+:103AA00080913E13882319F0815080933E138091BA
+:103AB0003F13882319F0815080933F138091401366
+:103AC000882319F0815080934013D8018C91813064
+:103AD00061F030F0823089F480E28093401308C0B6
+:103AE000149880E280933E1308C080E280933F13D5
+:103AF00080913E13811101C0149AD1011C962D9121
+:103B00003D914D915C911F972D962CAF3DAF4EAFDF
+:103B10005FAF2D97232B242B252B09F5B09175131F
+:103B2000BBA3E0917613EFA3109177130091781364
+:103B30002B2F3E2F412F502F68A578AD25968FADA6
+:103B400025979CAD0E94A0AE87FD16C0F8A5FBA3EB
+:103B500028AD2FA325961FAD25970CAD0DC0309134
+:103B60008D133BA340918E134FA310918F1300919F
+:103B70009013232F342FDECF80915513909156133D
+:103B8000A0915713B091581369962CAD3DAD4EAD31
+:103B90005FAD6997281B390B4A0B5B0BCA01B90152
+:103BA0000E9442AF2091A1133091A2134091A31320
+:103BB0005091A4130E94A7AE68A779A78AA79BA7D4
+:103BC000698B7A8B8B8B9C8B6D966CAD7DAD8EAD3E
+:103BD0009FAD6D972CA93DA94EA95FA9621B730BE0
+:103BE000840B950B0E9442AF2091A5133091A61330
+:103BF0004091A7135091A8130E94A7AE4B015C01FE
+:103C00006D8B7E8B8F8B988FA1966CAD7DAD8EADBD
+:103C10009FADA1972CA53DA54EA55FA5621B730B7B
+:103C2000840B950B0E9442AF2091A9133091AA13E7
+:103C30004091AB135091AC130E94A7AE6B017C0175
+:103C4000698F7A8F8B8F9C8F24966CAD7DAD8EADF6
+:103C50009FAD249728A939A94AA95BA9621B730BB8
+:103C6000840B950B0E9442AF2091AD133091AE139F
+:103C70004091AF135091B0130E94A7AEE091300A6B
+:103C800034E0E39FF0011124E15BFD4F208131819D
+:103C9000428153810E9475B12B013C0160915B020E
+:103CA00070915C02882777FD8095982F0E9442AF23
+:103CB0009B01AC01C301B2010E9475B120E030E06C
+:103CC00048EC52E40E94A7AE6D8F7E8F8F8F98A331
+:103CD000D1012D913D914D915C91139728AF39AF52
+:103CE0004AAF5BAF263031054105510504F5149606
+:103CF0004D905D906D907C901797B6E04B165104F7
+:103D000061047104A4F4F1014084518462847384D9
+:103D1000F6E04F165104610471044CF4DC01CB0150
+:103D2000BF77F10186A797A7A0ABB1AB27C068A565
+:103D300079A58AA59BA50E9420B22B013C01C50153
+:103D4000B4010E9420B29B01AC01C301B2010E94E8
+:103D5000C7AD4B015C01C701B6010E9420B29B01B7
+:103D6000AC01C501B4010E94C7AD0E94E2B1D1010E
+:103D70009E966D937D938D939C93D197D1019E9642
+:103D80002D913D914D915C91D19728962CAF3DAFEF
+:103D90004EAF5FAF289760E070E080E89FE30E943D
+:103DA000A7AE9B01AC016BA17FA1812F902F0E9438
+:103DB00075B12B013C0190916D0E80916C0EE92F35
+:103DC000F0E0E81BF109EF70FF27FDABECABA301BE
+:103DD000920160E074E284E799E40E94A7AE0E9439
+:103DE00045B16B017C012CA93DA9223031050CF4B1
+:103DF00042C04901AA2497FCA094BA2CC501B40181
+:103E00000E9442AF20E030E040E051E40E94A0AECA
+:103E100087FF31C08091C1139091C213A091C31349
+:103E2000B091C413C816D906EA06FB0620F5BC01FA
+:103E3000CD016C197D098E099F09660F771F881FB8
+:103E4000991FA50194010E947EB2CA01B9010E9486
+:103E500040AF0E9445B16C0D7D1D8E1D9F1D0E94BF
+:103E600040AF9B01AC0160E074E284E799E40E94FA
+:103E7000A7AE2B013C01A301920128966CAD7DAD4C
+:103E80008EAD9FAD28970E9475B16CAF7DAF8EAFA0
+:103E90009FAFD10192966D937D938D939C9395974F
+:103EA00050966D917D918D919C9153970E9440AF5A
+:103EB0006BA37CA38DA39EA3A30192010E9475B165
+:103EC0000E948DAE0E9414AF6B017C01F10160AFC6
+:103ED00071AF82AF93AF8E010F5E1F4F21EB33E1C5
+:103EE00065963FAF2EAF6597AE014F5D5F4F5AA30A
+:103EF00049A3CE01019663969FAF8EAF63971FA231
+:103F00001CA690E898ABAFE3A8A7F8016191719166
+:103F1000819191918F01A30192010E9475B16396E5
+:103F2000AEADBFAD63976D937D938D939D93639677
+:103F3000BFAFAEAF63979B01AC015F7761962CAFCB
+:103F40003DAF4EAF5FAF61976596AEADBFAD6597C4
+:103F50008D909D90AD90BD906596BFAFAEAF6597CB
+:103F6000A501940161966CAD7DAD8EAD9FAD61975D
+:103F70000E94A3B01816F4F461962CAD3DAD4EAD81
+:103F80005FAD6197C501B4010E94A7AEB62EA72E02
+:103F9000982E892E262F372F482F592F6FA17CA5B9
+:103FA00088A998A50E94A0AE87FD04C0BFA2ACA6B8
+:103FB00098AA88A6E9A1FAA10E171F0709F0A5CFB4
+:103FC00020E030E040E85FE36FA17CA588A998A5D8
+:103FD0000E94A0AE87FF3DC05E01F1E1AF0EB11CB3
+:103FE0008E010F5F1F4F2FA13CA548A958A5D801EE
+:103FF0006D917D918D919C910E9475B1F8016193B5
+:104000007193819391938F01EA15FB0561F72FA1BD
+:104010003CA548A958A56CAD7DAD8EAD9FAD0E9465
+:1040200075B1D10192966D937D938D939C939597E5
+:10403000C701B6010E9440AF2FA13CA548A958A5D1
+:104040000E9475B10E9414AFF10160AF71AF82AFF1
+:1040500093AF28962CAD3DAD4EAD5FAD28976BA1CB
+:104060007CA18DA19EA10E94A7AE6B017C0128AD11
+:1040700039AD4AAD5BAD232B242B252B59F5F1012E
+:1040800084819581A681B781892B8A2B8B2B11F591
+:1040900080859185A285B385892B8A2B8B2BD1F4C2
+:1040A0002091851330918613409187135091881386
+:1040B000C701B6010E9475B10E948DAE81010C5BF3
+:1040C0001F4F0E9414AFD8016D937D938D939C93E5
+:1040D0001397F6C02091891330918A1340918B1366
+:1040E00050918C13C701B6010E9475B10E948DAE2C
+:1040F0000E9414AF81010C5B1F4FF8016083718334
+:104100008283938340906513509066136090671389
+:10411000709068130E9440AF4B015C0168AD79ADAF
+:104120008AAD9BAD0E9442AF9B01AC01C501B401B9
+:104130000E9475B12BA13CA14DA15EA10E94A7AE2A
+:104140004B015C01C301B2010E9440AF9B01AC0175
+:10415000C501B4010E94A3B0181634F4D8014D92E1
+:104160005D926D927C9213974090691350906A1300
+:1041700060906B1370906C13F80160817181828183
+:1041800093810E9440AF4B015C01D10114966D9167
+:104190007D918D919C9117970E9442AF9B01AC013C
+:1041A000C501B4010E9475B12BA13CA14DA15EA136
+:1041B0000E94A7AE4B015C01C301B2010E9440AF57
+:1041C0009B01AC01C501B4010E94A3B018162CF4E8
+:1041D000F801408251826282738240907113509044
+:1041E0007213609073137090741381010C5B1F4FF6
+:1041F000D8016D917D918D919C910E9440AF4B01B2
+:104200005C012D966CAD7DAD8EAD9FAD2D970E945E
+:1042100042AF9B01AC01C501B4010E9475B12BA155
+:104220003CA14DA15EA10E94A7AE4B015C01C30160
+:10423000B2010E9440AF9B01AC01C501B4010E94D4
+:10424000A3B018162CF4F801408251826282738266
+:1042500040906D1350906E1360906F1370907013B8
+:10426000D8016D917D918D919C910E9440AF4B0141
+:104270005C01F10160857185828593850E9442AF62
+:104280009B01AC01C501B4010E9475B12BA13CA1F9
+:104290004DA15EA10E94A7AE4B015C01C301B2011A
+:1042A0000E9440AF9B01AC01C501B4010E94A3B0C4
+:1042B000181634F4D8014D925D926D927C9213974A
+:1042C000F101EC5BFF4F60817181828193810E94DB
+:1042D00040AF4B015C01A70196010E94A7AEA596D5
+:1042E0006CAF7DAF8EAF9FAFA597F10162AB73ABA3
+:1042F00084AB95AB2DEB37E346E051E4C501B40147
+:104300000E9475B10E940FAFD1015C966D937D93B1
+:104310008D939C935F97C0908113D0908213E0900F
+:104320008313F090841320E030E040E05FE3C701A6
+:10433000B6010E9475B16BA37FA38C0129853A85D4
+:104340004B855C85A9962CAF3DAF4EAF5FAFA9976B
+:1043500080917D1390917E13A0917F13B091801373
+:104360008CAF9DAFAEAFBFAF20E030E040E05FE389
+:10437000BC01CD010E9475B1B62EA72E982E892EB4
+:10438000A9966CAD7DAD8EAD9FADA9979F772B2D76
+:104390003A2D492D582D0E94A3B018167CF42B2DD0
+:1043A0003A2D492D582D6BA17FA1C8010E94A0AEC6
+:1043B00087FD04C0BBA2AFA2092D182D2D853E8517
+:1043C0004F855889AD962CAF3DAF4EAF5FAFAD97DF
+:1043D0008091791390917A13A0917B13B0917C1303
+:1043E0002D968CAF9DAFAEAFBFAF2D9720E030E0E4
+:1043F00040E05FE3BC01CD010E9475B1B62EA72E4F
+:10440000982E892EAD966CAD7DAD8EAD9FADAD97DE
+:104410009F772B2D3A2D492D582D0E94A3B01816A9
+:104420007CF42B2D3A2D492D582D6BA17FA1C8016D
+:104430000E94A0AE87FD04C0BBA2AFA2092D182D1B
+:10444000D1019296BC91BCA7F101F3A1F8ABD101C7
+:104450009496BC91B8A7F101F5A1F8AF2CA538A9A5
+:104460004B2F5F2F6BA17FA1C8010E94A0AE87FDDB
+:1044700006C02CA52BA338A93FA308A518AD4CA9AD
+:104480005DA9423051050CF405C1509141135CAB5C
+:10449000809142132E968FAF2E9790914313629680
+:1044A0009FAF6297A09144136496AFAF649727E1E2
+:1044B00037EB41ED58E36CA9782F892F9A2F0E9492
+:1044C000A3B018160CF0E6C02091451330914613A6
+:1044D000409147135091481369817A818B819C8167
+:1044E0000E94C6AD2B013C012091491330914A1323
+:1044F00040914B1350914C136D817E818F81988533
+:104500000E94C6AD4B015C01A3019201C301B2013F
+:104510000E9475B12B013C01A5019401C501B401B4
+:104520000E9475B19B01AC01C301B2010E94C7ADED
+:104530000E94E2B14B015C01A70196010E94A3B069
+:1045400018164CF4A5019401C701B6010E94A7AE4C
+:104550005B014C0106C0A12CB12C40E8842E5FE326
+:10456000952E20914D1330914E1340914F13509141
+:104570005013A9966CAD7DAD8EAD9FADA9970E94ED
+:10458000C6AD6B017C01E894F7F82CAD3DAD4EADA6
+:104590005FADC701B6010E94A3B01816D4F4A701FD
+:1045A00096016CAD7DAD8EAD9FAD0E94A7AEF62E8F
+:1045B000E72ED82EC92E262F372F482F592FB50179
+:1045C000C4010E94A0AE87FD04C0AF2CBE2C8D2C70
+:1045D0009C2C2091511330915213409153135091C0
+:1045E0005413AD966CAD7DAD8EAD9FADAD970E9471
+:1045F000C6AD6B017C01E894F7F82D962CAD3DAD6E
+:104600004EAD5FAD2D97C701B6010E94A3B018163D
+:10461000E4F4A70196012D966CAD7DAD8EAD9FADF6
+:104620002D970E94A7AEF62EE72ED82EC92E262F44
+:10463000372F482F592FB501C4010E94A0AE87FD26
+:1046400004C0AF2CBE2C8D2C9C2C9501A4016CA514
+:1046500078A988A598AD0E9475B14B015C019B01BA
+:10466000AC016CA92E967FAD2E9762968FAD6297A6
+:1046700064969FAD64970E94A0AE87FF0EC08CA881
+:104680002E969FAC2E976296AFAC62976496BFACA5
+:10469000649703C08BA09FA05801C401D501F1010C
+:1046A00082A793A7A4A7B5A7A5966CAD7DAD8EAD47
+:1046B0009FADA59790589B01AC010E94C7AD28966D
+:1046C0002CAD3DAD4EAD5FAD28970E9475B19B01FD
+:1046D000AC016BE077ED83E29BE30E94C6AD0E94E4
+:1046E000E2B17B01D82EC92E9B01482F592FB4016E
+:1046F000C5010E94A0AE87FD03C04701AD2CBC2CB4
+:10470000C401D501F10186A397A3A0A7B1A7970182
+:104710004D2D5C2D6CA578A988A598AD0E94A0AE02
+:1047200018162CF081E0D101D7968C9302C0F101CC
+:1047300017AA81E0D101D6968C9380E1FE013196D3
+:10474000A5E4B3E101900D928A95E1F78CA598A9B3
+:10475000A8A5B8AD8093411390934213A09343133F
+:10476000B09344139C01AD016BA17FA1C8010E94CD
+:10477000A7AE6B017C012CA538A948A558ADB401A2
+:10478000C5010E94A7AEAB01BC0197018601C10122
+:104790000E946F962996BFAD2997B0936D0E6996CA
+:1047A0002CAD3DAD4EAD5FAD699720935513309361
+:1047B000561340935713509358136D968CAD9DAD7F
+:1047C000AEADBFAD6D978093591390935A13A093DC
+:1047D0005B13B0935C13A1962CAD3DAD4EAD5FADB8
+:1047E000A19720935D1330935E1340935F13509312
+:1047F000601324968CAD9DADAEADBFAD2497809374
+:10480000611390936213A0936313B09364130E9497
+:10481000249AC459DF4F0FB6F894DEBF0FBECDBF48
+:10482000DF91CF911F910F91FF90EF90DF90CF908C
+:10483000BF90AF909F908F907F906F905F904F90C0
+:104840003F902F900C94F48BC459DF4F0FB6F8941F
+:10485000DEBF0FBECDBFDF91CF911F910F91FF90B3
+:10486000EF90DF90CF90BF90AF909F908F907F9010
+:104870006F905F904F903F902F900895EF92FF922E
+:104880000F931F93CF93DF937B018A01E90120915E
+:10489000A1133091A2134091A3135091A413FC01D2
+:1048A00060817181828193810E9475B10E9445B1BE
+:1048B0006093551370935613809357139093581326
+:1048C0002091A5133091A6134091A7135091A813DE
+:1048D000F70160817181828193810E9475B10E948C
+:1048E00045B16093591370935A1380935B1390935F
+:1048F0005C132091A9133091AA134091AB135091EE
+:10490000AC13F80160817181828193810E9475B13D
+:104910000E9445B160935D1370935E1380935F13A3
+:10492000909360132091AD133091AE134091AF136B
+:104930005091B013688179818A819B810E9475B101
+:104940000E9445B160936113709362138093631367
+:104950009093641321E633E14DE553E169E573E19A
+:1049600085E593E10E944C931092411310924213FB
+:104970001092431310924413109245131092461351
+:1049800010924713109248131092491310924A1331
+:1049900010924B1310924C1310924D1310924E1311
+:1049A00010924F13109250131092511310925213F1
+:1049B0001092531310925413DF91CF911F910F91C6
+:1049C000FF90EF9008952091AD133091AE13409178
+:1049D000AF135091B013FC0160817181828193818A
+:1049E0000E9475B10E9445B1609361137093621388
+:1049F000809363139093641381E693E10C948893FE
+:104A000080916D0E90916C0E891B8F70089560934C
+:104A1000A2027093A3028093A4029093A50208952A
+:104A2000CF92DF92EF92FF920F931F93CF93DF937A
+:104A300000D01F92CDB7DEB7F1E9CF2EF3E1DF2E24
+:104A4000A1EAEA2EA3E1FA2E05E613E1F60161914F
+:104A50007191819191916F01F70121913191419172
+:104A600051917F0129833A834B835C830E9440AF3D
+:104A700029813A814B815C810E9475B10E9414AFFB
+:104A8000F80161937193819391938F01F1EACF16AD
+:104A9000F3E1DF06D9F60F900F900F900F90DF91A2
+:104AA000CF911F910F91FF90EF90DF90CF900895DD
+:104AB0008091F41390E02091F513821B91090895E1
+:104AC0002091F5138091F413281750F4E22FF0E0B1
+:104AD000EA50FC4E808190E02F5F2093F5130895FB
+:104AE0008FEF9FEF0895E091F5138091F413E8178D
+:104AF00030F4F0E0EA50FC4E808190E008958FEFB2
+:104B00009FEF08950895CF92DF92EF92FF920F9357
+:104B10001F93CF93DF937C01CB018A012091D113A6
+:104B2000222389F0EB016B01C40ED51ECC15DD05E7
+:104B300061F06991D701ED91FC910190F081E02D38
+:104B4000C7011995F3CF642F4BD0C801DF91CF91E6
+:104B50001F910F91FF90EF90DF90CF900895CF932A
+:104B6000DF931F92CDB7DEB769832091D113222343
+:104B7000D1F02091D213203240F021E030E0FC014E
+:104B80003383228380E090E014C08091D313E82F18
+:104B9000F0E0EC52FC4E998190838F5F8093D313A9
+:104BA0008093D21304C061E0CE01019619D081E058
+:104BB00090E00F90DF91CF910895FC011382128253
+:104BC00048EE53E060E070E044835583668377836A
+:104BD00086ED95E091838083089585EC93E1EDCF98
+:104BE000613298F420918314243089F4609338144E
+:104BF000FC018AE394E1DC012A2F281B261718F414
+:104C000021912D93F9CF80E0089581E0089582E00D
+:104C1000089585ED8093BC008091BC0084FDFCCF9D
+:104C200010928314089585EC8093BC001092831435
+:104C300008951F920F920FB60F9211240BB60F9288
+:104C40002F933F934F935F936F937F938F939F9394
+:104C5000AF93BF93EF93FF938091B900887F803625
+:104C600009F49CC068F5883209F45BC090F4803187
+:104C700009F454C038F4882309F4F3C0883009F4E7
+:104C80004DC0F2C0883109F44CC0803209F45DC0D7
+:104C9000EBC0803409F468C048F4803309F455C08F
+:104CA000883309F0E1C080931614A7C0803509F459
+:104CB0004FC0883509F45DC0883409F0D5C0D3C031
+:104CC000883909F4C4C0A8F4883709F467C038F4F7
+:104CD000883609F463C0803709F460C0C5C08838DD
+:104CE00009F4B5C0803909F45FC0803809F0BCC050
+:104CF0005BC0803B09F483C038F4803A09F466C095
+:104D0000883A09F47CC0B0C0803C09F4A4C0883C57
+:104D100009F4A1C0883B09F487C0A6C08091821421
+:104D200010C090915B1480915A14981770F5E0911F
+:104D30005B1481E08E0F80935B14F0E0E45AFB4E2D
+:104D400080818093BB0085EC83C0809316148BC058
+:104D5000E0915B1481E08E0F80935B148091BB0027
+:104D6000F0E0E45AFB4E808390915B1480915A14DA
+:104D70006BC0E0915B1481E08E0F80935B14809197
+:104D8000BB00F0E0E45AFB4E8083809181148111D6
+:104D90006AC081E08093801484EA5EC083E08093DF
+:104DA000831410921714CFCF80911714803208F01B
+:104DB0004EC0E091171481E08E0F809317148091FC
+:104DC000BB00F0E0E85EFB4E8083BDCF80911714FE
+:104DD000803230F4E0911714F0E0E85EFB4E108270
+:104DE00018DF6091171470E0E0917C14F0917D144D
+:104DF00088E194E119951092171415DF35C084E00D
+:104E0000809383141092391410923814E0917E1418
+:104E1000F0917F14199580913814811105C081E0BB
+:104E20008093381410923A14E091391481E08E0F77
+:104E300080933914F0E0E65CFB4E80818093BB00E8
+:104E40009091391480913814981708F47CCF85E834
+:104E50008093BC0009C085EC8093BC001092831441
+:104E600003C010921614D5DEFF91EF91BF91AF9160
+:104E70009F918F917F916F915F914F913F912F9172
+:104E80000F900BBE0F900FBE0F901F9018951F93A1
+:104E9000CF93DF93182FEB0161E003D1209711F43A
+:104EA00060E004C0CF3FD10531F461E0812FDF9194
+:104EB000CF911F912FC1E12FF0E0EA54F34E4491BE
+:104EC00050E0FA013197E131F10508F091C0E35863
+:104ED000FF4F0C94BCB284B5806884BDC7BD8DC043
+:104EE00084B5806284BDC8BD88C080918000806820
+:104EF00080938000D0938900C09388007EC0809109
+:104F00008000806280938000D0938B00C0938A00E1
+:104F100074C08091B00080688093B000C093B300EB
+:104F20006CC08091B00080628093B000C093B400E8
+:104F300064C080919000806880939000D093990025
+:104F4000C09398005AC08091900080628093900036
+:104F5000D0939B00C0939A0050C0809190008860CD
+:104F600080939000D0939D00C0939C0046C0809198
+:104F7000A00080688093A0008091A0008F7B809328
+:104F8000A000D093A900C093A80037C08091A000D2
+:104F900080628093A000D093AB00C093AA002DC084
+:104FA0008091A00088608093A000D093AD00C09352
+:104FB000AC0023C080912001806880932001D093B1
+:104FC0002901C093280119C080912001806280933B
+:104FD0002001D0932B01C0932A010FC080912001A2
+:104FE000886080932001D0932D01C0932C0105C0CF
+:104FF000C038D1050CF059CF53CFDF91CF911F911D
+:10500000089590E0FC013197E131F10508F048C0C6
+:10501000E257FF4F0C94BCB2809180008F7703C0A1
+:10502000809180008F7D80938000089584B58F7774
+:1050300002C084B58F7D84BD08958091B0008F77C4
+:1050400003C08091B0008F7D8093B000089580915F
+:1050500090008F7707C0809190008F7D03C0809172
+:105060009000877F8093900008958091A0008F77B3
+:1050700007C08091A0008F7D03C08091A000877F32
+:105080008093A0000895809120018F7707C08091C0
+:1050900020018F7D03C080912001877F80932001B4
+:1050A0000895CF93DF9390E0FC01E45FF24E2491EA
+:1050B000FC01EE59F24E8491882349F190E0880F6B
+:1050C000991FFC01E451F24EA591B4918E52924E7B
+:1050D000FC01C591D4919FB7611108C0F8948C91DF
+:1050E000209582238C93888182230AC0623051F4F8
+:1050F000F8948C91322F309583238C938881822B66
+:10510000888304C0F8948C91822B8C939FBFDF918D
+:10511000CF9108950F931F93CF93DF931F92CDB735
+:10512000DEB7282F30E0F901EA54F34E8491F901FB
+:10513000E45FF24E1491F901EE59F24E049100230E
+:10514000C1F0882319F069835CDF6981E02FF0E00A
+:10515000EE0FFF1FEE52F24EA591B4919FB7F89457
+:105160008C91611103C01095812301C0812B8C9318
+:105170009FBF0F90DF91CF911F910F910895CF9313
+:10518000DF93282F30E0F901EA54F34E8491F901BE
+:10519000E45FF24ED491F901EE59F24EC491CC2362
+:1051A00089F081112EDFEC2FF0E0EE0FFF1FE854A5
+:1051B000F24EA591B4912C912D2381E090E021F441
+:1051C00080E002C080E090E0DF91CF9108951F92CF
+:1051D0000F920FB60F9211242F933F938F939F93AB
+:1051E000AF93BF938091851490918614A0918714FA
+:1051F000B09188143091841423E0230F2D3720F4CC
+:105200000196A11DB11D05C026E8230F0296A11D20
+:10521000B11D209384148093851490938614A093D9
+:105220008714B09388148091891490918A14A09166
+:105230008B14B0918C140196A11DB11D809389141B
+:1052400090938A14A0938B14B0938C14BF91AF9158
+:105250009F918F913F912F910F900FBE0F901F90B4
+:1052600018952FB7F89460918514709186148091E9
+:105270008714909188142FBF08953FB7F8948091B8
+:10528000891490918A14A0918B14B0918C1426B536
+:10529000A89B05C02F3F19F00196A11DB11D3FBF6E
+:1052A0006627782F892F9A2F620F711D811D911DFE
+:1052B00042E0660F771F881F991F4A95D1F708951E
+:1052C000CF92DF92EF92FF92CF93DF936B017C013D
+:1052D000D4DFEB01C114D104E104F10471F0CDDF9E
+:1052E0006C1B7D0B683E7340A8F381E0C81AD1089F
+:1052F000E108F108C851DC4FEDCFDF91CF91FF906D
+:10530000EF90DF90CF9008950197009739F0880FC4
+:10531000991F880F991F02970197F1F708957894C4
+:1053200084B5826084BD84B5816084BD85B58260AA
+:1053300085BD85B5816085BDEEE6F0E08081816048
+:105340008083E1E8F0E01082808182608083808148
+:1053500081608083E0E8F0E0808181608083E1EB20
+:10536000F0E0808184608083E0EBF0E08081816008
+:105370008083E1E9F0E080818260808380818160C8
+:105380008083E0E9F0E0808181608083E1EAF0E001
+:10539000808182608083808181608083E0EAF0E0A8
+:1053A000808181608083E1E2F1E08081826080839E
+:1053B000808181608083E0E2F1E080818160808390
+:1053C000EAE7F0E08081846080838081826080836E
+:1053D0008081816080838081806880831092C10099
+:1053E00008959DDF0E94A93EC0E0D0E00E94C862FF
+:1053F0002097E1F30E940000F9CF3F924F925F9215
+:105400006F927F928F929F92AF92BF92CF92DF92D4
+:10541000EF92FF920F931F93CF93DF9300D01F92D1
+:10542000CDB7DEB78B0129013A019091A6029817FA
+:1054300021F09F3F09F0ABC204C0E6E0FEE13490EA
+:1054400004C18093A602E6E0FEE1E491EF3F09F497
+:105450009EC2E23009F480C074F5EE2309F45BC00B
+:10546000E13009F0F1C0109280001092810090911B
+:105470008100986090938100909181009160909359
+:105480008100282F30E0F901EE59F24EE491F0E06E
+:10549000EE0FFF1FEE52F24E459154915093AB1414
+:1054A0004093AA14F901E45FF24E24912093A914C9
+:1054B00033243394CCC0E43009F49EC00CF474C09F
+:1054C000E53009F0C1C010922001109221019091A5
+:1054D0002101986090932101909121019160909316
+:1054E0002101282F30E0F901EE59F24EE491F0E06D
+:1054F000EE0FFF1FEE52F24E4591549150938F14D0
+:1055000040938E14F901E45FF24E249120938D14A0
+:1055100055E0352E9CC014BC15BC94B5926094BD6A
+:1055200095B5916095BD282F30E0F901EE59F24E06
+:10553000E491F0E0EE0FFF1FEE52F24E45915491D0
+:105540005093B2144093B114F901E45FF24E2491E8
+:105550002093B014312C7BC01092B0001092B10097
+:105560009091B00092609093B0009091B1009160E2
+:105570009093B100282F30E0F901EE59F24EE491FA
+:10558000F0E0EE0FFF1FEE52F24E45915491509312
+:10559000A4144093A314F901E45FF24E24912093E4
+:1055A000A21422E0322E53C010929000109291006B
+:1055B00090919100986090939100909191009160EA
+:1055C00090939100282F30E0F901EE59F24EE491CA
+:1055D000F0E0EE0FFF1FEE52F24E459154915093C2
+:1055E0009D1440939C14F901E45FF24E24912093A2
+:1055F0009B14B3E03B2E2BC01092A0001092A10090
+:105600009091A10098609093A1009091A100916069
+:105610009093A100282F30E0F901EE59F24EE49169
+:10562000F0E0EE0FFF1FEE52F24E45915491509371
+:10563000961440939514F901E45FF24E249120935F
+:10564000941474E0372E03C03E2E37FCA0C161E0F5
+:1056500028DD4801A12CB12C832D8D7F09F0BAC023
+:1056600060E072E18AE790E0A501940169D729839F
+:105670003A834B835C8369017A0181E0C81AD108BF
+:10568000E108F1089FEFC916D104E104F10409F023
+:1056900008F495C060E472E48FE090E0A501940105
+:1056A0004FD769017A01E1E0CE1AD108E108F1088B
+:1056B000F2E03F1218C08FEFC816D104E104F104E4
+:1056C00009F008F483C060E970ED83E090E0A50183
+:1056D000940136D769017A0191E0C91AD108E1082D
+:1056E000F10883E001C082E0EFEFCE16D104E104BF
+:1056F000F10409F008F464C068E478EE81E090E019
+:10570000A50194011DD769017A01F1E0CF1AD108F2
+:10571000E108F1083320D9F082E038121AC09FEF77
+:10572000C916D104E104F10409F008F42EC164E2C1
+:1057300074EF80E090E0A501940102D769017A013D
+:10574000E1E0CE1AD108E108F10885E003C083E06A
+:1057500001C084E0FFEFCF16D104E104F10481F130
+:1057600078F162E17AE780E090E0A5019401E8D663
+:1057700069017A0181E0C81AD108E108F108311005
+:1057800002C084E001C086E09FEFC916D104E104A5
+:10579000F104B1F0A8F0C980DA80EB80FC809AE0D7
+:1057A000F594E794D794C7949A95D1F7E1E0CE1A8F
+:1057B000D108E108F108332031F087E008C081E02A
+:1057C000332011F004C085E085BD50C082E0809395
+:1057D000B1004CC060E072E18AE790E0A50194015D
+:1057E000AFD669017A01F1E0CF1AD108E108F108DA
+:1057F000C114D10481E0E806F10480F068E478EE99
+:1058000081E090E0A50194019BD669017A0191E0C5
+:10581000C91AD108E108F10893E001C091E0E1E084
+:105820003E1207C080918100887F892B8093810080
+:105830001DC0F3E03F1207C080919100887F892B43
+:105840008093910013C084E0381207C08091A100BA
+:10585000887F892B8093A10009C0E5E03E1206C035
+:1058600080912101887F892B80932101411451046B
+:105870006104710461F0D801AA0FBB1FA30192015A
+:1058800087D628EE33E040E050E038D603C02FEF53
+:105890003FEFA901F2E03F1609F443C0F315BCF055
+:1058A000332081F181E0381272C0D0928900C09219
+:1058B00088002093AC143093AD144093AE145093F1
+:1058C000AF1480916F00826080936F0060C094E09D
+:1058D000391609F448C03916A4F1E5E03E1257C064
+:1058E000D0922901C09228012093901430939114F2
+:1058F000409392145093931480917300826080932C
+:10590000730045C0C7BC2093B3143093B4144093C4
+:10591000B5145093B61480916E00826080936E002F
+:1059200036C0C092B3002093A5143093A6144093C0
+:10593000A7145093A8148091700082608093700027
+:1059400026C0D0929900C092980020939E14309364
+:105950009F144093A0145093A11480917100826011
+:105960008093710014C0D092A900C092A800209327
+:105970009714309398144093991450939A148091EB
+:10598000720082608093720002C084E020CF0F908A
+:105990000F900F900F90DF91CF911F910F91FF907B
+:1059A000EF90DF90CF90BF90AF909F908F907F90BF
+:1059B0006F905F904F903F9008958230A9F028F447
+:1059C000882349F0813051F00895843009F1E8F0DE
+:1059D000853009F1089510926E00089580916F004E
+:1059E0008D7F80936F000895809170008D7F8093EC
+:1059F000700081E08093B0008091B100887F846066
+:105A00008093B1001092B300089510927100089530
+:105A1000109272000895109273000895CF93C82FCA
+:105A20008091A6028C1307C0E6E0FEE184919FEF0F
+:105A30009093A60201C08FEFC0DF60E08C2FCF9162
+:105A400069CB1F920F920FB60F9211240BB60F92D3
+:105A50002F933F934F935F936F937F938F939F9376
+:105A6000AF93BF93EF93FF938091A5149091A614E9
+:105A7000A091A714B091A814892B8A2B8B2B51F1DC
+:105A80009091A214E091A314F091A414808189272D
+:105A900080838091A5149091A614A091A714B09131
+:105AA000A814181619061A061B06BCF48091A51432
+:105AB0009091A614A091A714B091A8140197A109E0
+:105AC000B1098093A5149093A614A093A714B09342
+:105AD000A81403C08091A602A1DFFF91EF91BF91AE
+:105AE000AF919F918F917F916F915F914F913F9176
+:105AF0002F910F900BBE0F900FBE0F901F90189517
+:105B0000CF92DF92EF92FF920F931F93CF93DF9389
+:105B10006C017A01EB01E60EF71E00E010E0CE15F5
+:105B2000DF0561F06991D601ED91FC910190F08162
+:105B3000E02DC6011995080F191FF1CFC801DF919B
+:105B4000CF911F910F91FF90EF90DF90CF9008952C
+:105B50006115710581F0DB010D900020E9F7AD01C1
+:105B600041505109461B570BDC01ED91FC9102801D
+:105B7000F381E02D199480E090E00895E9CFDC01F5
+:105B8000ED91FC910190F081E02D19945058BB27C4
+:105B9000AA270ED076C23FD230F044D220F031F4A2
+:105BA0009F3F11F41EF40FC20EF4E095E7FBDCC139
+:105BB000E92F89D280F3BA17620773078407950724
+:105BC00018F071F49EF5B8C20EF4E0950B2EBA2FC2
+:105BD000A02D0B01B90190010C01CA01A0011124F3
+:105BE000FF27591B99F0593F50F4503E68F11A169F
+:105BF000F040A22F232F342F4427585FF3CF469530
+:105C000037952795A795F0405395C9F77EF41F1651
+:105C1000BA0B620B730B840BBAF09150A1F0FF0F1B
+:105C2000BB1F661F771F881FC2F70EC0BA0F621F07
+:105C3000731F841F48F4879577956795B795F795F7
+:105C40009E3F08F0B3CF9395880F08F09927EE0F89
+:105C5000979587950895DFD158F080E891E009F491
+:105C60009EEFE0D128F040E851E059F45EEF09C022
+:105C7000AAC162C2E92FE07826D268F3092E052A6C
+:105C8000C1F3261737074807590738F00E2E07F8D3
+:105C9000E02569F0E025E0640AC0EF6307F80094AE
+:105CA00007FADB01B9019D01DC01CA01AD01EF93E7
+:105CB0005DD0E7D10AD05F91552331F02BED3FE065
+:105CC00049E450FD49EC63CF0895DF93DD27B92FF8
+:105CD000BF7740E85FE31616170648075B0710F426
+:105CE000D92F96D29F938F937F936F93A9D3EEE38F
+:105CF000F1E06CD1C6D12F913F914F915F9101D3CB
+:105D0000DD2349F09058A2EA2AED3FE049EC5FE339
+:105D1000D0785D274DDFDF91B4C1F7D180F09F3798
+:105D200040F491110EF409C260E070E080E89FE356
+:105D3000089526F01B16611D711D811D1BC135C103
+:105D4000EFD008F481E0089575D1E395ABC10CD094
+:105D500098C168D140F05FD130F021F45F3F19F075
+:105D600003C15111EAC12FC1AED198F39923C9F3F0
+:105D70005523B1F3951B550BBB27AA276217730751
+:105D8000840738F09F5F5F4F220F331F441FAA1F05
+:105D9000A9F333D00E2E3AF0E0E830D091505040C5
+:105DA000E695001CCAF729D0FE2F27D0660F771F73
+:105DB000881FBB1F261737074807AB07B0E809F055
+:105DC000BB0B802DBF01FF2793585F4F2AF09E3FEA
+:105DD000510568F0C9C0B1C15F3FECF3983EDCF3F8
+:105DE000869577956795B795F7959F5FC9F7880F63
+:105DF000911D9695879597F90895E1E0660F771FB5
+:105E0000881FBB1F621773078407BA0720F0621B45
+:105E1000730B840BBA0BEE1F88F7E095089504D03E
+:105E20006894B1118AC1089556D188F09F5790F0B7
+:105E3000B92F9927B751A0F0D1F0660F771F881FAF
+:105E4000991F1AF0BA95C9F712C0B13081F074D118
+:105E5000B1E0089571C1672F782F8827B85F39F0B6
+:105E6000B93FCCF3869577956795B395D9F73EF40E
+:105E700090958095709561957F4F8F4F9F4F0895B6
+:105E8000E89409C097FB3EF49095809570956195D4
+:105E90007F4F8F4F9F4F9923A9F0F92F96E9BB278A
+:105EA0009395F695879577956795B795F111F8CF06
+:105EB000FAF4BB0F11F460FF1BC06F5F7F4F8F4F71
+:105EC0009F4F16C0882311F096E911C0772321F067
+:105ED0009EE8872F762F05C0662371F096E8862FFF
+:105EE00070E060E02AF09A95660F771F881FDAF756
+:105EF000880F9695879597F9089507D180F09F3779
+:105F000040F491110EF019C160E070E080E89FEB61
+:105F1000089526F41B16611D711D811D2BC045C0FF
+:105F2000990F0008550FAA0BE0E8FEEF16161706AA
+:105F3000E807F907C0F012161306E407F50798F012
+:105F4000621B730B840B950B39F40A2661F0232B2B
+:105F5000242B252B21F408950A2609F4A140A695A7
+:105F60008FEF811D811D089597F99F6780E870E08C
+:105F700060E00895882371F4772321F09850872BEF
+:105F8000762F07C0662311F499270DC09051862BF8
+:105F900070E060E02AF09A95660F771F881FDAF7A5
+:105FA000880F9695879597F908959F3F31F0915006
+:105FB00020F4879577956795B795880F911D9695ED
+:105FC000879597F908959FEF80EC0895DF93CF931D
+:105FD0001F930F93FF92EF92DF927B018C016894E5
+:105FE00005C0DA2EEF018DD1FE01E894A59125912F
+:105FF000359145915591AEF3EF01DADDFE01970140
+:10600000A801DA9479F7DF90EF90FF900F911F913C
+:10601000CF91DF91089500240A94161617061806EA
+:106020000906089500240A9412161306140605069C
+:106030000895C9CF50D0E8F3E894E0E0BB279F571C
+:10604000F0F02AED3FE049EC06C0EE0FBB0F661FF3
+:10605000771F881F28F0B23A62077307840728F079
+:10606000B25A620B730B840BE3959A9572F78038E2
+:1060700030F49A95BB0F661F771F881FD2F79048A0
+:1060800096CF092E0394000C11F4882352F0BB0F15
+:1060900040F4BF2B11F460FF04C06F5F7F4F8F4F40
+:1060A0009F4F0895EF93E0FF06C0A2EA2AED3FE07C
+:1060B00049EC5FEB7DDDE5DF0F90039401FC905828
+:1060C000EBE6F1E0C7C157FD9058440F551F59F05A
+:1060D0005F3F71F04795880F97FB991F61F09F3FD5
+:1060E00079F087950895121613061406551FF2CFFE
+:1060F0004695F1DF08C0161617061806991FF1CF4E
+:1061000086957105610508940895E5DFA0F0BEE766
+:10611000B91788F4BB279F3860F41616B11D672F96
+:10612000782F8827985FF7CF869577956795B11D6B
+:1061300093959639C8F30895E894BB276627772787
+:10614000CB0197F90895ECDE08F48FEF089563DF33
+:1061500019F068DF09F037CF07CFB901CA0125CFA1
+:106160009F775F77B0DF98F39923B9F35523B9F39D
+:10617000FF27951758F4E52FE91BED3070F75E3BCC
+:1061800010F0F1E41CC09034E0F40AC0E92FE51BE4
+:10619000ED3028F79E3B10F0F1E411C0503488F444
+:1061A000F9EA88232AF09A95660F771F881FDAF795
+:1061B00044232AF05A95220F331F441FDAF79F1BFE
+:1061C0005F1BFF931F930F93FF92EF9279018A0158
+:1061D000BB27AB2F9B01AC0196D09701A801BF93C1
+:1061E0007B018C01AA27BA2FB901CA018CD0AF91CB
+:1061F0009701A801EF90FF900F911F91D9DC41DF2B
+:10620000E1D04F9140FF0895552747FD509509C0B3
+:106210009B01AC0160E070E080E89FE398CDA4CEE4
+:10622000C4CE59DFE8F39923D9F3940F511DBBF382
+:106230009150504094F059F0882332F0660F771F48
+:10624000881F91505040C1F79E3F510544F7880F79
+:10625000911D9695879597F908955F3FACF0983E0C
+:106260009CF0BB27869577956795B79508F4B16044
+:106270009395C1F7BB0F58F711F460FFE8CF6F5F3C
+:106280007F4F8F4F9F4FE3CF58CF25DF58F19E5759
+:1062900058F19851A0F0E9F0983020F5092E99278F
+:1062A000660F771F881F991F0A94D1F712C0062E18
+:1062B000672F782F8827985F11F4000C07C0993F4B
+:1062C000B4F38695779567959395D9F7611D711D00
+:1062D000811D3EF490958095709561957F4F8F4F0D
+:1062E0009F4F0895689429CF27CF0BD0CACE93DE55
+:1062F00028F098DE18F0952309F036CE64CE1124EC
+:106300001CCFE1DEA0F3959FD1F3950F50E0551F10
+:10631000629FF001729FBB27F00DB11D639FAA27FA
+:10632000F00DB11DAA1F649F6627B00DA11D661F49
+:10633000829F2227B00DA11D621F739FB00DA11D6A
+:10634000621F839FA00D611D221F749F3327A00D24
+:10635000611D231F849F600D211D822F762F6A2FC0
+:1063600011249F5750408AF0E1F088234AF0EE0F45
+:10637000FF1FBB1F661F771F881F91505040A9F752
+:106380009E3F510570F0F0CDD8CE5F3FECF3983EC4
+:10639000DCF3869577956795B795F795E7959F5FB9
+:1063A000C1F7FE2B880F911D9695879597F9089553
+:1063B0009F9340DE0F9007FCEE5F74CE11F40EF455
+:1063C00002CEF3CD88DED0F39923D9F3CEF39F57D5
+:1063D000550B87FF38D00024A0E640EA9001805892
+:1063E0005695979528F4805C660F771F881F20F0DC
+:1063F00026173707480730F4621B730B840B2029DC
+:1064000031294A2BA69517940794202531254A2730
+:1064100058F7660F771F881F20F0261737074807A1
+:1064200030F4620B730B840B200D311D411DA095C0
+:1064300081F7B901842F9158880F96958795089513
+:106440009B01AC0152CF91505040660F771F881FBF
+:10645000D2F708959F938F937F936F93FF93EF935A
+:106460009B01AC0142DFEF91FF91B0DD2F913F9195
+:106470004F915F913ACFDB018F939F9389D0BF916A
+:10648000AF91A29F800D911DA39F900DB29F900D83
+:106490001124089587FB082E062687FD819567FD48
+:1064A00061958AD00EF4919507FC81950895AA1BF9
+:1064B000BB1B51E107C0AA1FBB1FA617B70710F0EF
+:1064C000A61BB70B881F991F5A95A9F78095909521
+:1064D000BC01CD01089597FB072E16F4009406D059
+:1064E00077FD08D0E4DF07FC05D03EF49095819558
+:1064F0009F4F0895709561957F4F0895A1E21A2EE0
+:10650000AA1BBB1BFD010DC0AA1FBB1FEE1FFF1F57
+:10651000A217B307E407F50720F0A21BB30BE40BA7
+:10652000F50B661F771F881F991F1A9469F76095EE
+:106530007095809590959B01AC01BD01CF010895A8
+:10654000052E97FB16F400940FD057FD05D0D6DF2B
+:1065500007FC02D046F408C050954095309521952F
+:106560003F4F4F4F5F4F089590958095709561957F
+:106570007F4F8F4F9F4F0895EE0FFF1F0590F491AF
+:10658000E02D199425D0B7FF0895821B930B089531
+:106590001FD0A59F900DB49F900DA49F800D911DBD
+:1065A00011240895B7FFF4CFF3DF821B930B0895F6
+:1065B0000790F691E02D1994991B79E004C0991F7A
+:1065C000961708F0961B881F7A95C9F7809508954D
+:1065D000A29FB001B39FC001A39F700D811D112424
+:1065E000911DB29F700D811D1124911D08958F92F0
+:1065F0009F92AF92BF92CF92DF92EF92FF920F9352
+:106600001F93CF93DF938B016115710521F0DB019F
+:106610008C9311969C93EC015E01BFEFAB1ABB0A01
+:106620007501C8808C2D90E07BD2892B11F0E5019B
+:10663000F3CFEDE2CE1208C07E01F2E0EF0EF11CC6
+:10664000C980DD24D39409C02BE2C21205C07E01AB
+:1066500042E0E40EF11CC980D12CE701219743E010
+:1066600050E06FE07EE1CE0172D2892BB9F423961F
+:1066700045E050E06AE07EE1CE0169D2892B09F461
+:1066800025960115110519F0D801CD93DC93D11091
+:1066900000C160E070E080E89FE704C143E050E0A3
+:1066A00067E07EE1CE0153D2892B59F40115110523
+:1066B00009F4F4C0B2E0EB0EF11CF801F182E082C3
+:1066C000EDC0F70160E070E0CB01C0E0D0E07F01F9
+:1066D000A0EDAA2EAC0C29E02A1528F14D2D426020
+:1066E000B42E2D2D2870D2FE04C0211124C0219675
+:1066F00022C021112197A5E0B0E09B01AC0148DF49
+:10670000660F771F881F991F6A0D711D811D911DCE
+:106710006839A9E97A078A07A9E19A0760F0BD2DCF
+:10672000B660BB2E08C02EEFA2120AC0D3FC50C028
+:106730004D2D4860B42E3196D701CC90DB2CC7CFBD
+:106740002C2D2F7D253409F043C0A081AD3241F4BA
+:10675000BD2DB061DB2E7F0122E0E20EF11C0CC0EA
+:106760007F01AB3231F04FEFE41AF40A21E030E060
+:1067700006C0A2E0EA0EF11CA18122E030E0A053A5
+:10678000AA3018F0E21AF30A23C0F70120E030E043
+:106790002038BCE03B075CF4A901440F551F440FAF
+:1067A000551F240F351F220F331F2A0F311DAF0134
+:1067B0004F5F5F4F7A01A081A053AA3010F4FA0115
+:1067C000E7CFD4FE03C0319521953109C20FD31F05
+:1067D000D1FE09C00115110531F0E1E0EE1AF10812
+:1067E000D801ED92FC924CDB2D2D2370233019F053
+:1067F0004B015C0106C04B015C01B7FAB094B7F8DD
+:10680000B09420E030E0A901C501B40199DA8823F1
+:1068100009F43CC0D7FF06C0D195C195D10906E265
+:106820001EE102C00EE31EE16801B8E1CB1AD108F7
+:1068300090E2E92EF12CCE15DF056CF0F8012591E0
+:10684000359145915491C501B4014FDD4B015C0177
+:10685000CE19DF09F0CF04501109F594E7940C1517
+:106860001D0549F78A2D880F8B2D881F8F3F41F01A
+:1068700020E030E0A901C501B40162DA811106C04F
+:1068800082E290E09093BC148093BB14C501B401E4
+:1068900009C060E070E080E89FEF04C060E070E055
+:1068A00080EC9FE7DF91CF911F910F91FF90EF90C8
+:1068B000DF90CF90BF90AF909F908F9008952F92D0
+:1068C0003F925F926F927F928F929F92AF92BF9210
+:1068D000CF92DF92EF92FF920F931F93CF93DF93AC
+:1068E0008B01EA016115710521F0DB018C93119692
+:1068F0009C93209739F09E012250310923323105B3
+:1069000008F0F8C07C016701BFEFCB1ADB0A560123
+:10691000F7016080862D90E003D1892B11F076017C
+:10692000F2CFFDE26F120AC0570182E0A80EB11C3F
+:10693000D70111966C90772473940BC0BBE26B1255
+:1069400007C05701E2E0AE0EB11CD70111966C9062
+:10695000712CCE018F7E892B89F4B0E36B1222C09B
+:10696000F50180818F7D883541F56180F2E0AF0EC1
+:10697000B11C872D8260782EC0E1D0E0C830D105EF
+:10698000F1F04CF4C230D10511F5C12CD12CE12C21
+:10699000B0E4FB2E2EC0CA30D10531F0C031D10594
+:1069A00019F115C0209751F7CAE0D0E0ACECCA2E1F
+:1069B000DC2CEC2CACE0FA2E1CC02097F9F6C8E0D9
+:1069C000D0E0C12CD12CE12CF0E1FF2E12C060E010
+:1069D00070E080E090E89E01442737FD4095542FF9
+:1069E0008DDD69017A0105C0C12CD12CE12CE8E0D4
+:1069F000FE2EF50160E020E030E0A9014E01AA245E
+:106A000097FCA094BA2C1F0170ED572E560CA9E0EC
+:106A1000A51570F48FEB860D8A3118F499EC592E78
+:106A200006C08FE9860D8A3128F589EA582E560C62
+:106A3000852D90E08C179D07ECF467FD17C0C216FA
+:106A4000D306E406F50678F0C501B40114DD9B0118
+:106A5000AC01250D311D411D511D21303105410570
+:106A6000B0E85B0710F06FEF01C061E03196D10133
+:106A70006C90C9CF872D81700115110571F06623C7
+:106A800029F03197D801ED93FC9307C071FE19C02E
+:106A90003297D801ED93FC9314C067FF12C088238E
+:106AA00029F020E030E040E050E804C02FEF3FEF55
+:106AB0004FEF5FE782E290E09093BC148093BB14A9
+:106AC00016C0882341F050954095309521953F4F51
+:106AD0004F4F5F4F0CC057FF0AC082E290E0909387
+:106AE000BC148093BB142FEF3FEF4FEF5FE7B9016A
+:106AF000CA0104C060E070E080E090E0DF91CF91D7
+:106B00001F910F91FF90EF90DF90CF90BF90AF90CB
+:106B10009F908F907F906F905F903F902F900895FF
+:106B20009111E5C2803219F089508550D0F708954F
+:106B30009111089581548A5108F4805E855A089510
+:106B4000FB01DC0105900D920020E1F70895FB01A7
+:106B5000DC014150504088F08D9181341CF08B3520
+:106B60000CF4805E659161341CF06B350CF4605E52
+:106B7000861B611171F3990B0895881BFCCFFB01F3
+:106B8000DC014150504048F005900D920020C9F7BB
+:106B900001C01D9241505040E0F70895FB0155910E
+:106BA0005523A9F0BF01DC014D9145174111E1F7D3
+:106BB00059F4CD010590002049F04D914015411147
+:106BC000C9F3FB014111EFCF81E090E001970895F7
+:106BD000FB01DC0104C08D910190801921F441502A
+:106BE0005040C8F7881B990B0895FB01DC0102C0D7
+:106BF00001900D9241505040D8F70895DC0101C03A
+:106C00006D9341505040E0F70895FB01DC018D91F8
+:106C100081341CF08B350CF4805E619161341CF082
+:106C20006B350CF4605E861B611189F3990B089536
+:106C3000FB01DC010D900020E9F7119701900D9206
+:106C40000020E1F70895FC018191861721F0882347
+:106C5000D9F7992708953197CF010895FB01DC01F9
+:106C60008D91019080190110D9F3990B0895FB01C2
+:106C7000DC0101900D920020E1F70895FB01DC0199
+:106C80004150504030F08D910190801919F400204E
+:106C9000B9F7881B990B0895FB01DC014150504066
+:106CA00048F001900D920020C9F701C01D9241509B
+:106CB0005040E0F708950F931F93CF93DF93CDB724
+:106CC000DEB72E970FB6F894DEBF0FBECDBF0E898C
+:106CD0001F898EE08C831A8309838FEF9FE79E8341
+:106CE0008D83AE01465E5F4F688D798DCE01019632
+:106CF00010D0EF81F885E00FF11F10822E960FB6AD
+:106D0000F894DEBF0FBECDBFDF91CF911F910F91E1
+:106D100008952F923F924F925F926F927F928F923F
+:106D20009F92AF92BF92CF92DF92EF92FF920F931A
+:106D30001F93CF93DF93CDB7DEB72C970FB6F894A0
+:106D4000DEBF0FBECDBF7C016B018A01FC01178243
+:106D50001682838181FFB0C1CE0101964C01F701FB
+:106D60009381F60193FD859193FF81916F018823B3
+:106D700009F49EC1853239F493FD859193FF819189
+:106D80006F01853221F4B70190E0CAD1E8CF512CD0
+:106D9000312C20E02032A0F48B3269F030F48032C4
+:106DA00059F0833269F420612CC08D3239F0803380
+:106DB00039F4216026C02260246023C0286021C0ED
+:106DC00027FD27C030ED380F3A3078F426FF06C093
+:106DD000FAE05F9E300D1124532E13C08AE0389ED6
+:106DE000300D1124332E20620CC08E3221F426FD8A
+:106DF0005FC1206406C08C3611F4206802C088365A
+:106E000041F4F60193FD859193FF81916F0181110A
+:106E1000C1CF982F9F7D9554933028F40C5F1F4F5E
+:106E2000FFE3F9830DC0833631F0833771F083358A
+:106E300009F057C021C0F801808189830E5F1F4F80
+:106E400044244394512C540114C03801F2E06F0ED5
+:106E5000711CF801A080B18026FF03C0652D70E091
+:106E600002C06FEF7FEFC5012C874FD12C0183014A
+:106E70002C852F77222E16C03801F2E06F0E711C80
+:106E8000F801A080B18026FF03C0652D70E002C02C
+:106E90006FEF7FEFC5012C872DD12C012C85206849
+:106EA000222E830123FC19C0832D90E04816590639
+:106EB000A0F4B70180E290E033D13A94F5CFF50128
+:106EC00027FC859127FE81915F01B70190E028D1D1
+:106ED00031103A94F1E04F1A51084114510479F7F6
+:106EE000DEC0843611F0893631F5F80127FF07C07E
+:106EF00060817181828193810C5F1F4F08C0608126
+:106F00007181882777FD8095982F0E5F1F4F2F7610
+:106F1000B22E97FF09C090958095709561957F4F2F
+:106F20008F4F9F4F2068B22E2AE030E0A4012AD173
+:106F3000A82EA81843C0853729F42F7EB22E2AE048
+:106F400030E025C0F22FF97FBF2E8F36C1F018F444
+:106F5000883579F0ADC0803719F0883721F0A8C0A6
+:106F60002F2F2061B22EB4FE0DC08B2D8460B82E61
+:106F700009C024FF0AC09F2F9660B92E06C028E0E2
+:106F800030E005C020E130E002C020E132E0F8014D
+:106F9000B7FE07C060817181828193810C5F1F4FB2
+:106FA00006C06081718180E090E00E5F1F4FA401F8
+:106FB000E9D0A82EA818FB2DFF77BF2EB6FE0BC078
+:106FC0002B2D2E7FA51450F4B4FE0AC0B2FC08C0CD
+:106FD0002B2D2E7E05C07A2C2B2D03C07A2C01C0C0
+:106FE000752C24FF0DC0FE01EA0DF11D8081803358
+:106FF00011F4297E09C022FF06C07394739404C063
+:10700000822F867809F0739423FD12C020FF06C0FA
+:107010005A2C731418F4530C5718732C731460F40F
+:10702000B70180E290E02C877BD073942C85F6CF5B
+:10703000731410F4371801C0312C24FF11C0B701AC
+:1070400080E390E02C876CD02C8522FF16C021FFB6
+:1070500003C088E590E002C088E790E0B7010CC06B
+:10706000822F867851F021FD02C080E201C08BE2C0
+:1070700027FD8DE2B70190E053D0A51430F4B7019D
+:1070800080E390E04DD05A94F8CFAA94F401EA0D31
+:10709000F11D8081B70190E043D0A110F6CF3320DD
+:1070A00009F45DCEB70180E290E03AD03A94F7CF90
+:1070B000F7018681978102C08FEF9FEF2C960FB664
+:1070C000F894DEBF0FBECDBFDF91CF911F910F911E
+:1070D000FF90EF90DF90CF90BF90AF909F908F90F8
+:1070E0007F906F905F904F903F902F9008959927D9
+:1070F00088270895FC010590615070400110D8F771
+:10710000809590958E0F9F1F0895FC0161507040EF
+:1071100001900110D8F7809590958E0F9F1F0895CC
+:107120000F931F93CF93DF93182F092FEB018B81C0
+:1071300081FD03C08FEF9FEF20C082FF10C04E8102
+:107140005F812C813D81421753077CF4E881F981EE
+:107150009F012F5F3F4F39832883108306C0E88546
+:10716000F985812F1995892B29F72E813F812F5F72
+:107170003F4F3F832E83812F902FDF91CF911F911F
+:107180000F910895FA01AA27283051F1203181F199
+:10719000E8946F936E7F6E5F7F4F8F4F9F4FAF4F1F
+:1071A000B1E03ED0B4E03CD0670F781F891F9A1F32
+:1071B000A11D680F791F8A1F911DA11D6A0F711DE6
+:1071C000811D911DA11D20D009F468943F912AE0F2
+:1071D000269F11243019305D3193DEF6CF010895DA
+:1071E000462F4770405D4193B3E00FD0C9F7F6CF0B
+:1071F000462F4F70405D4A3318F0495D31FD4052D3
+:10720000419302D0A9F7EACFB4E0A6959795879568
+:1072100077956795BA95C9F7009761057105089547
+:107220009B01AC010A2E06945795479537952795F3
+:10723000BA95C9F7620F731F841F951FA01D08958B
+:107240001EE1C8E4DEE100E005C022970109FE016D
+:107250000BBFAED9CA34D10780E00807B1F7F89464
+:02726000FFCF5E
+:107262000000BD1420000A01FF3FFF3F0000803FE5
+:107272008145644325DF363E33334B410160EA00EA
+:10728200000080BB440101000000410000344200C4
+:1072920000504100004040000056430000464300B9
+:1072A20000494300000000000000001F856B3E0003
+:1072B20000803F00004040640064006400640000FD
+:1072C200803B4500803B4500007043000000000207
+:1072D200248050727573612069332072656164790C
+:1072E2002E0000000000003200FA006400DC005AA8
+:1072F20000F0006400FE0001010101015203C2011D
+:107302000E0100003E43FF00004000140054000044
+:107312001F1511151F00000C12120C0000000004B2
+:107322000A0A0A0A11110E040E1F041C00000000B2
+:1073320006191803130C00001C1F11111F00001C5A
+:1073420010181705060500000E1315110E00000097
+:1073520000C8420000C84200007A450040034400D1
+:1073620000FA430000FA43000040400000C84128F0
+:10737200230000282300001E000000102700001038
+:1073820010101010504944204175746F74756E6569
+:1073920020737461727400504944204175746F7493
+:1073A200756E65206661696C65642E204261642099
+:1073B2006578747275646572206E756D6265722E81
+:1073C2000000000000362A80AD2F0043616E6E6F10
+:1073D20074206F70656E2073756264697200534425
+:1073E2002D5052494E54494E472020202020202023
+:1073F2002020004D313132004D32323120496E763B
+:10740200616C696420657874727564657220004DE0
+:1074120032313820496E76616C6964206578747205
+:107422007564657220004D31303920496E76616C89
+:10743200696420657874727564657220004D31301C
+:107442003520496E76616C69642065787472756462
+:10745200657220004D31303420496E76616C69646A
+:1074620020657874727564657220005452494747EA
+:1074720045524544006F70656E00322E322E310047
+:107482003330302D3161005265706F7274696E67EE
+:1074920020656E6473746F70207374617475730009
+:1074A2004D32303020496E76616C696420657874A3
+:1074B200727564657220006F6B0020703A0020695B
+:1074C2003A0020643A0020633A005400496E766123
+:1074D2006C696420657874727564657200416374C6
+:1074E2006976652045787472756465723A20000089
+:1074F200000100250030001D000C0018002400319E
+:10750200001C000B00170023002F001B000A001EA6
+:107512000047000400080022002B001A0003003676
+:107522000037003500380058595A454552524F52DB
+:107532003A005072656865617420746865206E6FE8
+:107542007A7A6C6521004368616E67696E672066AE
+:10755200696C616D656E742100496E736572742089
+:1075620066696C616D656E7400416E64207072654F
+:10757200737320746865206B6E6F62004368616E7E
+:107582006765207375636365737321004C6F616473
+:10759200696E6720636F6C6F7200506C6561736512
+:1075A2002077616974004C6F6164696E6720666957
+:1075B2006C616D656E74005072696E742061626FE9
+:1075C20072746564004368616E67656420636F72FC
+:1075D200726563746C793F005965730046696C612A
+:1075E2006D656E74206E6F74206C6F6164656400EB
+:1075F200436F6C6F72206E6F7420636C65617200F2
+:107602003E0020205A0000803B4500803B450000A0
+:1076120070430000704200000000318B80AD537453
+:1076220065707261746520746F6F20686967683A6B
+:10763200200000000000AFA583A558A560A573A592
+:0276420082A51F
+:00000001FF

+ 5992 - 0
hex_files/300-RAMBo1-0a-cz.hex

@@ -0,0 +1,5992 @@
+:100000000C94250F0C94560F0C94560F0C94560F0D
+:100010000C94560F0C94560F0C94560F0C94560FCC
+:100020000C94560F0C94560F0C94560F0C94560FBC
+:100030000C94560F0C9421AD0C94560F0C94560F43
+:100040000C94560F0C94FA8B0C94560F0C94560F7C
+:100050000C94560F0C94560F0C9439260C94E7A868
+:100060000C94560F0C940D890C94560F0C94560F4B
+:100070000C94560F0C94560F0C94560F0C94560F6C
+:100080000C94560F0C94560F0C94560F0C94560F5C
+:100090000C94560F0C94560F0C94560F0C9419A6F2
+:1000A0000C94560F0C94560F0C94560F0C94560F3C
+:1000B0000C94560F0C94560F0C94560F0C94560F2C
+:1000C0000C94560F0C94560F0C94560F0C94560F1C
+:1000D0000C94560F0C94560F0C94560F0C94560F0C
+:1000E0000C94560F86269426B026BE26D826E626E1
+:1000F0000027042706270A2712276BA770A775A7D2
+:100100007FA7F8A789A791A799A7A3A7ADA7B7A786
+:10011000C6A7D0A7F8A7DAA7E4A7EEA716A819A83C
+:100120000CA810A850A81DA821A827A82BA82FA864
+:1001300035A839A83DA850A843A847A84BA8084A05
+:10014000D73B3BCE016E84BCBFFDC12F3D6C7431EB
+:100150009ABD56833DDA3D00C77F11BED9E4BB4C42
+:100160003E916BAAAABE000000803F05A84CCDB20C
+:10017000D44EB93836A9020C50B9918688083CA6ED
+:10018000AAAA2ABE000000803F007C3C3E5E2B3DB8
+:100190003F2F5B5D3B2C2A225C004572723A204D5A
+:1001A000415854454D50204245440054656D70659A
+:1001B000726174757265206865617465642062653A
+:1001C00064207377697463686564206F66662E20A7
+:1001D0004D415854454D502074726967676572658A
+:1001E00064202121004572723A204D494E54454DFC
+:1001F00050003A204578747275646572207377698F
+:100200007463686564206F66662E204D494E5445C0
+:100210004D502074726967676572656420210045DE
+:1002200072723A204D415854454D50003A2045785D
+:10023000747275646572207377697463686564208D
+:100240006F66662E204D415854454D50207472699A
+:10025000676765726564202100202D20496E7661F4
+:100260006C6964206578747275646572206E756D52
+:10027000626572202100504944204175746F747585
+:100280006E652066696E69736865642120507574B7
+:1002900020746865206C617374204B702C204B694E
+:1002A00020616E64204B6420636F6E7374616E74A2
+:1002B000732066726F6D2061626F766520696E745F
+:1002C0006F20436F6E66696775726174696F6E2E19
+:1002D0006800504944204175746F74756E652066DE
+:1002E00061696C6564212074696D656F75740020A7
+:1002F000403A006F6B20543A006F6B20423A005036
+:100300004944204175746F74756E65206661696C2F
+:100310006564212054656D70657261747572652025
+:10032000746F6F206869676800204B643A20002072
+:100330004B693A2000204B703A200020436C6173D7
+:100340007369632050494420002054753A200020EE
+:100350004B753A2000206D61783A2000206D696E5F
+:100360003A200020643A200020626961733A20003C
+:1003700070012C0190012701B0012201C0011D0173
+:10038000F00118011002130130020E016002090190
+:1003900090020401C002FF000003FA004003F500D0
+:1003A0008003F000D003EB002004E6007004E100BD
+:1003B000E004DC004005D700C005D2004006CD00B7
+:1003C000D006C8008007C3003008BE00F008B9009E
+:1003D000C009B400B00AAF00B00BAA00D00CA50051
+:1003E000000EA000500F9B00C0109600501291000C
+:1003F00000148C00C0158700B0178200B0197D0072
+:10040000D01B7800001E730040206E00902269000F
+:10041000F024640040275F0090295A00E02B55002B
+:10042000102E500020304B0010324600E0334100C7
+:1004300090353C001037370070383200A0392D005D
+:10044000B03A2800A03B2300603C1E00103D19007C
+:10045000903D1400103E0F00703E0A00C03E0500A3
+:10046000003F00004D383420582059205A204500C4
+:1004700043616E6E6F7420656E7465722073756271
+:100480006469723A20004D3234004D3233202573B6
+:10049000006175746F25692E67006572726F722036
+:1004A00077726974696E6720746F2066696C650085
+:1004B0004E6F74205344207072696E74696E6700C9
+:1004C0002F005344207072696E74696E67206279E0
+:1004D000746520002E0044656C6574696F6E20663B
+:1004E00061696C65642C2046696C653A2000466938
+:1004F0006C652064656C657465643A002E006F70ED
+:10050000656E206661696C65642C2046696C653A8D
+:10051000200057726974696E6720746F2066696C79
+:10052000653A20002E006F70656E206661696C650B
+:10053000642C2046696C653A20002E006F70656E51
+:10054000206661696C65642C2046696C653A200000
+:1005500046696C652073656C65637465640020533F
+:10056000697A653A200046696C65206F70656E6532
+:10057000643A20002E006F70656E206661696C65BC
+:10058000642C2046696C653A20004E6F77206672B5
+:100590006573682066696C653A20004E6F77206449
+:1005A0006F696E672066696C653A20002220706F63
+:1005B00073002220706172656E743A2200535542B6
+:1005C000524F5554494E452043414C4C2074617262
+:1005D0006765743A2200747279696E6720746F20BF
+:1005E00063616C6C207375622D67636F6465206650
+:1005F000696C6573207769746820746F6F206D6112
+:100600006E79206C6576656C732E204D4158206C98
+:100610006576656C2069733A0053442063617264A7
+:10062000206F6B006F70656E526F6F74206661692A
+:100630006C656400766F6C756D652E696E697420EB
+:100640006661696C656400534420696E6974206654
+:1006500061696C0000002110422063308440A55085
+:10066000C660E770088129914AA16BB18CC1ADD1F8
+:10067000CEE1EFF13112100273325222B5529442A0
+:10068000F772D662399318837BB35AA3BDD39CC348
+:10069000FFF3DEE36224433420040114E664C774EC
+:1006A000A44485546AA54BB528850995EEE5CFF598
+:1006B000ACC58DD55336722611163006D776F66640
+:1006C0009556B4465BB77AA719973887DFF7FEE7E8
+:1006D0009DD7BCC7C448E5588668A778400861180C
+:1006E00002282338CCC9EDD98EE9AFF94889699938
+:1006F0000AA92BB9F55AD44AB77A966A711A500AE0
+:10070000333A122AFDDBDCCBBFFB9EEB799B588B87
+:100710003BBB1AABA66C877CE44CC55C222C033C2B
+:10072000600C411CAEED8FFDECCDCDDD2AAD0BBDD7
+:10073000688D499D977EB66ED55EF44E133E322E7F
+:10074000511E700E9FFFBEEFDDDFFCCF1BBF3AAF27
+:10075000599F788F8891A981CAB1EBA10CD12DC185
+:100760004EF16FE18010A100C230E320045025401B
+:1007700046706760B9839893FBA3DAB33DC31CD37B
+:100780007FE35EF3B1029012F322D232354214526B
+:1007900077625672EAB5CBA5A89589856EF54FE5C7
+:1007A0002CD50DC5E234C324A014810466744764BB
+:1007B00024540544DBA7FAB79987B8975FE77EF71B
+:1007C0001DC73CD7D326F2369106B016576676760B
+:1007D000154634564CD96DC90EF92FE9C899E989E7
+:1007E0008AB9ABA94458654806782768C018E1085B
+:1007F0008238A3287DCB5CDB3FEB1EFBF98BD89BBB
+:10080000BBAB9ABB754A545A376A167AF10AD01AAA
+:10081000B32A923A2EFD0FED6CDD4DCDAABD8BAD06
+:10082000E89DC98D267C076C645C454CA23C832CFA
+:10083000E01CC10C1FEF3EFF5DCF7CDF9BAFBABF5A
+:10084000D98FF89F176E367E554E745E932EB23E4A
+:10085000D10EF01E53544F505045442E200050727C
+:10086000696E7465722073746F707065642064754E
+:100870006520746F206572726F72732E20466978DE
+:1008800020746865206572726F7220616E642075D5
+:100890007365204D39393920746F20726573746126
+:1008A00072742E202854656D70657261747572655E
+:1008B0002069732072657365742E205365742069F6
+:1008C00074206166746572207265737461727469F4
+:1008D0006E6729004B494C4C45442E2000507269EC
+:1008E0006E7465722068616C7465642E206B696C2F
+:1008F0006C28292063616C6C656421006F6B005269
+:100900006573656E643A20002200556E6B6E6F77DA
+:100910006E20636F6D6D616E643A2022004D32323D
+:100920003020532569005A204F6666736574203A5B
+:1009300020007A5F6D61783A20007A5F6D696E3AC7
+:1009400020005A204F6666736574005A204F666611
+:10095000736574206F6B002200556E6B6E6F776E3F
+:1009600020636F6D6D616E643A2022007A5F6D6165
+:10097000783A20007A5F6D696E3A2000795F6D6188
+:10098000783A2000795F6D696E3A2000785F6D617A
+:10099000783A2000785F6D696E3A2000205A3A005C
+:1009A00020593A0020436F756E7420583A20002079
+:1009B000453A00205A3A0020593A00583A00464930
+:1009C000524D574152455F4E414D453A4D61726C13
+:1009D000696E2056312E302E323B20537072696E74
+:1009E0007465722F6772626C206D61736875702018
+:1009F000666F722067656E36204649524D574152E8
+:100A0000455F55524C3A68747470733A2F2F67697A
+:100A1000746875622E636F6D2F4D61726C696E46DE
+:100A200069726D776172652F4D61726C696E2050CD
+:100A3000524F544F434F4C5F56455253494F4E3AD5
+:100A4000312E30204D414348494E455F5459504561
+:100A50003A50727573612069332045585452554499
+:100A600045525F434F554E543A3120555549443A0B
+:100A700030303030303030302D303030302D30307C
+:100A800030302D303030302D30303030303030306C
+:100A9000303030300A005072757361206933204F56
+:100AA00066662E005072757361206933207265612D
+:100AB00064792E0042656420646F6E652E002042CA
+:100AC0003A0020453A00543A004265642048656186
+:100AD00074696E672E0048656174696E6720646F83
+:100AE0006E652E0020573A0020453A00543A0048DF
+:100AF000656174696E672E2E2E002042403A0020F8
+:100B0000403A00202F003A00205400202F002042BD
+:100B10003A00202F006F6B20543A002569206D6940
+:100B20006E2C2025692073656300456E642066691C
+:100B30006C65206C69737400426567696E20666934
+:100B40006C65206C697374004E6F206D6F76652E36
+:100B50000050727573612069332072656164792E6B
+:100B600000526573756D696E67207072696E7400EE
+:100B70005761697420666F7220757365722E2E2E10
+:100B800000536C6565702E2E2E00256920686F75E8
+:100B90007273202569206D696E7574657300446FEA
+:100BA0006E65207072696E74696E672066696C6527
+:100BB0000053544F505045442E20005072696E74BB
+:100BC00065722073746F707065642064756520743D
+:100BD0006F206572726F72732E2046697820746878
+:100BE00065206572726F7220616E64207573652076
+:100BF0004D39393920746F20726573746172742EA7
+:100C0000202854656D706572617475726520697312
+:100C10002072657365742E20536574206974206199
+:100C2000667465722072657374617274696E672987
+:100C3000004E6F204C696E65204E756D62657220A6
+:100C40007769746820636865636B73756D2C204CDD
+:100C5000617374204C696E653A20004E6F204368C2
+:100C600065636B73756D2077697468206C696E6558
+:100C7000206E756D6265722C204C617374204C6916
+:100C80006E653A2000636865636B73756D206D69EE
+:100C9000736D617463682C204C617374204C696EB1
+:100CA000653A20004C696E65204E756D6265722054
+:100CB0006973206E6F74204C617374204C696E658B
+:100CC000204E756D6265722B312C204C617374203F
+:100CD0004C696E653A20004D31313000446F6E65CD
+:100CE00020736176696E672066696C652E006F6B94
+:100CF000004D3239002020506C616E6E6572427575
+:100D00006666657242797465733A200020467265A2
+:100D100065204D656D6F72793A200044656320321D
+:100D200033203230313500436F6D70696C65643A41
+:100D30002000286E6F6E652C2064656661756C748A
+:100D400020636F6E6669672900207C204175746896
+:100D50006F723A20004465632032332032303135DF
+:100D60002031353A34383A313300204C61737420E5
+:100D7000557064617465643A2000312E302E320063
+:100D80004D61726C696E0020536F66747761726595
+:100D900020526573657400205761746368646F67DF
+:100DA000205265736574002042726F776E206F75F4
+:100DB00074205265736574002045787465726E61A5
+:100DC0006C20526573657400506F776572557000C2
+:100DD0007374617274002200656E717565696E6767
+:100DE0002022002200656E717565696E6720220001
+:100DF000FFFFFF0000A0400000A0400000004000F6
+:100E0000005643000046431FC54843000000000051
+:100E10000000001F856B3E00005643000046430063
+:100E200000494300000000000000001F856B3E6584
+:100E300063686F3A004572726F723A004361726480
+:100E40002072656D6F766564004361726420696E1F
+:100E50007365727465640047312045343020463133
+:100E60003030004731204536352046343030004D93
+:100E7000383300473120452D38302046343030009B
+:100E80004D3833002D2D3A2D2D002D2D2D0053449E
+:100E9000000120000120004D363030004368616EB3
+:100EA00067652066696C616D656E7400466C6F776E
+:100EB00000466C6F770046616E2073706565640054
+:100EC00046616E207370656564004265640042652A
+:100ED00064004E6F7A7A6C65004E6F7A7A6C6500AA
+:100EE0005370656564005370656564004D61696E9B
+:100EF00000436F6F6C646F776E00464C4558202D31
+:100F000020203235302F35300050502020202D2029
+:100F1000203235342F3130300048495053202D20B5
+:100F2000203232302F3130300050455420202D20D7
+:100F3000203234302F393000504C4120202D2020D9
+:100F40003232302F35300041425320202D202032C4
+:100F500038352F313030004D61696E004D38340026
+:100F60004D383420582059205A2045004D32340045
+:100F70004D323320257300052E2E004D61696E0021
+:100F800046616E2073706565640046616E20737003
+:100F90006565640042656400426564004E6F7A7A5C
+:100FA0006C65004E6F7A7A6C650053657474696E77
+:100FB000677300580059005A00457874727564656B
+:100FC00072004578747275646572004D6F766520A5
+:100FD0005A004D6F76652059004D6F766520580098
+:100FE00053657474696E67730047323800417574D5
+:100FF0006F20686F6D65004D38340044697361621D
+:101000006C652073746570706572730047323820A8
+:101010005A0043616C696272617465205A004D6FB9
+:10102000766520617869730054656D7065726174CE
+:10103000757265004D61696E005265763A203330F5
+:10104000302D316100686F77746F2E707275736127
+:1010500033642E636F6D00666F72756D2E707275DE
+:10106000736133642E636F6D0070727573613364E6
+:101070002E636F6D004669726D77617265202D2059
+:10108000322E322E31004D61696E00537570706FD3
+:1010900072740053657474696E677300556E6C6F7B
+:1010A00061642066696C616D656E74004C6F61648B
+:1010B0002066696C616D656E74004E6F205344202C
+:1010C00063617264005072696E742066726F6D2085
+:1010D00053440053746F70207072696E74005265CF
+:1010E00073756D65207072696E74005061757365FB
+:1010F000207072696E740050726568656174005486
+:10110000756E6500496E666F2073637265656E006B
+:1011100048617264636F6465642044656661756CE0
+:10112000742053657474696E6773204C6F616465D5
+:10113000640046696C616D656E74207365747469D2
+:101140006E67733A2044697361626C6564002020A5
+:10115000204D32303020440046696C616D656E74FC
+:101160002073657474696E67733A002020204D32D5
+:1011700030392053004175746F2D5265747261636C
+:10118000743A20533D3020746F2064697361626C3F
+:10119000652C203120746F20696E746572707265E1
+:1011A0007420657874727564652D6F6E6C79206D2E
+:1011B0006F766573206173207265747261637473F6
+:1011C000206F72207265636F7665726965730020A7
+:1011D00046002020204D3230382053005265636F86
+:1011E0007665723A20533D4578747261206C656E65
+:1011F00067746820286D6D2920463A5370656564D0
+:1012000020286D6D2F6D2900205A002046002020D7
+:10121000204D323037205300526574726163743A46
+:1012200020533D4C656E67746820286D6D292046FB
+:101230003A537065656420286D6D2F6D29205A3AE8
+:10124000205A4C69667420286D6D290020440020C6
+:1012500049002020204D3330312050005049442097
+:1012600073657474696E67733A00205A00205900E0
+:1012700020204D323036205800486F6D65206F6653
+:101280006673657420286D6D293A00204500205A48
+:101290000020580020420020540020204D323035DC
+:1012A000205300416476616E6365642076617269E3
+:1012B00061626C65733A20533D4D696E20666565C9
+:1012C000647261746520286D6D2F73292C20543D44
+:1012D0004D696E2074726176656C20666565647216
+:1012E00061746520286D6D2F73292C20423D6D6936
+:1012F0006E696D756D207365676D656E74207469B8
+:101300006D6520286D73292C20583D6D6178696DBD
+:10131000756D205859206A65726B20286D6D2F738A
+:10132000292C20205A3D6D6178696D756D205A20F9
+:101330006A65726B20286D6D2F73292C2020453D26
+:101340006D6178696D756D2045206A65726B202826
+:101350006D6D2F73290020540020204D3230342031
+:101360005300416363656C65726174696F6E3A2006
+:10137000533D616363656C65726174696F6E2C20A7
+:10138000543D7265747261637420616363656C655A
+:10139000726174696F6E00204500205A0020590068
+:1013A00020204D3230312058004D6178696D756DC7
+:1013B00020416363656C65726174696F6E20286D8E
+:1013C0006D2F7332293A00204500205A0020590021
+:1013D00020204D3230332058004D6178696D756D95
+:1013E0002066656564726174657320286D6D2F7366
+:1013F000293A00204500205A0020590020204D396C
+:101400003220580053746570732070657220756EB9
+:1014100069743A0045303A20005A3A2000593A207F
+:1014200000583A20004D53312C4D53322050696EF4
+:10143000730A00656E6473746F7073206869743A20
+:10144000205A00205A3A00656E6473746F707320DE
+:101450006869743A20590020593A00656E647374C3
+:101460006F7073206869743A20580020583A0065FC
+:101470006E6473746F7073206869743A200024F48A
+:10148000D43050C38E20C2A24017828B7011127AC2
+:10149000910D816CD90AA861E108C75866076151AE
+:1014A00043061E4B5D05C145A7041A411104093DC1
+:1014B0009803713931034036DB0265339102D43031
+:1014C0005402802E1D02632CEE01752AC501B0283E
+:1014D000A001102781018F2564012B244B01E022FC
+:1014E0003401AC211F018D200D01801FFC00841EE2
+:1014F000ED00971DDF00B81CD200E61BC600201BC4
+:10150000BC00641AB200B219A8000A19A0006A1837
+:101510009900D117910040178B00B5168400311641
+:101520007E00B31579003A157300C7146F00581484
+:101530006A00EE1366008813630025135E00C7126D
+:101540005B006C12570015125400C111510070114C
+:101550004F0021114B00D61049008D104700461056
+:10156000440002104200C00F4000800F3E00420FB6
+:101570003C00060F3B00CB0E3800930E37005C0E8C
+:101580003500270E3400F30D3200C10D3100900DEF
+:101590003000600D2E00320D2D00050D2C00D90CF1
+:1015A0002B00AE0C2900850C29005C0C2700350CA3
+:1015B00027000E0C2600E80B2400C40B2400A00B0F
+:1015C00023007D0B23005A0B2100390B2100180B3F
+:1015D0002000F80A1F00D90A1E00BB0A1E009D0A3F
+:1015E0001D00800A1D00630A1C00470A1B002C0A0C
+:1015F0001B00110A1A00F7091A00DD091900C409B5
+:101600001900AB091900920917007B09180063093A
+:1016100017004C09160036091600200916000A09A1
+:101620001500F5081500E0081400CC081400B808EF
+:101630001400A4081400900813007D0812006B0821
+:10164000130058081200460812003408110023083D
+:1016500011001208110001081100F0071000E00746
+:101660001000D0071000C0071000B0070F00A1073E
+:10167000100091070E0083070F0074070F00650725
+:101680000E0057070E0049070E003B070D002E07FE
+:101690000E0020070D0013070D0006070D00F906C8
+:1016A0000C00ED060D00E0060C00D4060C00C80688
+:1016B0000C00BC060C00B0060C00A4060B0099063A
+:1016C0000C008D060B0082060B0077060B006C06E3
+:1016D0000B0061060A0057060B004C060A00420682
+:1016E0000A0038060A002E060A0024060A001A0616
+:1016F0000A001006090007060A00FD050900F405A6
+:101700000900EB050900E2050900D9050900D0052B
+:101710000900C7050900BE050900B5050800AD05AB
+:101720000800A50509009C050800940508008C0523
+:101730000800840508007C050800740508006C0595
+:101740000700650508005D050700560508004E0501
+:101750000700470507004005080038050700310568
+:1017600007002A050700230507001C0506001605CB
+:1017700007000F0507000805060002050700FB0427
+:101780000600F5040700EE040600E8040600E20483
+:101790000700DB040600D5040600CF040600C904D8
+:1017A0000600C3040600BD040600B7040600B10429
+:1017B0000500AC040600A6040600A00405009B0476
+:1017C000060095040500900406008A0405008504BF
+:1017D0000500800406007A04050075040500700405
+:1017E00005006B04050066040500610405005C0447
+:1017F000050057040500520405004D040500480487
+:101800000500430405003E0404003A0405003504C5
+:101810000500300404002C04050027040400230400
+:1018200005001E0404001A04040016040500110437
+:1018300004000D040400090405000404040000046D
+:101840000400FC030400F8030400F4030400F003A4
+:101850000400EC030400E8030400E4030400E003D4
+:101860000400DC030400D8030400D4030400D00304
+:101870000400CC030400C8030300C503030024F4E0
+:1018800004D9201BC40C5C0E9804C4095F026507D0
+:101890007101F405F900FB04B30048048700C1039B
+:1018A00069005803550003034500BE023A00840254
+:1018B000310053022A002902250004022000E4011D
+:1018C0001C00C8011900AF01170098011400840121
+:1018D0001300710110006101100051010E0043015D
+:1018E0000D0036010B002B010B0020010B00150130
+:1018F00009000C01090003010800FB000800F300C7
+:101900000800EB000700E4000600DE000600D80037
+:101910000600D2000600CC000500C7000500C2008A
+:101920000500BD000400B9000400B5000400B100CA
+:101930000400AD000400A9000400A5000300A200FB
+:1019400003009F0004009B00030098000300950023
+:10195000020093000300900003008D0002008B0042
+:10196000030088000200860002008400030081005A
+:1019700002007F0002007D0002007B00020079006F
+:10198000020077000100760002007400020072007D
+:101990000100710002006F0002006D0001006C0088
+:1019A00002006A0001006900020067000100660091
+:1019B0000100650001006400020062000100610096
+:1019C0000100600001005F0002005D0001005C009A
+:1019D00001005B0001005A0001005900010058009D
+:1019E000010057000100560001005500010054009D
+:1019F000010053000000530001005200010051009B
+:101A00000100500001004F0001004E0000004E0098
+:101A100001004D0001004C0001004B0000004B0094
+:101A200001004A0001004900010048000000480090
+:101A3000010047000100460000004600010045008B
+:101A40000000450001004400010043000000430085
+:101A5000010042000000420001004100000041007E
+:101A60000100400001003F0000003F0001003E0077
+:101A700000003E0001003D0000003D0001003C0070
+:101A800000003C0000003C0001003B0000003B0067
+:101A900001003A0000003A0001003900000039005E
+:101AA0000100380000003800000038000100370055
+:101AB000000037000100360000003600000036004C
+:101AC0000100350000003500000035000100340041
+:101AD0000000340000003400010033000000330037
+:101AE000000033000100320000003200000032002C
+:101AF0000100310000003100000031000100300021
+:101B0000000030000000300001002F0000002F0016
+:101B100000002F0000002F0001002E0000002E000A
+:101B200000002E0001002D0000002D0000002D00FF
+:101B300000002D0001002C0000002C0000002C00F3
+:101B400000002C0001002B0000002B0000002B00E7
+:101B500000002B0001002A0000002A0000002A00DB
+:101B600000002A00010029000000290000002900CF
+:101B700000002900000029000100280000002800C2
+:101B800000002800000028000000280001002700B5
+:101B900000002700000027000000270000002700A9
+:101BA000010026000000260000002600000026009C
+:101BB000000026000100250000002500000025008F
+:101BC0000000250000002500000025000100240081
+:101BD0000000240000002400000024000000240075
+:101BE0000100230000002300000023000000230068
+:101BF0000000230000002300000023000100220059
+:101C0000000022000000220000002200000022004C
+:101C1000000022000100210000002100000021003E
+:101C20000000210000002100000021000000210030
+:101C30000100200000002000000020000000200023
+:101C40000000200000002000000020000000200014
+:101C500001001F0000001F0000001F0000001F0007
+:101C600000001F0000001F0000001F0001001E00F8
+:101C700000001E0000001E0000001E000000207476
+:101C80006F6F206C6F6E6720657874727573696F03
+:101C90006E2070726576656E7465640020636F6C8B
+:101CA0006420657874727573696F6E2070726576E2
+:101CB000656E746564000000090A02080B0C0D07CC
+:101CC0000603040100000000000000000000000006
+:101CD0000000000000000000000000000000000004
+:101CE000000011100F0000000000000000000000C4
+:101CF00000000000000000000000000000000000E4
+:101D000000000000000000000000000001021020A0
+:101D10002008081020401020408002010201080421
+:101D200002010102040810204080804020100804B5
+:101D3000020180040201804020100804020108040E
+:101D40000201010204081020408001020408102052
+:101D5000408010080408801020400440801020407B
+:101D600004800505050507050808080802020202A7
+:101D70000A0A080804040404010101010101010127
+:101D80000303030303030303040707070C0C0C0CF2
+:101D90000C0C0C0C020202020606060606060606DB
+:101DA0000B0B0B0B0B0B0B0B07070A0A0A0A0A0A91
+:101DB000050505040404080800002000230026008F
+:101DC00029002C002F003200000100000301060151
+:101DD000090100002200250028002B002E00310000
+:101DE000340002010000050108010B010000210080
+:101DF000240027002A002D003000330001010000DC
+:101E0000040107010A01024E414E494E4954594905
+:101E10004E46CDCCCC3D0AD7233C17B7D13877CC32
+:101E20002B329595E6241FB14F0A00002041000097
+:101E3000C84200401C4620BCBE4CCA1B0E5AAEC550
+:101E40009D749D63FF7DEDA5A16311241FBECFEF9F
+:101E5000D1E2DEBFCDBF00E00CBF15E0A0E0B2E0F4
+:101E6000E2E6F2E701E00BBF02C007900D92A23E4E
+:101E7000B107D9F724E1A2EEB5E001C01D92AD3B58
+:101E8000B207E1F71EE1C8E4DEE100E006C02297F8
+:101E90000109FE010BBF0E94D8B2C234D10780E015
+:101EA0000807A9F70E94F1A90C9420B90C9400002E
+:101EB000CF93DF93EC019C012C5F3F4F41E050E05A
+:101EC00060E070E0898D9A8D0E94FA19882399F05C
+:101ED0004D895E896F89788D452B462B472B59F4A8
+:101EE0004C815D816E817F814D8B5E8B6F8B788F96
+:101EF000998190689983DF91CF910895CF92DF9275
+:101F0000EF92FF920F931F93CF93DF93EC01898998
+:101F10009A89AB89BC89803E9F4FAF41B10510F0D3
+:101F200080E06BC0CE01C4DF8823D1F30E940E187D
+:101F3000182F8823A9F3E98DFA8DCC80DD80EE80FF
+:101F4000FF8032E0C31AD108E108F108058404C01B
+:101F5000CC0CDD1CEE1CFF1C0A94D2F786859785FD
+:101F6000A089B189C80ED91EEA1EFB1E81E08093AC
+:101F7000E805C092EB07D092EC07E092ED07F092F3
+:101F8000EE0780E092E0EBEEF5E0DF019C011D92B0
+:101F900021503040E1F701E0E98DFA8D8481081786
+:101FA00090F42BEE35E0B701A601400F511D611DE5
+:101FB000711D8091E9059091EA050E94E73B882315
+:101FC000E1F00F5FE9CFC12C82E0D82EE12CF12C9B
+:101FD000058404C0CC0CDD1CEE1CFF1C0A94D2F757
+:101FE00049895A896B897C894C0D5D1D6E1D7F1D49
+:101FF000498B5A8B6B8B7C8B812FDF91CF911F91FB
+:102000000F91FF90EF90DF90CF900895CF93DF93E3
+:10201000EC0141E0611101C040E06C857D858E8559
+:102020009F850E944E18882341F0888920E2829F74
+:10203000C001112485519A4F02C080E090E0DF91E9
+:10204000CF91089530E020E04EE2DC015C91503207
+:1020500071F0383029F4FB01E20FF11D40832F5F4E
+:10206000FB01E20FF11DDC015C9150832F5F3F5FAC
+:1020700001963B3051F7FB01E20FF11D10820895EC
+:10208000CF93DF93EB01FC012381211102C080E09B
+:102090000EC02250223020F48FE28883198206C0BD
+:1020A00060E0B4DF009799F3BE01CCDF81E0DF91FF
+:1020B000CF910895FB012BE030E231932150E9F7F5
+:1020C000DC0190E027E03A2FEB2F8D9181110AC0BF
+:1020D000DA013C931196EC9381E0FB019081903200
+:1020E00039F525C08F32A1F38E3219F0EAE8F1E01C
+:1020F00008C02A30E1F098E02AE0E5CF31963817A1
+:10210000B1F034913111FACF291788F03FED380F33
+:102110003E3568F431E0390FFB01E90FF11D9FE90D
+:10212000980F9A3108F480528083932FCCCF80E0AF
+:1021300008950F931F93CF93DF93EC018B018B8155
+:10214000882311F080E042C0FB018789803139F19A
+:102150008032C1F783E08B83F801428D538D648D0B
+:10216000758D4D8B5E8B6F8B788F9E012F5E3F4FF1
+:10217000C8010E940519882329F31A8F098F81E06D
+:1021800089831C821D821E821F82188619861A86E8
+:102190001B861C861D861E861F86188A17C082E035
+:1021A0008B831D8A1E8A1F8A188EFB01408D518DDC
+:1021B00060E070E095E0440F551F661F771F9A9509
+:1021C000D1F7498B5A8B6B8B7C8BD7CFDF91CF911B
+:1021D0001F910F9108952F923F924F925F926F92AD
+:1021E0007F928F929F92AF92BF92CF92DF92EF92A7
+:1021F000FF920F931F93CF93DF93EC015B016A0172
+:102200008B81811103C08FEF9FEFC7C0898180FF51
+:10221000FACF49895A896B897C8988859985AA85ED
+:10222000BB852601612C712C8A019B01081B190BAF
+:102230002A0B3B0B401651066206730618F06A0122
+:10224000C81AD90A76013E0124E0620E711CE1141D
+:10225000F10409F476C0488559856A857B854A0171
+:1022600081E098222B811A012B01E9E056944794D2
+:1022700037942794EA95D1F7898D9A8DFC01223005
+:1022800049F4628D738D848D958D620D731D841D4F
+:10229000951D3CC014811150122181149104C1F488
+:1022A000111116C0452B462B472B49F48D899E8969
+:1022B000AF89B88D8C839D83AE83BF8309C04C8169
+:1022C0005D816E817F81930121D7882309F49BCFA3
+:1022D000E98DFA8D6C817D818E819F8162507109BB
+:1022E00081099109058404C0660F771F881F991F13
+:1022F0000A94D2F72685378540895189620F731F6A
+:10230000841F951F610F711D811D911D20E032E01A
+:102310002819390987012E153F0508F4890101158F
+:10232000F2E01F0769F52091EB073091EC0740912F
+:10233000ED075091EE07621773078407950719F4AC
+:102340001FC0C6012AC09501AB01BC018091E905FF
+:102350009091EA050E94723B882309F454CFA00EA5
+:10236000B11E88859985AA85BB85800F911FA11D07
+:10237000B11D88879987AA87BB87E01AF10A67CFC2
+:1023800040E08CD6882309F43ECFB40165517A4FE2
+:10239000A801C5010E94F5B5E2CFDF91CF911F9151
+:1023A0000F91FF90EF90DF90CF90BF90AF909F90F4
+:1023B0008F907F906F905F904F903F902F900895F7
+:1023C000CF93DF931F92CDB7DEB741E050E0BE015F
+:1023D0006F5F7F4F00DF019719F4898190E002C0A1
+:1023E0008FEF9FEF0F90DF91CF910895CF92DF9203
+:1023F000EF92FF920F931F93CF93DF936C01EB014A
+:102400007A01FC018381823060F00085118522858C
+:1024100033850F71112722273327012B022B032B22
+:1024200011F08FEF5CC04115510511F0F7011082DA
+:102430001DE040E250E0BE01C601CDDE80329105D4
+:1024400039F021E0892B09F420E0822F819547C0E3
+:1024500028812223C1F0253E61F32E3251F33B85C2
+:102460003F733F3061F4E114F10449F04A8D5B8D14
+:10247000452B29F42F713FEF320F343030F02B858C
+:1024800023FDD7CF2CC080E02AC030E02150310995
+:10249000129FC001139F900D1124F701E80FF91F3F
+:1024A000298120832B8121832D8122832F812383E6
+:1024B000298524832E852583288926832A892783B5
+:1024C0002C8920872E892187288D22872C8D238790
+:1024D0002E8D2487288126FFD2CF1586D0CFDF917D
+:1024E000CF911F910F91FF90EF90DF90CF900895C3
+:1024F0001F93CF93DF93EC018B81823018F480E03F
+:1025000090E023C0488559856A857B85A5E076954E
+:10251000679557954795AA95D1F7142F1F70CE014F
+:102520004FDF97FDECCF488559856A857B85415EF5
+:102530005F4F6F4F7F4F488759876A877B8720E2BD
+:10254000129FC001112485519A4FDF91CF911F91A5
+:1025500008954F925F926F927F92AF92BF92CF9207
+:10256000DF92EF92FF920F931F93CF93DF93EC01D3
+:102570006A017B012B81222349F089899A89AB89E1
+:10258000BC8984179507A607B70710F480E06BC0D5
+:10259000223009F463C0C114D104E104F10449F408
+:1025A0001C821D821E821F82188619861A861B862F
+:1025B00059C088859985AA85BB85E98DFA8DE58501
+:1025C000F0E03996AC01BD01415051096109710932
+:1025D0000E2E04C076956795579547950A94D2F7C5
+:1025E00097018601015011092109310904C036956E
+:1025F000279517950795EA95D2F70417150726072B
+:10260000370720F0892B8A2B8B2B49F48D899E89E3
+:10261000AF89B88D8C839D83AE83BF8304C0041BB8
+:10262000150B260B370B280139015E0184E0A80E3B
+:10263000B11C411451046104710481F04C815D812D
+:102640006E817F819501898D9A8D60D591E0491ABF
+:102650005108610871088111ECCF05C0C886D98680
+:10266000EA86FB8681E0DF91CF911F910F91FF9069
+:10267000EF90DF90CF90BF90AF907F906F905F9082
+:102680004F9008950F931F93CF93DF93EC018B81AD
+:102690008823D1F1898187FF32C061E0CE01B6DCA9
+:1026A0008C01009789F1FC018081853E69F18B8165
+:1026B000823040F449895A896B897C89448F558FCF
+:1026C000668F778F4D895E896F89788DF801538F7A
+:1026D000428F758B648BE091E205F091E3053097B2
+:1026E00059F0B8016A5E7F4FC80148961995F80104
+:1026F000808D918D938B828B89818F778983DF91F8
+:10270000CF911F910F918AC481E0888380E0DF918F
+:10271000CF911F910F910895CF93DF93EC01B2DF1A
+:102720001B82DF91CF910895FC0123812111F4CF09
+:1027300008954F925F926F927F92AF92BF92CF9225
+:10274000DF92EF92FF920F931F93CF93DF9300D00E
+:102750001F92CDB7DEB75C016A017B01FC0183816A
+:102760008130E9F4818181FF1AC0F5018189928964
+:10277000A389B48984179507A607B70780F0892B2A
+:102780008A2B8B2B09F472C0F5014084518462843A
+:102790007384B701A601C501DCDE811102C080E0AF
+:1027A00066C0F501818D928DC114D104E104F1045C
+:1027B00069F4458956896789708D25D7882379F30F
+:1027C000F501158A168A178A108E37C0F5014481E3
+:1027D0005581668177819E012F5F3F4F97D4882373
+:1027E000F1F249815A816B817C81F501818D928D55
+:1027F000FC012789203139F4483FFFEF5F0761056D
+:102800007105D8F407C0483F2FEF520762072FE049
+:10281000720798F4F8D6882309F4C1CFF5014481F2
+:102820005581668177810FEF1FEF2FEF3FE0818D9C
+:10283000928D51D5882309F4B2CFF501C18AD28A8D
+:10284000E38AF48A818180688183C5011BDF882344
+:1028500009F4A5CFB701A6014C145D046E047F04F2
+:1028600010F4B301A201C50174DE01C081E00F9034
+:102870000F900F900F90DF91CF911F910F91FF90CC
+:10288000EF90DF90CF90BF90AF907F906F905F9070
+:102890004F900895FF920F931F93CF93DF93EC0116
+:1028A000F42E80E2689FF0011124E551FA4F8385F0
+:1028B000817121F0842F827109F04EC08091EB0765
+:1028C0009091EC07A091ED07B091EE078C879D8762
+:1028D000AE87BF87688B4489558960E070E0BA0194
+:1028E00055274427028D138D20E030E0402B512BDB
+:1028F000622B732B4D8B5E8B6F8B788F83858871EA
+:1029000051F4048D158D268D378D098B1A8B2B8BE9
+:102910003C8B81E00BC08031F9F49E012F5E3F4F6C
+:10292000898D9A8D72D48823B9F084E08B838F2DA2
+:102930008F7089831C821D821E821F8218861986D1
+:102940001A861B86F4FE0BC040E050E0BA01CE01AF
+:10295000F0DE811104C011C01B8280E00EC0F5FEC4
+:102960000BC049895A896B897C89CE01DF91CF914F
+:102970001F910F91FF90EDCD81E0DF91CF911F91DD
+:102980000F91FF900895AF92BF92CF92DF92EF9296
+:10299000FF920F931F93CF93DF937C01EB016A01AA
+:1029A000B22E898D9A8DF701928F818F40E050E091
+:1029B000BA01CE01CEDDA12C088519852A853B857B
+:1029C00089899A89AB89BC89081719072A073B07A7
+:1029D000A0F585E036952795179507958A95D1F747
+:1029E0000F70CE0185DD009709F481C0FC012081C4
+:1029F000222311F0253EB9F4A1100EC04091EB073F
+:102A00005091EC076091ED077091EE07F701448754
+:102A1000558766877787008BFC018081AA24A39461
+:102A20008111CACF0AC04BE050E0BC01C6010E9430
+:102A3000E8B5892B09F0C0CF58C08B2D8274823441
+:102A400009F055C0AA2049F0F701008961E0C701EB
+:102A5000DDDAEC01009769F44AC08B81823009F419
+:102A600046C0CE014BDA882309F441C0CBEED5E055
+:102A700000E080E2FE0111928A95E9F78BE0F60111
+:102A8000DE0101900D928A95E1F7E091E205F09167
+:102A9000E305309739F0BE01625F7F4FCE0140966B
+:102AA000199508C081E298E2998B888B80E098E0C4
+:102AB0009F878E87888999899B8B8A8B998F888F2E
+:102AC0008E859F859F8B8E8BA9D2882381F04B2D7D
+:102AD000602FC701DF91CF911F910F91FF90EF9071
+:102AE000DF90CF90BF90AF90D5CEB7FEF0CF80E013
+:102AF000DF91CF911F910F91FF90EF90DF90CF90DA
+:102B0000BF90AF9008953F924F925F926F927F92E5
+:102B10008F929F92AF92BF92CF92DF92EF92FF92ED
+:102B20000F931F93CF93DF93CDB7DEB7C354D10973
+:102B30000FB6F894DEBF0FBECDBF5C016B012496CB
+:102B40005FAF4EAF2497522E1C8E1F8E19821C82AF
+:102B50006115710511F410E073C0FC0183818111CE
+:102B6000FACF2496EEADFFAD249780818F3211F01D
+:102B700076011DC02496EEADFFAD249780818F3283
+:102B800031F431962496FFAFEEAF2497F3CFF601E0
+:102B900083818250823060F3F601618D728DCE01A7
+:102BA0000196C7DA8823B9F2CE0101967C018E0125
+:102BB000045E1F4F3801FE0131964F01402E312E29
+:102BC00019C08823A9F121E0AE01495C5F4FB7012C
+:102BD000C801D9DE882309F4BECFEC14FD0411F03E
+:102BE000C7019ADD0615170501F1942D832D780193
+:102BF000092F182FAE014E5B5F4FBE01695C7F4FFE
+:102C000024968EAD9FAD249755DA882309F4A3CF7F
+:102C10002496EEADFFAD249780818F3291F63196E8
+:102C20002496FFAFEEAF2497F3CF982D892DDFCFF9
+:102C3000252DAE01495C5F4FB701C501A4DE182FF9
+:102C4000CE01019671DDCE014C966EDD812FCD5BFC
+:102C5000DF4F0FB6F894DEBF0FBECDBFDF91CF912F
+:102C60001F910F91FF90EF90DF90CF90BF90AF90AA
+:102C70009F908F907F906F905F904F903F900895BE
+:102C8000CF93DF93EC0140E050E0BA0152DD88239E
+:102C900061F061E0CE01BAD9009739F025EEFC0170
+:102CA00020831B82DF91CF91B9C180E0DF91CF916A
+:102CB00008951F93CF93DF93CDB7DEB76B970FB611
+:102CC000F894DEBF0FBECDBFAB0119821C8222E09B
+:102CD000BC01CE01019617DF182F882321F0CE0109
+:102CE0000196CEDF182FCE0101961EDD812F6B9647
+:102CF0000FB6F894DEBF0FBECDBFDF91CF911F910D
+:102D000008952F923F924F925F926F927F928F928F
+:102D10009F92AF92BF92CF92DF92EF92FF920F936A
+:102D20001F93CF93DF9300D01F921F92CDB7DEB7D2
+:102D30008C015B013A01DC0113968C911397813071
+:102D4000C1F411968C9181FF14C082FF18C0F80164
+:102D5000418952896389748980859185A285B3856B
+:102D600084179507A607B70751F0C801F2DB811158
+:102D700006C081E0F80180838FEF9FEF37C16301C8
+:102D800083C0D80159968D919C915A97FC01F4818A
+:102D9000F1501A012B0169E0569447943794279417
+:102DA0006A95D1F7F221FD834A0121E09222FF23A7
+:102DB00009F476C080E092E08819990976018C15B3
+:102DC0009D0508F47C01D8015996ED91FC915A9724
+:102DD00014962D903D904D905C901797B2E02B1A71
+:102DE000310841085108058404C0220C331C441CDE
+:102DF000551C0A94D2F786859785A089B189280E3B
+:102E0000391E4A1E5B1EED812E0E311C411C511CC9
+:102E1000E114F2E0FF0609F089C08091EB07909180
+:102E2000EC07A091ED07B091EE0782159305A4057C
+:102E3000B50569F41092E8058FEF9FEFDC018093F0
+:102E4000EB079093EC07A093ED07B093EE07950185
+:102E5000B201A1018091E9059091EA050E94E73B4A
+:102E6000882309F486CFF80180859185A285B385F2
+:102E70008E0D9F1DA11DB11D80879187A287B387ED
+:102E8000AE0CBF1CCE18DF08D80118964D915D918D
+:102E90006D917C911B97C114D10409F072CF7AC057
+:102EA0008114910409F086CF14964D915D916D9136
+:102EB0007C911797411551056105710559F4559697
+:102EC0008D919D910D90BC91A02D0097A105B1050C
+:102ED00039F520C09E012F5F3F4F18D1882309F498
+:102EE00048CF89819A81AB81BC81F801218D328DD7
+:102EF000F9012789203139F4883FFFEF9F07A105A9
+:102F0000B10540F40DC0883F2FEF9207A2072FE0D4
+:102F1000B20730F0C8010E94580F81114BCF29CF62
+:102F2000F80184839583A683B78344CF81149104E9
+:102F300011F5D80118964D915D916D917C911B977B
+:102F400051968D919D910D90BC91A02D48175907D8
+:102F50006A077B0780F062D0882309F40ACF81E0FA
+:102F60008093E8052092EB073092EC074092ED0742
+:102F70005092EE0707C041E0C201B1018FD0882313
+:102F800009F4F7CEA701B501C40185519A4F0E94FB
+:102F9000F5B569CF51968D919D910D90BC91A02D65
+:102FA000F801218184179507A607B70738F4418BEC
+:102FB000528B638B748B206821830CC08091E20557
+:102FC0009091E305892B31F06114710419F02068A8
+:102FD000F8012183D80111968C9183FD02C0C301B1
+:102FE00005C0C8014FDB8111FACFC3CE0F900F90FF
+:102FF0000F900F900F90DF91CF911F910F91FF9045
+:10300000EF90DF90CF90BF90AF909F908F907F9088
+:103010006F905F904F903F902F900895CF93809145
+:10302000E8058823B9F14091EB075091EC076091D6
+:10303000ED077091EE072BEE35E08091E905909158
+:10304000EA050E94E73BC82F811102C0C0E023C0FF
+:103050004091E4055091E5056091E6057091E70522
+:10306000411551056105710591F02BEE35E0809118
+:10307000E9059091EA050E94E73B882339F3109215
+:10308000E4051092E5051092E6051092E70510920E
+:10309000E80501C0C1E08C2FCF910895CF92DF9257
+:1030A000EF92FF92CF936B017C01C42F8091EB07CD
+:1030B0009091EC07A091ED07B091EE078C159D055E
+:1030C000AE05BF05C9F0AADF811102C080E018C0BB
+:1030D0002BEE35E0B701A6018091E9059091EA0554
+:1030E0000E94723B882391F3C092EB07D092EC07C9
+:1030F000E092ED07F092EE0781E0C1118093E805C0
+:10310000CF91FF90EF90DF90CF9008958F929F9294
+:10311000AF92BF92CF92DF92EF92FF920F931F93E5
+:10312000CF93DF93EC016A017B01890189859A8540
+:10313000AB85BC850196A11DB11D84179507A60717
+:10314000B70710F480E054C08F89803129F49927A3
+:10315000872F762F652F0BC08032A1F7CB01BA01E4
+:1031600027E096958795779567952A95D1F78B886F
+:103170009C88AD88BE88680D791D8A1D9B1D809036
+:10318000EB079090EC07A090ED07B090EE07681564
+:1031900079058A059B0581F48F89803191F4DD24BE
+:1031A000EE24FF24F601EE0FFF1FE551FA4F808158
+:1031B0009181A0E0B0E016C040E070DF8111ECCF5B
+:1031C000C1CFE894C7F8DD24EE24FF24F601EE0F0A
+:1031D000FF1FEE0FFF1FE551FA4F80819181A28101
+:1031E000B381BF70F80180839183A283B38381E0B0
+:1031F000DF91CF911F910F91FF90EF90DF90CF90D3
+:10320000BF90AF909F908F9008954F925F926F9272
+:103210007F92AF92BF92CF92DF92EF92FF920F9385
+:103220001F93CF93DF9300D01F92CDB7DEB78C01F1
+:1032300049835A836B837C835901C12CD12C76013D
+:10324000412C42E0542E612C712C49815A816B81B2
+:103250007C819E012F5F3F4FC80158DF882341F1D9
+:10326000D301C201F801058404C0880F991FAA1F69
+:10327000BB1F0A94D2F7C80ED91EEA1EFB1E498155
+:103280005A816B817C818789803139F481E0483FA4
+:103290005F4F6105710538F4D8CF81E0483F5F4F3B
+:1032A0006F4F7F4090F2F501C082D182E282F382BB
+:1032B0000F900F900F900F90DF91CF911F910F9172
+:1032C000FF90EF90DF90CF90BF90AF907F906F9086
+:1032D0005F904F9008954F925F926F927F928F927E
+:1032E0009F92AF92BF92CF92DF92EF92FF920F9395
+:1032F0001F93CF93DF93EC014A015B012801390151
+:10330000423051056105710508F462C049855A854E
+:103310006B857C854F5F5F4F6F4F7F4F4815590519
+:103320006A057B0508F454C08F89803129F4FF2495
+:10333000EB2CDA2CC92C0CC0803209F049C0750185
+:10334000640177E0F694E794D794C7947A95D1F71F
+:103350004B895C896D897E89C40ED51EE61EF71ED9
+:1033600041E0C701B6019ADE882391F19F8990312F
+:1033700059F49924AA24BB24F401EE0FFF1FE55150
+:10338000FA4F5182408210C0E89487F89924AA2409
+:10339000BB24F401EE0FFF1FEE0FFF1FE551FA4FA4
+:1033A00040825182628273829A89923090F04D817C
+:1033B0005E816F8178854C0D5D1D6E1D7F1D409374
+:1033C000E4055093E5056093E6057093E70501C0B9
+:1033D00080E0DF91CF911F910F91FF90EF90DF90F0
+:1033E000CF90BF90AF909F908F907F906F905F90A5
+:1033F0004F9008952F923F924F925F926F927F92DB
+:103400008F929F92AF92BF92CF92DF92EF92FF92F4
+:103410000F931F93CF93DF93CDB7DEB72F970FB6E0
+:10342000F894DEBF0FBECDBF1C014C875D876E8751
+:103430007F873B872A87DC0119960D911D912D917D
+:103440003C911C970F5F1F4F2F4F3F4F0D831E83E3
+:103450002F833887EA85FB8580809180A280B380A6
+:1034600081149104A104B10431F0FFEF8F1A9F0A77
+:10347000AF0ABF0A10C0DC018D909D90AD90BC904A
+:10348000B1E0B9870C851D852E853F85013011057A
+:103490002105310509F0198675016401412C512C73
+:1034A0003201F10181859285A385B48548165906BC
+:1034B0006A067B0608F04EC00D811E812F8138857B
+:1034C0000C151D052E053F0550F4F2E0CF2ED12C32
+:1034D000E12CF12CA2E08A2E912CA12CB12C9E0182
+:1034E0002F5F3F4FB701A601C10110DE882391F184
+:1034F00049815A816B817C81D701C6010196A11D4A
+:10350000B11D452B462B472B19F04C015D010FC017
+:10351000AC01BD01481959096A097B090C851D8553
+:103520002E853F85401751076207730741F01FEF53
+:10353000411A510A610A710A6C017D01B2CF0FEF85
+:103540001FEF2FEF3FE0B701A601C101C4DE8D835D
+:10355000811113C01D823DC02601370121E0421AAE
+:1035600051086108710897018601B301A201C101E8
+:10357000B2DE882379F3730162018C149D04AE04DA
+:10358000BF0450F3AA85BB854D915D916D917C91EF
+:103590004115510561057105A9F4EA85FB85808215
+:1035A0009182A282B382F985FF2399F00FEF801AEE
+:1035B000900AA00AB00AD1018D929D92AD92BC9260
+:1035C000139707C095018401C10185DE8111E5CF04
+:1035D000C1CF8D812F960FB6F894DEBF0FBECDBF41
+:1035E000DF91CF911F910F91FF90EF90DF90CF90DF
+:1035F000BF90AF909F908F907F906F905F904F9013
+:103600003F902F900895AF92BF92CF92DF92EF92AA
+:10361000FF920F931F93CF93DF9300D01F92CDB7EC
+:10362000DEB75C016A017B0182E090E0A0E0B0E0DF
+:10363000F50180839183A283B3839E012F5F3F4F67
+:10364000B701A601C50162DD811102C080E023C07F
+:1036500000E010E09801B701A601C5013CDE882317
+:10366000A9F3C980DA80EB80FC80F501878980317D
+:1036700049F481E0F8EFCF16FFEFDF06E104F10433
+:1036800050F4DBCF81E098EFC9169FEFD906E90629
+:103690009FE0F90690F20F900F900F900F90DF913E
+:1036A000CF911F910F91FF90EF90DF90CF90BF903F
+:1036B000AF9008957F928F929F92AF92BF92CF92D8
+:1036C000DF92EF92FF920F931F93CF93DF93EC0162
+:1036D000142F7093EA056093E9051F8A82E090E059
+:1036E000A0E0B0E088839983AA83BB831092E805A9
+:1036F0001092E4051092E5051092E6051092E70598
+:103700008FEF9FEFDC018093EB079093EC07A09382
+:10371000ED07B093EE07442349F1453008F0DEC0D1
+:1037200040E060E070E0CB01B9DC882309F4D6C04A
+:1037300020E1129FF0011124E756F84F80818F7726
+:1037400009F0CCC084859585A685B785843691051A
+:10375000A105B10508F4C2C0C084D184E284F38419
+:10376000C114D104E104F10421F4B8C0C12CD12C5E
+:10377000760140E0C701B60191DC782E882309F478
+:10378000ADC08091F6059091F7058115924009F042
+:10379000A5C03091FB05332309F4A0C08091F90541
+:1037A0009091FA05892B09F499C02091F8052223FC
+:1037B00009F494C03A8B2C831D8630E041E050E040
+:1037C0006D85062FCA01062E02C0880F991F0A9424
+:1037D000E2F72817390731F081E0860F8D876830CE
+:1037E00078F37CC020910106309102062115310545
+:1037F00019F040E050E008C020910F06309110060B
+:1038000040911106509112062D833E834F835887B5
+:103810008091F9059091FA0546015701880E991E8D
+:10382000A11CB11C8B8A9C8AAD8ABE8AE091FC05E2
+:10383000F091FD05F98FE88FA091FB05B0E00E94A3
+:10384000C8B2680D791D8A1D9B1D6A8F7B8F8C8F76
+:103850009D8FB5E0EE0FFF1FBA95E1F7E150FE4FE7
+:10386000EF2FFF27E695DC01CB018E0F9F1FA11DD7
+:10387000B11D8E879F87A88BB98B8090FE05909095
+:10388000FF058114910419F0A12CB12C08C080907F
+:103890000B0690900C06A0900D06B0900E06A701A6
+:1038A0009601281B390B4A0B5B0BDA01C901880D05
+:1038B000991DAA1DBB1D04C0B695A7959795879520
+:1038C0000A95D2F789879A87AB87BC87853F3FE007
+:1038D0009307A105B10520F48CE08F8B712C15C0E6
+:1038E000853F9F4FA105B10510F480E10DC0809187
+:1038F000170690911806A0911906B0911A068A8FA2
+:103900009B8FAC8FBD8F80E28F8B872DDF91CF9106
+:103910001F910F91FF90EF90DF90CF90BF90AF90ED
+:103920009F908F907F9008954F925F926F927F92B9
+:103930008F929F92AF92BF92CF92DF92EF92FF92BF
+:103940000F931F93CF93DF932C0124E733E081E0A3
+:1039500090E0F90145915491441655060CF062C06F
+:10396000AC0141505109DA01AA0FBB1FAA0FBB1FBE
+:10397000AE58BC4FFD0165917491440F551F440F23
+:10398000551F40595C4FFA0165907490FC01EE0F91
+:10399000FF1FEE0FFF1FEE58FC4FA590B490FD01E6
+:1039A00005911491F901C591D491FA0185909490F3
+:1039B000882777FD8095982F0E9442AF6B017C018C
+:1039C000B20166197709882777FD8095982F0E94A4
+:1039D00042AF2B013C01B501601B710B882777FDBD
+:1039E0008095982F0E9442AF9B01AC01C301B201A8
+:1039F0000E9475B12B013C01BE0168197909882725
+:103A000077FD8095982F0E9442AF9B01AC01C301C6
+:103A1000B2010E94A7AE9B01AC01C701B6010E9492
+:103A2000C7AD11C001962C5F3F4F8D33910509F052
+:103A300090CFE2E6F4E065917491882777FD809558
+:103A4000982F0E9442AFDF91CF911F910F91FF906D
+:103A5000EF90DF90CF90BF90AF909F908F907F902E
+:103A60006F905F904F9008954F925F926F927F9208
+:103A70008F929F92AF92BF92CF92DF92EF92FF927E
+:103A80000F931F93CF93DF932C01662371F1E5E32E
+:103A9000FEE08491882341F09091C00095FFFCCF17
+:103AA0008093C6003196F5CF70E04AE050E08CE993
+:103AB0009DE00E945A8AE9E5F2E08491882341F072
+:103AC0009091C00095FFFCCF8093C6003196F5CF52
+:103AD0008091C00085FFFCCF8AE08093C6000E94E1
+:103AE000224560E070E0CB017EC024E733E081E056
+:103AF00090E0F90145915491441655060CF062C0CE
+:103B0000AC0141505109DA01AA0FBB1FAA0FBB1F1C
+:103B1000AE58BC4FFD0165917491440F551F440F81
+:103B2000551F40595C4FFA0165907490FC01EE0FEF
+:103B3000FF1FEE0FFF1FEE58FC4FA590B490FD0144
+:103B400005911491F901C591D491FA018590949051
+:103B5000882777FD8095982F0E9442AF6B017C01EA
+:103B6000B20166197709882777FD8095982F0E9402
+:103B700042AF2B013C01B501601B710B882777FD1B
+:103B80008095982F0E9442AF9B01AC01C301B20106
+:103B90000E9475B12B013C01BE0168197909882783
+:103BA00077FD8095982F0E9442AF9B01AC01C30125
+:103BB000B2010E94A7AE9B01AC01C701B6010E94F1
+:103BC000C7AD11C001962C5F3F4F8D33910509F0B1
+:103BD00090CFE2E6F4E065917491882777FD8095B7
+:103BE000982F0E9442AFDF91CF911F910F91FF90CC
+:103BF000EF90DF90CF90BF90AF909F908F907F908D
+:103C00006F905F904F90089560E08091440890918C
+:103C100045082ADF6093400870934108809342086A
+:103C20009093430880913E0890913F087DDE609319
+:103C30003A0870933B0880933C0890933D088FB7F7
+:103C4000F894109232088FBF089520911402309199
+:103C50001502409116025091170260E070E08FE764
+:103C600093E40E94A7AE60931208709313088093A8
+:103C7000140890931508089597FF03C080913908A0
+:103C800004C0FC01E45FF74F808190E00895CF937A
+:103C9000DF93D82FC62FC19561E00E9451A86C2FE9
+:103CA0008D2F0E948AA86C2F70E08D2FDF91CF910D
+:103CB0000C9447A7CF93C1E020E030E048E452E401
+:103CC00060914008709141088091420890914308AA
+:103CD0000E94A3B018160CF0C0E06C2F86E090E0B4
+:103CE000CF91D5CF2F923F924F925F926F927F925A
+:103CF0008F929F92AF92BF92CF92DF92EF92FF92FC
+:103D00000F931F93CF93DF93CDB7DEB728970FB6EE
+:103D1000F894DEBF0FBECDBF80913208882309F42E
+:103D2000F8C172DF8090400890904108A09042084E
+:103D3000B09043080091480810914908B8018827BD
+:103D400077FD8095982F0E9442AFA50194010E94B3
+:103D5000C6AD6B017C0160931A0870931B088093B9
+:103D60001C0890931D0820E030E040E251E40E94DE
+:103D7000A3B0181624F481E080931108F7C020E066
+:103D800030E040E251ECC701B6010E94A0AE87FDD1
+:103D900002C0012B21F481E0809311080CC18091B5
+:103DA0001108882351F010922E0810922F081092BB
+:103DB00030081092310810921108209118023091A9
+:103DC000190240911A0250911B02C701B6010E94CC
+:103DD00075B169837A838B839C8360932608709383
+:103DE0002708809328089093290820912E08309165
+:103DF0002F084091300850913108C701B6010E9448
+:103E0000C7AD2B013C012090160830901708109187
+:103E10001808009119089101412F502F0E94A0AE5F
+:103E200087FD14C0209012083090130810911408D8
+:103E3000009115089101412F502FB201C3010E943A
+:103E4000A3B018161CF01201162D072DC101A12FC9
+:103E5000B02F80932E0890932F08A0933008B09332
+:103E600031082091140230911502409116025091B0
+:103E70001702B101812F902F0E9475B16D837E834F
+:103E80008F83988760932208709323088093240877
+:103E90009093250820912A0830912B0840912C08F6
+:103EA00050912D08C501B4010E94C6AD20911002A9
+:103EB0003091110240911202509113020E9475B18B
+:103EC00020ED3CEC4CE45DE30E9475B12B013C011C
+:103ED00023E333E343E75FE360911E0870911F081B
+:103EE00080912008909121080E9475B19B01AC013E
+:103EF000C301B2010E94C7AD2B013C0160931E08B3
+:103F000070931F0880932008909321082D813E8193
+:103F10004F81588569817A818B819C810E94C7ADD0
+:103F2000A30192010E94C6AD2B013C0120E030E0CC
+:103F30004FE753E40E94A3B020E030E0A901181637
+:103F4000E4F4C701B6010E94A3B018167CF4A701DF
+:103F50009601B101812F902F0E94C6AD60932E086B
+:103F600070932F088093300890933108412C512C86
+:103F70009FE7692E93E4792E21C0C301B2010E940C
+:103F8000A0AE87FF1BC020E030E0A901C701B60149
+:103F90000E94A0AE87FF0FC0A7019601B101812F3B
+:103FA000902F0E94C6AD60932E0870932F088093C7
+:103FB000300890933108412C512C320180922A080C
+:103FC00090922B08A0922C08B0922D0860910408C2
+:103FD00070910508882777FD8095982F0E9442AF41
+:103FE0009B01AC01C501B4010E94A3B01816DCF41A
+:103FF0006091080270910902882777FD8095982FBB
+:104000000E9442AF9B01AC01C501B4010E94A0AE69
+:1040100087FF09C0C301B2010E940FAF7595679574
+:1040200060930C0802C010920C080E9431A9009104
+:1040300008081091090820910A0830910B08601BAC
+:10404000710B820B930B653C79408105910558F00B
+:1040500031DE0E9431A960930808709309088093AB
+:104060000A0890930B080E9431A900910D08109145
+:104070000E0820910F0830911008601B710B820B05
+:10408000930B683873418105910508F442C00E9482
+:1040900031A960930D0870930E0880930F089093D8
+:1040A0001008C0903A08D0903B08E0903C08F0908F
+:1040B0003D0820E030E040E751E4C701B6010E942E
+:1040C000A3B018161CF520E030E046E153E4C70128
+:1040D000B6010E94A0AE87FF19C06091460870919A
+:1040E0004708882777FD8095982F0E9442AF9B0153
+:1040F000AC01C701B6010E94A3B087FD03C01092B6
+:10410000390807C08FE78093390803C01092390837
+:10411000A59828960FB6F894DEBF0FBECDBFDF91ED
+:10412000CF911F910F91FF90EF90DF90CF90BF90B4
+:10413000AF909F908F907F906F905F904F903F9047
+:104140002F900895CF93DF931092160810921708BE
+:10415000109218081092190820911402309115023B
+:10416000409116025091170260E070E08FE793E4EF
+:104170000E94A7AE609312087093130880931408EE
+:10418000909315086D9A80910101806180930101DF
+:104190009D9A8091010180628093010187ED809357
+:1041A0007A0010927E0010927D0080917E008160E6
+:1041B00080937E0080917E00826080937E0080915B
+:1041C0007E00846080937E0080E888BD80916E00D0
+:1041D000846080936E006AEF70E080E090E00E945F
+:1041E00060A98FE090E0909305088093040860E058
+:1041F00080910A0290910B0237DC20E030E040E72A
+:1042000051E40E94A0AE87FF0AC080910A029091FB
+:104210000B02409790930B0280930A02E8CF8BE346
+:1042200091E0909309028093080260E08091060873
+:104230009091070819DC20E030E84DE953E40E9432
+:10424000A3B0181654F48091060890910708409680
+:104250009093070880930608E8CFC0910208D09198
+:104260000308CE0161DB20E030E046E153E40E9428
+:10427000A3B0181634F46096D0930308C0930208D4
+:10428000ECCFDF91CF9108950895109249081092D4
+:104290004808109247081092460810920C0875982A
+:1042A000109247081092460810923908A598089570
+:1042B0002F923F924F925F926F927F928F929F9236
+:1042C000AF92BF92CF92DF92EF92FF920F931F9324
+:1042D000CF93DF93CDB7DEB7AE970FB6F894DEBFBE
+:1042E0000FBECDBF6B8F7C8F8D8F292E5A8749874C
+:1042F0003CA72BA70E9431A96F8F78A389A39AA30B
+:104300000E9431A96FA378A789A79AA729853A8522
+:10431000121613061CF0E4E2F3E017C0E7E3F3E043
+:104320008191882339F09091C00095FFFCCF809354
+:10433000C600F6CF8091C00085FFFCCF1BC29091D4
+:10434000C00095FFFCCF8093C60081918111F7CF0B
+:104350008091C00085FFFCCF8AE08093C60095DF86
+:1043600049855A858FE7452B99F1809339088F8DC0
+:1043700098A1A9A1BAA1898B9A8BAB8BBC8B8D8795
+:104380009E87AF87B88B1D8290E4988FACE1A98F90
+:10439000B6E4BA8F1DA61D8A1E8A1F8A2FE730E059
+:1043A00040E050E029833A834B835C83EFE74E2E55
+:1043B000512C612C712C1BA21CA21DA21EA231E04B
+:1043C0003E8F1C861B86312C00E010E01EA605C027
+:1043D00080930C08CCCF0E949C7680913208882371
+:1043E00009F4F6C011DC49855A85452B51F030900F
+:1043F0003A0800913B0810913C0850913D085EA797
+:1044000009C0309040080091410810914208809105
+:1044100043088EA7232D302F412F5EA56DA57D89E2
+:104420008E899F890E94A3B018162CF03DA60D8B93
+:104430001E8B9EA59F8B232D302F412F5EA56D8156
+:10444000788D898D9A8D0E94A0AE87FD05C03D8232
+:10445000088F198FAEA5AA8F0E9431A92FA138A568
+:1044600049A55AA5621B730B840B950B653C7940DB
+:104470008105910538F01EDC0E9431A96FA378A751
+:1044800089A79AA74E8D442309F44FC02B8D3C8DEC
+:104490004D8D522D632D702F812F9EA50E94A3B0AC
+:1044A00018160CF095C00E9431A929893A894B89C8
+:1044B0005C89621B730B840B950B69387341810512
+:1044C000910508F485C0D301C20129813A814B814D
+:1044D0005C81821B930BA40BB50B49855A85B5955E
+:1044E000A79597958795452B19F08093390802C0B9
+:1044F00080930C080E9431A96D877E878F87988BE7
+:10450000DC01CB0129893A894B895C89821B930B99
+:10451000A40BB50B8BA39CA3ADA3BEA33B8D3DA762
+:104520004C8D4D8B5D8D5E8B2F8A2B8D3C8D4D8DF3
+:10453000522D632D702F812F9EA50E94A0AE87FF64
+:10454000EEC20E9431A92D853E854F855889621B98
+:10455000730B840B950B693873418105910508F441
+:10456000DEC20E9431A9698B7A8B8B8B9C8BDC011C
+:10457000CB012D853E854F855889821B930BA40B5B
+:10458000B50B4B855C85452B09F010C189819A815B
+:10459000AB81BC81840D951DA61DB71D29853A856B
+:1045A000B595A79597958795232B09F4B5C2809368
+:1045B00039084B855C854F5F5F4F5C874B875B8D10
+:1045C0005D838C8D888F9D8D998F2A8EA1E0AE8F13
+:1045D00020E030E040EA51E46B8D7C8D8D8D922D92
+:1045E0000E94C7AD9B01AC01632D702F812F9EA54A
+:1045F0000E94A3B0181694F4EFEFF2E084918823A0
+:1046000041F09091C00095FFFCCF8093C600319699
+:10461000F5CF8091C00085FFFCCFACC00E9431A9CE
+:104620002F8D38A149A15AA1621B730B840B950BE6
+:10463000613D77408105910508F44FC049855A8551
+:10464000452B81F0E0903908F12CE9EFF2E08491FC
+:104650008823C1F09091C00095FFFCCF8093C600E5
+:104660003196F5CFE0900C08F12CE3EFF2E0849165
+:10467000882341F09091C00095FFFCCF8093C60045
+:104680003196F5CF22E030E0432D502F612F7EA5EB
+:104690008CE99DE00E94308BEFEEF2E0849188235C
+:1046A00041F09091C00095FFFCCF8093C6003196F9
+:1046B000F5CF4AE050E0B7018CE99DE00E945A8AAC
+:1046C0008091C00085FFFCCF8AE08093C6000E94E5
+:1046D00031A96F8F78A389A39AA30E9431A96B0196
+:1046E0007C010E9431A989889A88AB88BC882D8575
+:1046F0003E854F855889820E931EA41EB51EC8188C
+:10470000D908EA08FB08C60ED71EE81EF91E31E8D4
+:10471000C3163FE4D30632E1E306F10490F0E2ED84
+:10472000F2E08491882341F09091C00095FFFCCF86
+:104730008093C6003196F5CF8091C00085FFFCCFF5
+:1047400019C04B855C858BA59CA5841795070CF03B
+:1047500042CEE6E7F2E08491882341F09091C000D8
+:1047600095FFFCCF8093C6003196F5CF8091C000B5
+:1047700085FFFCCF8AE08093C600AE960FB6F89412
+:10478000DEBF0FBECDBFDF91CF911F910F91FF9084
+:10479000EF90DF90CF90BF90AF909F908F907F90E1
+:1047A0006F905F904F903F902F9008958BA09CA0AA
+:1047B000ADA0BEA0880E991EAA1EBB1E2BA13CA1B7
+:1047C0004DA15EA1281B390B4A0B5B0BCA01B90135
+:1047D00029813A814B815C810E943BB2A501940101
+:1047E0000E94A0B2240D351D461D571D24313105F0
+:1047F0004105510504F129013A013CEE43165104EB
+:10480000610471042CF06BEE462E512C612C712C3E
+:1048100040E84416510461047104DCF08EEF90E02E
+:10482000A0E0B0E084199509A609B70989839A83A5
+:10483000AB83BC8312C054E1452E512C612C712CEA
+:1048400024E130E040E050E029833A834B835C83ED
+:1048500004C049825A826B827C82E8E6F3E084914C
+:10486000882341F09091C00095FFFCCF8093C60053
+:104870003196F5CF2AE030E0B301A2018CE99DE04A
+:104880000E94378AE3E6F3E08491882341F0909117
+:10489000C00095FFFCCF8093C6003196F5CF2AE08B
+:1048A00030E049815A816B817C818CE99DE00E94D6
+:1048B000378AECE5F3E08491882341F09091C000C1
+:1048C00095FFFCCF8093C6003196F5CF22E030E013
+:1048D0004D81588D698D7A8D8CE99DE00E94308BD9
+:1048E000E5E5F3E08491882341F09091C00095FFC5
+:1048F000FCCF8093C6003196F5CF22E030E04DA585
+:104900005D896E897F898CE99DE00E94308B809162
+:10491000C00085FFFCCF8AE08093C6002B853C85D4
+:10492000233031050CF432CE69817A818B819C81F0
+:104930000E9442AF20E030E040E850E40E9475B1B0
+:104940006B017C012D81388D498D5A8D6DA57D8936
+:104950008E899F890E94C6AD20ED3FE049E450E476
+:104960000E9475B120E030E040E05FE30E9475B145
+:104970009B01AC01C701B6010E94A7AE6B017C018F
+:10498000C501B4010E9442AF20E030E04AE754E4A0
+:104990000E94A7AE4B015C01EFE4F3E08491882311
+:1049A00041F09091C00095FFFCCF8093C6003196F6
+:1049B000F5CF22E030E0B701A6018CE99DE00E942E
+:1049C000308BE9E4F3E08491882341F09091C000BA
+:1049D00095FFFCCF8093C6003196F5CF22E030E002
+:1049E000B501A4018CE99DE00E94308B8091C0004C
+:1049F00085FFFCCF8AE08093C6002AE939E949E1C6
+:104A00005FE3C701B6010E9475B16B017C019B0198
+:104A1000AC010E94C7ADA50194010E94A7AE6D83B1
+:104A20007E838F839887A5019401C701B6010E94F8
+:104A300075B120E030E040E05EE30E9475B14B01CB
+:104A40005C01EBE3F3E08491882341F09091C00096
+:104A500095FFFCCF8093C6003196F5CF8091C000C2
+:104A600085FFFCCF8AE08093C600E5E3F3E0849104
+:104A7000882341F09091C00095FFFCCF8093C60041
+:104A80003196F5CF22E030E0B701A6018CE99DE038
+:104A90000E94308B8091C00085FFFCCF8AE080931C
+:104AA000C600EFE2F3E08491882341F09091C000CA
+:104AB00095FFFCCF8093C6003196F5CF22E030E021
+:104AC0004D815E816F8178858CE99DE00E94308BFD
+:104AD0008091C00085FFFCCF8AE08093C600E9E2A8
+:104AE000F3E08491882341F09091C00095FFFCCFC2
+:104AF0008093C6003196F5CF22E030E0B501A401E5
+:104B00008CE99DE00E94308B8091C00085FFFCCF36
+:104B10008AE08093C6003ACD80930C084ACD1E8E61
+:104B200057CDCF93C82FB1DB0E94E949811134C022
+:104B3000E5E3FEE09491992341F08091C00085FF68
+:104B4000FCCF9093C6003196F5CF6C2F70E04AE011
+:104B500050E08CE99DE00E945A8A8091C00085FF58
+:104B6000FCCF8AE08093C600ECE2F2E084918823D7
+:104B700041F09091C00095FFFCCF8093C600319624
+:104B8000F5CF8091C00085FFFCCF8AE08093C600FE
+:104B90008FE192E00E940D76CF910C94AA49CF93B9
+:104BA000C82F73DB0E94E949811134C0E5E3FEE0C0
+:104BB0009491992341F08091C00085FFFCCF9093A0
+:104BC000C6003196F5CF6C2F70E04AE050E08CE9DA
+:104BD0009DE00E945A8A8091C00085FFFCCF8AE048
+:104BE0008093C600E2EFF1E08491882341F0909138
+:104BF000C00095FFFCCF8093C6003196F5CF809121
+:104C0000C00085FFFCCF8AE08093C60085EE91E06E
+:104C10000E940D76CF910C94AA49A5980E94E9496B
+:104C2000811125C0E5E3FEE08491882341F0909155
+:104C3000C00095FFFCCF8093C6003196F5CFEBEA1C
+:104C4000F1E08491882341F09091C00095FFFCCF62
+:104C50008093C6003196F5CF8091C00085FFFCCFD0
+:104C60008AE08093C6008AE991E00E940D760C9458
+:104C7000AA491F920F920FB60F9211240BB60F92F2
+:104C80000F931F932F933F934F935F936F937F9354
+:104C90008F939F93AF93BF93CF93DF93EF93FF9344
+:104CA00080910702811112C080910C088093010845
+:104CB000882311F0759A01C0759880913908809306
+:104CC0000008882311F0A59A01C0A59890910108C9
+:104CD00080910702981708F47598909100088091C8
+:104CE0000702981708F4A598809107028F5F8F77C5
+:104CF000809307028091060290E08B30910508F0C6
+:104D000093C0FC01EE58FF4F0C94BCB210927B0094
+:104D100080E480937C0080917A00806480937A00A4
+:104D20000E94167681E019C02091780030917900B8
+:104D30008091FC079091FD07A091FE07B091FF07BD
+:104D4000820F931FA11DB11D8093FC079093FD0757
+:104D5000A093FE07B093FF0782E08093060264C031
+:104D600010927B0082E480937C0080917A008064C2
+:104D700080937A000E94167683E0EFCF209178002E
+:104D8000309179008091F8079091F907A091FA0786
+:104D9000B091FB07820F931FA11DB11D8093F807EF
+:104DA0009093F907A093FA07B093FB0784E0D5CF5F
+:104DB00010927B0081E480937C0080917A00806473
+:104DC00080937A000E94167685E0C7CF2091780004
+:104DD000309179008091F4079091F507A091F60742
+:104DE000B091F707820F931FA11DB11D8093F407A7
+:104DF0009093F507A093F607B093F70786E0ADCF41
+:104E00000E94167687E0A9CF88E0A7CF0E94167689
+:104E100089E0A3CF109206028091F3078F5F809301
+:104E2000F30702C0109206028091F307803108F464
+:104E300063C080913208811110C08091FC0790916D
+:104E4000FD0790934508809344088091F80790915E
+:104E5000F90790933F0880933E0881E080933208E1
+:104E60001092F3071092FC071092FD071092FE07B4
+:104E70001092FF071092F4071092F5071092F607B0
+:104E80001092F7071092EF071092F0071092F107B7
+:104E90001092F2071092F8071092F9071092FA0791
+:104EA0001092FB0720914408309145088091060834
+:104EB000909107088217930714F080E032DE20916A
+:104EC00044083091450880910A0290910B022817FE
+:104ED000390714F080E063DE20913E0830913F08EE
+:104EE0008091020890910308821793072CF010928A
+:104EF00047081092460891DE00E010E0E801CC0F70
+:104F0000DD1FCD5CD74F888199811816190644F4AE
+:104F100061E0802F0E94D59388819981019709C013
+:104F2000892B49F060E0802F0E94D5938881998178
+:104F30000196998388830F5F1F4F03301105F1F6A7
+:104F4000FF91EF91DF91CF91BF91AF919F918F91A1
+:104F50007F916F915F914F913F912F911F910F9191
+:104F60000F900BBE0F900FBE0F901F9018952CEA5C
+:104F700035EC47E25EE30C9475B12CEA35EC47E280
+:104F80005EE30C94A7AE2CEA35EC47E25EE30C94AA
+:104F9000A7AE2CEA35EC47E25EE30C9475B1CF93F3
+:104FA000DF93EC0160E08E810E948AA881E090E0AE
+:104FB0000E9484A961E08E810E948AA881E090E02D
+:104FC0000E9484A960E08E810E948AA884E690E015
+:104FD000DF91CF910C9484A9CF92DF92EF92FF9250
+:104FE0000F931F93CF93DF937C01C0E0D0E0C62ED8
+:104FF000D12C87010C0F1D1F61E0F80187810E94F1
+:1050000051A8B6010C2E02C0759567950A94E2F777
+:105010006170F80187810E948AA82196C430D10569
+:1050200041F7C701DF91CF911F910F91FF90EF9052
+:10503000DF90CF90B4CFCF92DF92EF92FF920F9399
+:105040001F93CF93DF937C01C0E0D0E0C62ED12C1C
+:1050500087010C0F1D1F61E0F80187810E9451A894
+:10506000B6010C2E02C0759567950A94E2F761703F
+:10507000F80187810E948AA82196C830D10541F79E
+:10508000C701DF91CF911F910F91FF90EF90DF90BB
+:10509000CF9085CF1F93CF93DF93EC01162F642F12
+:1050A0008C810E948AA88D818F3F19F060E00E9458
+:1050B0008AA88F85612F84FF05C0CE01DF91CF9133
+:1050C0001F91B9CF70E084E0759567958A95E1F7F7
+:1050D000CE0182DF612FCE01DF91CF911F917CCF76
+:1050E00040E0D8CF61E0FCDF80E496E00C9484A936
+:1050F00062E0F6DF80E496E00C9484A9CF93DF931E
+:10510000CDB7DEB728970FB6F894DEBF0FBECDBF80
+:1051100028E0E7EAF2E0DE01119601900D922A956F
+:10512000E1F7FC012389421710F04FEF420FFE0117
+:105130003196E40FF11DE40FF11D2081260F206848
+:10514000622F28960FB6F894DEBF0FBECDBFDF9159
+:10515000CF91C6CFFC016089262F2460208B6C6024
+:10516000BFCFCF93DF93EC01423018F08F8588607A
+:105170008F874B8B1C8A222329F0413019F48F85AD
+:1051800084608F8780E593EC0E9484A960E08C8125
+:105190000E948AA860E08E810E948AA88D818F3F3C
+:1051A00019F060E00E948AA86F8564FD19C063E071
+:1051B000CE0112DF84E991E10E9484A963E0CE016F
+:1051C0000BDF84E991E10E9484A963E0CE0104DF52
+:1051D00086E990E00E9484A962E0CE01FDDE13C062
+:1051E0006062CE017DDF84E991E10E9484A96F8530
+:1051F0006062CE0175DF86E990E00E9484A96F8528
+:105200006062CE016DDF6F856062CE0169DF84E090
+:10521000888BCE019FDFCE0165DF82E0898B66E05F
+:10522000CE01DF91CF915CCF6F927F928F92AF9240
+:10523000CF92EF920F931F93CF93DF93CDB7DEB74B
+:105240003C01162F842F5E854F8538899989F3019B
+:10525000848325830683E782C086A186828653875E
+:1052600044873587968761E00E9451A8F3018581C4
+:105270008F3F19F061E00E9451A861E0F30186813F
+:105280000E9451A8112319F0F301178603C080E191
+:10529000F301878720E041E060E1C301DF91CF9116
+:1052A0001F910F91EF90CF90AF908F907F906F9064
+:1052B00058CF8F92AF92CF92EF920F93DC0113965B
+:1052C0001C921E921297E5E6F3E0ED93FC931F9279
+:1052D0001F921F921F928C2CAE2CC02EE22E042FF8
+:1052E0002FEF462F61E0A0DF0F900F900F900F90EF
+:1052F0000F91EF90CF90AF908F900895CF93DF9361
+:10530000EC01423018F08F8588608F874B8B1C8AA8
+:10531000222329F0413019F48F8584608F8780E53E
+:1053200093EC0E9484A960E08C810E948AA860E0CE
+:105330008E810E948AA88D818F3F19F060E00E94C3
+:105340008AA86F8564FD19C063E0CE0145DE84E95B
+:1053500091E10E9484A963E0CE013EDE84E991E1FF
+:105360000E9484A963E0CE0137DE86E990E00E94C6
+:1053700084A962E0CE0130DE13C06062CE01B0DEEF
+:1053800084E991E10E9484A96F856062CE01A8DE64
+:1053900086E990E00E9484A96F856062CE01A0DE5C
+:1053A0006F856062CE019CDE84E0888BCE01D2DE08
+:1053B000CE019EDE82E0898B66E0CE0191DE40E088
+:1053C00068E0CE019BDE6EE873E0CE010E94BEADC8
+:1053D00041E068E0CE0192DE6EE873E0CE010E940B
+:1053E000BEAD42E066E0CE0189DE6CE873E0CE013E
+:1053F000DF91CF910C94BEADCF92DF92EF92FF92EE
+:105400000F931F93CF93DF931F921F92CDB7DEB7F9
+:105410008C01677088E0689FB00111246064C80146
+:1054200049835A835DDE4981C42E5A81D52EE12CF1
+:10543000F12CD6016D916D01D801ED91FC91019097
+:10544000F081E02DC8011995BFEFEB1AFB0AE8E0E7
+:10545000EE16F10471F70F900F90DF91CF911F912D
+:105460000F91FF90EF90DF90CF90089541E012DE12
+:1054700081E090E008952F923F924F925F926F9259
+:105480007F928F929F92AF92BF92CF92DF92EF92D4
+:10549000FF920F931F93CF93DF93CDB7DEB7CF5417
+:1054A000D1090FB6F894DEBF0FBECDBF1C017E8FB1
+:1054B0006D8F4A012FAB09AF2896EFAE28972C9637
+:1054C000ACAEBDAECEAEDFAE2C9734E0239F500124
+:1054D0001124FC01EA0DFB1D80819181A281B38121
+:1054E000898F9A8FAB8FBC8FDA01AA0DBB1DBCAF21
+:1054F000ABAF4D905D906D907C90A3019201698D52
+:105500007A8D8B8D9C8D0E94C7AD21966CAF7DAF3F
+:105510008EAF9FAF2197B4E00B9F80011124F10162
+:10552000E00FF11F20813181428153812F8F38A3F9
+:1055300049A35AA3A401400F511F23965FAF4EAF5A
+:105540002397DA01CD90DD90ED90FC90A7019601B4
+:105550006F8D78A189A19AA10E94C7AD27966CAFE3
+:105560007DAF8EAF9FAF27972896EFAD2897B4E019
+:10557000EB9FC0011124F101E80FF91F2081318157
+:10558000428153812BA33CA34DA35EA3ED8DFE8DE1
+:10559000E80FF91F60817181828193810E94C6ADFD
+:1055A0006FA378A789A79AA7AD8DBE8D1C968D9104
+:1055B0009D910D90BC91A02D60968CAF9DAFAEAF2C
+:1055C000BFAF6097D1011C962D913D914D915C919B
+:1055D0001F972BA73CA74DA75EA7A3019201505888
+:1055E0002D8B3E8B4F8B588FD701C601B058898BBE
+:1055F0009A8BAB8BBC8BED8DFE8DEA0DFB1D208154
+:105600003181428153812FA738AB49AB5AAB2196E8
+:105610002CAD3DAD4EAD5FAD21976FA578A989A9A1
+:105620009AA90E94C6AD6B017C01ED8DFE8DE00F45
+:10563000F11F80819181A281B3818BAB9CABADAB1B
+:10564000BEAB27962CAD3DAD4EAD5FAD2797BC01EF
+:10565000CD010E94C6AD4B015C01A70196016D8989
+:105660007E898F89988D0E9475B12B013C01A5011F
+:10567000940169897A898B899C890E9475B19B0103
+:10568000AC01C301B2010E94C7AD2B013C01A501D1
+:1056900094016D897E898F89988D0E9475B14B0127
+:1056A0005C01A701960169897A898B899C890E948E
+:1056B00075B19B01AC01C501B4010E94C6ADA30147
+:1056C00092010E943AAE6B017C0120E030E0A9011A
+:1056D0000E94A0AE87FF0AC02BED3FE049EC50E4EA
+:1056E000C701B6010E94C7AD6B017C01AA968FADC0
+:1056F000AA97882351F02BED3FE049EC50E4C70115
+:10570000B6010E94C6AD6B017C012FA538A949A93D
+:105710005AA9698D7A8D8B8D9C8D0E94A0AE8111C6
+:105720001FC02BA93CA94DA95EA96F8D78A189A1A5
+:105730009AA10E94A0AE811113C020E030E0A9011F
+:10574000C701B6010E94A0AE81110AC02BED3FE057
+:1057500049EC50E4C701B6010E94C7AD6B017C0162
+:10576000A9962CAD3DAD4EAD5FADA997C701B60171
+:105770000E9475B12FA138A549A55AA55F770E944F
+:10578000B0B04B015C012FE632E143E85AE30E94DE
+:10579000A0AE87FDC8C1C501B4010E947DAF0E94C3
+:1057A00014AF7A8F698FDB01AB2B21F4E1E0F0E0DD
+:1057B000FA8FE98F298D3A8DB90180E090E00E943F
+:1057C00040AF4B015C019B01AC01C701B6010E94D7
+:1057D000A7AE2B013C01A50194016FA178A589A575
+:1057E0009AA50E94A7AE6FA778AB89AB9AAB2BA501
+:1057F0003CA54DA55EA560966CAD7DAD8EAD9FAD13
+:1058000060970E94C6ADA50194010E94A7AE6BAB44
+:105810007CAB8DAB9EAB20E030E040E05FE3C301AA
+:10582000B2010E9475B1A30192010E9475B19B0162
+:10583000AC0160E070E080E89FE30E94C6AD6FA31A
+:1058400078A789A79AA7CE010196FC0128964FADAB
+:10585000289734E0439FE00DF11D11242BA13CA1BA
+:105860004DA15EA120833183428353832BA53CA5A8
+:105870004DA55EA52D873E874F87588BB12C41E003
+:1058800050E058A34F8F1C01BFA9A4E0BA9F800D20
+:10589000911D112498AF8FAB910159AD44E0549FF5
+:1058A000200D311D11243AAF29AFFCA7EBA74F8D76
+:1058B00058A1898D9A8D4817590708F01AC188E1B7
+:1058C0008B150CF444C02FA138A549A55AA56989A8
+:1058D0007A898B899C890E9475B16B017C01A30137
+:1058E00092016D897E898F89988D0E9475B1A7017B
+:1058F00096010E94C7ADA62E172F982E892E2FA194
+:1059000038A549A55AA56D897E898F89988D0E94F1
+:1059100075B16B017C01A301920169897A898B8938
+:105920009C890E9475B19B01AC01C701B6010E9420
+:10593000C6AD6D8B7E8B8F8B988FB3948A2D912FF4
+:10594000A92DB82D898B9A8BAB8BBC8B6CC0AF8D7E
+:10595000B8A1BD0180E090E00E9440AFA301920198
+:105960000E9475B16B017C010E94A4AE698B7A8B99
+:105970008B8B9C8BC701B6010E94D8B14B015C0197
+:10598000EBADFCADC080D180E280F380F7FAF094FB
+:10599000F7F8F0942396AEADBFAD23972D913D91CE
+:1059A0004D915C912BA33CA34DA35EA329893A8919
+:1059B0004B895C89C701B6010E9475B16D8B7E8BE6
+:1059C0008F8B988FA50194016BA17CA18DA19EA1C5
+:1059D0000E9475B19B01AC016D897E898F89988D7C
+:1059E0000E94C7AD6D8B7E8B8F8B988FA501940124
+:1059F000C701B6010E9475B16B017C0129893A8902
+:105A00004B895C896BA17CA18DA19EA10E9475B17F
+:105A10009B01AC01C701B6010E94C6AD698B7A8BB0
+:105A20008B8B9C8BB12C2D893E894F89588D21966B
+:105A30006CAD7DAD8EAD9FAD21970E94C7ADEFA936
+:105A4000F8AD608371838283938329893A894B8976
+:105A50005C8927966CAD7DAD8EAD9FAD27970E947A
+:105A6000C7ADA9ADBAAD6D937D938D939C931397FC
+:105A70002FA538A949A95AA9EBA5FCA56081718178
+:105A8000828193810E94C7ADABA5BCA56D937D9328
+:105A90008D939C9313972BA93CA94DA95EA96D8565
+:105AA0007E858F8598890E94C7AD6D877E878F8799
+:105AB000988BC1010E946A41FE01E659FF4F6F01B8
+:105AC0002C96ECACFDAC0EAD1FAD2C979E01235F68
+:105AD0003F4FAE01475F5F4FBE016B5F7F4FC1011C
+:105AE0000E94779A2F8D38A12F5F3F4F38A32F8FB9
+:105AF000DECE2D8D3E8D245F3F4F4D8D5E8D485FF8
+:105B00005F4F6D8D7E8D6C5F7F4FDE01A659BF4F5D
+:105B10006D012C96ECACFDAC0EAD1FAD2C978D8DB0
+:105B20009E8D0E94779AC15BDF4F0FB6F894DEBF5F
+:105B30000FBECDBFDF91CF911F910F91FF90EF90DE
+:105B4000DF90CF90BF90AF909F908F907F906F909D
+:105B50005F904F903F902F900895FC011482178220
+:105B6000138212828AEB95E09183808308952AEB59
+:105B700035E0FC01318320832781222319F004962C
+:105B80000C948C130895CF92DF92EF92FF920F93B3
+:105B90001F93CF93DF93EC01875B9F4FDEDFCE0136
+:105BA00086599F4FDADF7E0129E8E20EF11C87015A
+:105BB0006E0131E4C31A3EEFD30AC801CEDF015EA5
+:105BC0001F4F0C151D05C9F7FE01EF53FE4F89E16C
+:105BD000818314823596178ACE018C519E4FBDDF8A
+:105BE000FE01EB56FD4F108211821282138238960D
+:105BF00010821182128213821A821B8218821982E9
+:105C00006E0187E6C81A8DEFD80AF601108211825C
+:105C100012821382F80111821082FE01ED5FFD4FA6
+:105C2000108286E391E0F7019C01119221503040EF
+:105C3000E1F7FE01EF55FD4F81E08083C95BDF4F47
+:105C4000198218820E9431A968577C4E8F4F9F4F4E
+:105C5000F6016083718382839383DF91CF911F91DB
+:105C60000F91FF90EF90DF90CF900895FC0120E01E
+:105C70003EE2DB014C91403241F0283011F4308398
+:105C80003196DB014C91408331962F5F6F5F7F4FE0
+:105C90002B3079F7108208952F923F924F925F92A6
+:105CA0006F927F928F929F92AF92BF92CF92DF922C
+:105CB000EF92FF920F931F93CF93DF93CDB7DEB791
+:105CC000CA58D1090FB6F894DEBF0FBECDBF8C0104
+:105CD0006B017A014901CA57DF4F1882C658D0407C
+:105CE00084E0E80EF11C180191E1290E311CF80145
+:105CF000EA5BFF4FC957DF4FF983E883C758D040AD
+:105D00003801FEE56F1AFDEF7F0A58018CE5A81AED
+:105D10008DEFB80A80E4482E512C4C0E5D1E94E0A5
+:105D2000490E511CA101BE016F5F7F4FC7010E9448
+:105D3000F61118160CF03CC12C85322F3871303119
+:105D400009F09EC0F301808191810197029708F4C8
+:105D500097C0BE016F5F7F4FCE0187589F4F86DF90
+:105D6000A0961FAEA097F6018081811107C069E659
+:105D700073E0CE01815A9F4F0E9418B6B601CE0142
+:105D8000815A9F4F0E9418B6BE0167587F4FCE01BF
+:105D9000815A9F4F0E9418B669E673E0CE01815A7E
+:105DA0009F4F0E9418B6CE01805C9F4FD6DE21E047
+:105DB000AE0147585F4FB701C2010E9483158111A0
+:105DC00039C0F30180819181892BA1F5EFE2FEE0DA
+:105DD0008491882341F09091C00095FFFCCF80937F
+:105DE000C6003196F5CFEBE6F3E08191882339F0D8
+:105DF0009091C00095FFFCCF8093C600F6CF8091B4
+:105E0000C00085FFFCCF8AE08093C600FE01E75802
+:105E1000FF4F8191882339F09091C00095FFFCCF0E
+:105E20008093C600F6CF8091C00085FFFCCF8AE04A
+:105E30008093C6008BE1FE01EC5BFF4FDE0195967F
+:105E400001900D928A95E1F724968EAD9FAD24972F
+:105E50009CA38BA38AEB95E09AA389A320E030E072
+:105E6000AE014F5D5F4FBE01615A7F4FC80114DF25
+:105E7000CE0181967CDECE01805C9F4F78DE52CFD2
+:105E80008981882309F494C08E3209F44BCF8F3571
+:105E900009F448CFF80181898E3209F443CF8F3558
+:105EA00009F440CF23FD3ECF81E0303109F080E09E
+:105EB000C957DF4FE881F981C758D04080838111ED
+:105EC00008C08985873409F02DCF8A858E3709F47B
+:105ED00029CF98012C5F3F4FBE016F5F7F4FC901F3
+:105EE000C757DF4F2883C958D040C657DF4F388384
+:105EF000CA58D040BBDEF30180819181C757DF4F84
+:105F00002881C958D040C657DF4F3881CA58D04081
+:105F10000097F1F4F6018191882339F09091C00047
+:105F200095FFFCCF8093C600F6CFF90181918823BD
+:105F300039F09091C00095FFFCCF8093C600F6CF5A
+:105F40008091C00085FFFCCF8AE08093C600EACE36
+:105F50008130910539F4F501808191810196918319
+:105F60008083E0CE029709F0DDCE8114910439F0F0
+:105F7000B901C4010E9405B6892B71F419C0CA5732
+:105F8000DF4FF881C658D0402F2F30E0F5018081D7
+:105F900091812817390761F0CA57DF4FF881C65839
+:105FA000D040FF5FCA57DF4FF883C658D040BACE03
+:105FB000C657DF4F0FB6F894DEBF0FBECDBFDF91DF
+:105FC000CF911F910F91FF90EF90DF90CF90BF90F6
+:105FD000AF909F908F907F906F905F904F903F9089
+:105FE0002F9008950F931F93CF93DF93CDB7DEB714
+:105FF0006F970FB6F894DEBF0FBECDBF8C01FC01CA
+:10600000EE55FD4F1182108240E050E0BA01835BF3
+:106010009F4F0E94A912C801875B9F4F2BE1FC0193
+:106020003496DE01159601900D922A95E1F7FC0158
+:10603000828193819C838B838AEB95E09A83898309
+:1060400020E030E0AE014F5F5F4F62E973E0C801CE
+:1060500023DECE0101968BDD6F960FB6F894DEBF7E
+:106060000FBECDBFDF91CF911F910F9108952BE10E
+:10607000FB013496DC01149601900D922A95E1F70C
+:10608000FB0122813381FC01338322830895EF9247
+:10609000FF920F931F93CF93DF93EC011B82FC01C0
+:1060A000E05BFF4F8081882329F0CE01835B9F4F07
+:1060B0000E948C137E018FE3E81A8EEFF80A45E305
+:1060C00060E0C7010E94BF3A81111FC0EFE2FEE00D
+:1060D0008491882341F09091C00095FFFCCF80937C
+:1060E000C6003196F5CFE7E4F6E08491882341F0CD
+:1060F0009091C00095FFFCCF8093C6003196F5CFFC
+:106100008091C00085FFFCCF77C08E010A531E4FDF
+:1061100041E0B701C8010E945A1B811126C040E02E
+:10612000B701C8010E945A1B81111FC0E5E3FEE0C0
+:106130008491882341F09091C00095FFFCCF80931B
+:10614000C6003196F5CFE4E3F6E08491882341F070
+:106150009091C00095FFFCCF8093C6003196F5CF9B
+:106160008091C00085FFFCCF47C0B801CE01835BA2
+:106170009F4F0E94991081111FC0E5E3FEE08491BA
+:10618000882341F09091C00095FFFCCF8093C6001A
+:106190003196F5CFE4E2F6E08491882341F09091C6
+:1061A000C00095FFFCCF8093C6003196F5CF80915B
+:1061B000C00085FFFCCF20C081E08B83EFE2FEE0D2
+:1061C0008491882341F09091C00095FFFCCF80938B
+:1061D000C6003196F5CFE9E1F6E08491882341F0DD
+:1061E0009091C00095FFFCCF8093C6003196F5CF0B
+:1061F0008091C00085FFFCCF8AE08093C6008E01AD
+:10620000075B1F4FB801CE0186599F4F30DFC85939
+:10621000DF4F19830883DF91CF911F910F91FF907A
+:10622000EF900895FC01128213820895FC012381EE
+:10623000222311F021E022830895FC012281211103
+:1062400012820895AF92BF92CF92DF92EF92FF92A7
+:106250000F931F93CF93DF931F92CDB7DEB78C01BF
+:106260008FE2FB0181935F01D12C41E07801F1E4E1
+:10627000EF1AFEEFFF0A9FE1C92E2D2D30E0F70146
+:106280008081918128173907D8F4C29EC001C39E2E
+:10629000900D112483579F4FB501800F911F4983A3
+:1062A0000E944010C50149815C010196F5012081E1
+:1062B000222321F04D3810F44F5FF6CFD394DDCF79
+:1062C00047FD11C0B501C80188519E4F0F90DF9165
+:1062D000CF911F910F91FF90EF90DF90CF90BF90E3
+:1062E000AF900C944010F50110820F90DF91CF9188
+:1062F0001F910F91FF90EF90DF90CF90BF90AF90E4
+:1063000008953F924F925F926F927F928F929F92E9
+:10631000AF92BF92CF92DF92EF92FF920F931F93B3
+:10632000CF93DF93CDB7DEB7AC970FB6F894DEBF4F
+:106330000FBECDBF7C015B01FC018381882309F482
+:1063400008C1C70188519E4F0E948C13F701128229
+:10635000CE0101966C0101DC270198E6490E511C23
+:10636000C701875B9F4FF20191838083F501808194
+:106370008F3209F084C06FE270E0C5010E9423B63D
+:106380008C010F5F1F4F2AE0322E0115110509F411
+:106390007CC06FE270E0C8010E9423B64C010097F8
+:1063A00009F474C00817190708F070C03C01601A9E
+:1063B000710AA301B801CE0180960E944CB6E0E2BA
+:1063C000F0E0EC0FFD1FE60DF71D1082FE01B09608
+:1063D0008191882339F09091C00095FFFCCF809384
+:1063E000C600F6CF8091C00085FFFCCF3092C6007A
+:1063F000F201608171816115710519F06C5F7F4F49
+:1064000002C060E070E021E0AE01405E5F4FCE016F
+:1064100005960E94831581112BC0EEEFF4E0849164
+:10642000882341F09091C00095FFFCCF8093C60077
+:106430003196F5CFFE01B0968191882339F0909185
+:10644000C00095FFFCCF8093C600F6CFECEFF4E0E0
+:106450008491882341F09091C00095FFFCCF8093F8
+:10646000C6003196F5CF8091C00085FFFCCF6CC08F
+:10647000F201D182C08284010F5F1F4F86CFC70116
+:1064800086599F4FF201918380838501F2018081BB
+:106490009181009711F0049602C080E090E0B8016D
+:1064A0000E945916882339F1EEEEF4E08491882396
+:1064B00041F09091C00095FFFCCF8093C6003196CB
+:1064C000F5CFF8018191882339F09091C00095FFB4
+:1064D000FCCF8093C600F6CF8091C00085FFFCCF33
+:1064E0008AE08093C600F701E356FD4F10821182C7
+:1064F000128213822CC0E6EDF4E08491882341F0EF
+:106500009091C00095FFFCCF8093C6003196F5CFE7
+:10651000F8018191882339F09091C00095FFFCCF5C
+:106520008093C600F6CFE4EDF4E08491882341F037
+:106530009091C00095FFFCCF8093C6003196F5CFB7
+:106540008091C00085FFFCCF8AE08093C600C60121
+:106550000EDBAC960FB6F894DEBF0FBECDBFDF9159
+:10656000CF911F910F91FF90EF90DF90CF90BF9050
+:10657000AF909F908F907F906F905F904F903F90E3
+:106580000895CF93DF93EC018B818823C1F1E2EC76
+:10659000F4E08491882341F09091C00095FFFCCFF6
+:1065A0008093C6003196F5CFFE01E356FD4F408142
+:1065B0005181628173812AE030E08CE99DE00E9484
+:1065C000868AE0ECF4E08491882341F09091C00049
+:1065D00095FFFCCF8093C6003196F5CFCB56DD4FAB
+:1065E000488159816A817B812AE030E08CE99DE015
+:1065F0000E94868A8091C00085FFFCCF11C0E0EB2D
+:10660000F4E08491882341F09091C00095FFFCCF85
+:106610008093C6003196F5CF8091C00085FFFCCFF6
+:106620008AE08093C600DF91CF910895AF92BF9228
+:10663000CF92DF92EF92FF920F931F93CF93DF934E
+:106640005C01EB01FB0101900020E9F78F01015093
+:106650001109061B170B6C01F8E1CF1AFEEFDF0AD8
+:10666000F60110826EE470E0CE010E9423B67C0138
+:10667000009729F4F8013197EC0FFD1F0DC060E27F
+:1066800070E00E9423B6EC0121966AE270E0C70137
+:106690000E9423B6FC0131978DE081838AE08283DA
+:1066A0001382BE01C5018C519E4F0E94438BF6019F
+:1066B0008081882309F1E5E3FEE08491882341F09D
+:1066C0009091C00095FFFCCF8093C6003196F5CF26
+:1066D000EAE9F4E08491882341F09091C00095FFAD
+:1066E000FCCF8093C6003196F5CF8091C00085FF26
+:1066F000FCCF8AE08093C600DF91CF911F910F916C
+:10670000FF90EF90DF90CF90BF90AF9008952F92C1
+:106710003F924F925F926F927F928F929F92AF9231
+:10672000BF92CF92DF92EF92FF920F931F93CF937E
+:10673000DF93CDB7DEB7CC55D1090FB6F894DEBFE5
+:106740000FBECDBF4C018C010F551D4F662339F094
+:10675000F8011082F401838181111DC015C0F80178
+:106760008081882309F4AFC0F401E756FD4FC08053
+:10677000D180E280F3800E9431A9C616D706E806D0
+:10678000F90608F4A0C0E4CFC40181DCF4018381E0
+:10679000882309F498C07401F7E4EF0EF11CF701A7
+:1067A00081818F9380818F9381E994E09F938F9370
+:1067B0008E01015C1F4F1F930F930E945BB60F90D9
+:1067C0000F900F900F900F900F90B12CF801019047
+:1067D0000020E9F73197E01BF10BBE1684F4680145
+:1067E000CB0CD11CB7FCDA94F6018081992787FD88
+:1067F00090950E9498B5F6018083B394E7CFFDE4AD
+:106800008F0E911C40E050E0BA01C4010E94A91211
+:10681000512CCE0101966C013AE8632E34E0732EC0
+:106820005E0191E2A90EB11C40E050E0B601C40146
+:106830000E94F6111816DCF5412CF601019000209B
+:10684000E9F73197EC19FD094E1674F41601240C82
+:10685000311C47FC3A94F101808190E00E9498B588
+:10686000F10180834394E9CF8A858E37E9F245E0D0
+:1068700050E0B801C6010E943EB6892BA9F61F93CD
+:106880000F937F926F92BF92AF920E945BB6C50149
+:106890000E94C03D86E894E00E94333E0F900F9026
+:1068A0000F900F900F900F9055245394BDCF51101F
+:1068B00004C08FEF9FEFF70104C0F7018081918141
+:1068C000019691838083C45ADF4F0FB6F894DEBFE0
+:1068D0000FBECDBFDF91CF911F910F91FF90EF9031
+:1068E000DF90CF90BF90AF909F908F907F906F90F0
+:1068F0005F904F903F902F9008950F931F93CF93E9
+:10690000DF93EC018C0108511E4FC8010E94421315
+:10691000C8010E948C1318821982DF91CF911F91B8
+:106920000F910895CF92DF92EF92FF920F931F93F2
+:10693000CF93DF93CDB7DEB76F970FB6F894DEBF76
+:106940000FBECDBF8C016A017C0188E6E80EF11C08
+:10695000C80186599F4FF70191838083E65CFD4F04
+:1069600022E030E03183208332967183608340E0FF
+:1069700050E0BA0104960E94A912F701808191812A
+:106980002BE1FC013496DE01159601900D922A95BB
+:10699000E1F7FC01828193819C838B838AEB95E0F4
+:1069A0009A8389839601AE014F5F5F4F62E973E07E
+:1069B000C80172D9CE010196DAD86F960FB6F89455
+:1069C000DEBF0FBECDBFDF91CF911F910F91FF9022
+:1069D000EF90DF90CF9008952F923F924F925F9269
+:1069E0006F927F928F929F92AF92BF92CF92DF92DF
+:1069F000EF92FF920F931F93CF93DF93CDB7DEB744
+:106A0000AC970FB6F894DEBF0FBECDBF8C016B0103
+:106A1000342EDC0113968C91882309F4EEC2F80120
+:106A2000E551FE4F8081882309F4F5C02111C1C0D2
+:106A30007801BDEFEB1AFB0AF7018081882361F131
+:106A4000E5E3FEE08491882341F09091C00095FF3A
+:106A5000FCCF8093C6003196F5CFE6EDF5E084914A
+:106A6000882341F09091C00095FFFCCF8093C60031
+:106A70003196F5CF4AE050E061E070E08CE99DE0AE
+:106A80000E945A8A8091C00085FFFCCF8AE08093E3
+:106A9000C6000E942245B1C2EFE2FEE08491882345
+:106AA00041F09091C00095FFFCCF8093C6003196D5
+:106AB000F5CFEDEBF5E08491882341F09091C00093
+:106AC00095FFFCCF8093C6003196F5CFF6018191FA
+:106AD000882339F09091C00095FFFCCF8093C600C9
+:106AE000F6CFE2EBF5E08491882341F09091C0006D
+:106AF00095FFFCCF8093C6003196F5CFD7018C91DE
+:106B00005DE8B52EB801B89E600D711D1124685F57
+:106B10007D4FC80197DBF7018081F801B89EE00D39
+:106B2000F11D1124E85FFD4F8191882339F0909188
+:106B3000C00095FFFCCF8093C600F6CFECEAF5E0ED
+:106B40008491882341F09091C00095FFFCCF809301
+:106B5000C6003196F5CF5801F3E6AF1AFDEFBF0A34
+:106B6000D5014D915D916D917C912AE030E08CE9E9
+:106B70009DE00E94868A8091C00085FFFCCF8AE05C
+:106B80008093C600F7012081F80184E0289FE00D82
+:106B9000F11D1124EC5FFD4FD5014D915D916D917B
+:106BA0007C9140835183628373832F5FF70120833D
+:106BB0002CC0EFE2FEE08491882341F09091C00068
+:106BC00095FFFCCF8093C6003196F5CFEBE9F5E059
+:106BD0008491882341F09091C00095FFFCCF809371
+:106BE000C6003196F5CFF6018191882339F0909156
+:106BF000C00095FFFCCF8093C600F6CF8091C00007
+:106C000085FFFCCF8AE08093C600C80188519E4F63
+:106C10000E948C1330C0F801ED5FFD4F1082EFE24F
+:106C2000FEE08491882341F09091C00095FFFCCF55
+:106C30008093C6003196F5CFEAE8F5E08491882389
+:106C400041F09091C00095FFFCCF8093C600319633
+:106C5000F5CFF6018191882339F09091C00095FF1E
+:106C6000FCCF8093C600F6CF8091C00085FFFCCF9B
+:106C70008AE08093C600D80112961C92FE013196DC
+:106C80005F01CF010E94AD2D2801F8E64F0E511C87
+:106C9000C801875B9F4FD2018D939C93F601808141
+:106CA0008F3209F084C06FE270E0C6010E9423B603
+:106CB00001967C014AE0242EE114F10409F47DC020
+:106CC0006FE270E0C7010E9423B64C01009709F4FF
+:106CD00075C0E816F90608F071C03C016E187F080F
+:106CE000A301B701CE0180960E944CB6E0E2F0E02D
+:106CF000EC0FFD1FE60DF71D1082FE01B09681918D
+:106D0000882339F09091C00095FFFCCF8093C60096
+:106D1000F6CF8091C00085FFFCCF2092C600D20143
+:106D20006D917C916115710519F06C5F7F4F02C008
+:106D300060E070E021E0AE01405E5F4FCE0105965D
+:106D40000E94831581112BC0E6E7F5E0849188232A
+:106D500041F09091C00095FFFCCF8093C600319622
+:106D6000F5CFFE01B0968191882339F09091C00053
+:106D700095FFFCCF8093C600F6CFE4E7F5E0849161
+:106D8000882341F09091C00095FFFCCF8093C6000E
+:106D90003196F5CF8091C00085FFFCCF02C1F20192
+:106DA000B182A0827401FFEFEF1AFF0A85CFC801FC
+:106DB00086599F4FD2018D939C937601F801E8513B
+:106DC000FE4F4F01332009F4B1C0D2016D917C9187
+:106DD0006115710519F06C5F7F4F02C060E070E0D3
+:106DE00021E0A701C4010E948315882309F474C01F
+:106DF000F40181899289A389B489F801EB56FD4F8A
+:106E000080839183A283B383E6E6F5E08491D80181
+:106E1000AB56BD4F882349F09091C00095FFFCCF41
+:106E20008093C60031968491F5CFF7018191882334
+:106E300039F09091C00095FFFCCF8093C600F6CF4B
+:106E4000EEE5F5E08491882341F09091C00095FF34
+:106E5000FCCF8093C6003196F5CF4D915D916D9139
+:106E60007C912AE030E08CE99DE00E94868A809146
+:106E7000C00085FFFCCF8AE08093C600F801E3568E
+:106E8000FD4F1082118212821382E0E5F5E08491B9
+:106E9000882341F09091C00095FFFCCF8093C600FD
+:106EA0003196F5CF8091C00085FFFCCF8AE08093BA
+:106EB000C600A70160E070E0C80134DDD80151963A
+:106EC0008C91882319F0C801419601C0C7010E9426
+:106ED00048728EE793E08CC0ECE3F5E08491882360
+:106EE00041F09091C00095FFFCCF8093C600319691
+:106EF000F5CFF7018191882339F09091C00095FF7B
+:106F0000FCCF8093C600F6CFEAE3F5E084918823B6
+:106F100041F09091C00095FFFCCF8093C600319660
+:106F2000F5CF8091C00085FFFCCF3BC0F2016081AE
+:106F300071816115710519F06C5F7F4F02C060E0CF
+:106F400070E026E5A701C4010E94831581112DC0C0
+:106F5000E6E2F5E08491882341F09091C00095FF2E
+:106F6000FCCF8093C6003196F5CFF701819188233D
+:106F700039F09091C00095FFFCCF8093C600F6CF0A
+:106F8000E4E2F5E08491882341F09091C00095FF00
+:106F9000FCCF8093C6003196F5CF8091C00085FF6D
+:106FA000FCCF8AE08093C60025C081E0D8018C9395
+:106FB000E2E1F5E08491882341F09091C00095FFD3
+:106FC000FCCF8093C6003196F5CFF60181918823DE
+:106FD00039F09091C00095FFFCCF8093C600F6CFAA
+:106FE0008091C00085FFFCCF8AE08093C600C70176
+:106FF0000E944872C5010E94B72DAC960FB6F89456
+:10700000DEBF0FBECDBFDF91CF911F910F91FF90DB
+:10701000EF90DF90CF90BF90AF909F908F907F9038
+:107020006F905F904F903F902F90089521E0FC016A
+:10703000218340E0D1CCCF92DF92EF92FF920F9369
+:107040001F93CF93DF93CDB7DEB76F970FB6F8944A
+:10705000DEBF0FBECDBF8C016C0128E6C20ED11C75
+:1070600086599F4FF60191838083E65CFD4F21E0B6
+:1070700030E0318320837801FCE5EF1AFDEFFF0A51
+:10708000F7011182108240E050E0BA0104960E949C
+:10709000A912F601808191812BE1FC013496DE0179
+:1070A000159601900D922A95E1F7FC01828193815A
+:1070B0009C838B838AEB95E09A83898320E030E080
+:1070C000AE014F5F5F4F62E973E0C8010E944C2E32
+:1070D000CE0101960E94B72DF701808191816F96B4
+:1070E0000FB6F894DEBF0FBECDBFDF91CF911F91D9
+:1070F0000F91FF90EF90DF90CF900895AF92BF92E5
+:10710000CF92DF92EF92FF920F931F93CF93DF9373
+:10711000CDB7DEB76F970FB6F894DEBF0FBECDBF09
+:107120008C017B01CE0101960E94AD2DF801EF5834
+:10713000FF4F80816801811104C029E4C20ED11C77
+:1071400003C08AE6C80ED11C21E0A701B6016C5F1E
+:107150007F4FCE0105960E94831581112DC0EFE26D
+:10716000FEE08491882341F09091C00095FFFCCF10
+:107170008093C6003196F5CFE0E7F4E08491882350
+:1071800041F09091C00095FFFCCF8093C6003196EE
+:10719000F5CFF7018191882339F09091C00095FFD8
+:1071A000FCCF8093C600F6CF8091C00085FFFCCF56
+:1071B0008AE08093C60036C0F801E154FE4F80811A
+:1071C00091818A30910530F59C012F5F3F4F3183CB
+:1071D00020832FE1289F7001299FF00C112429E8BA
+:1071E000E20EF11CE00EF11E5C01B701C7014F96E3
+:1071F0000E94373081E0A81AB1082FE1E21AF108A5
+:107200008FEFA816B80689F7B601C80187579F4FB8
+:107210000E943730BE016F5F7F4FC80186599F4F74
+:107220000E943730CE0101960E94B72D6F960FB69F
+:10723000F894DEBF0FBECDBFDF91CF911F910F91AC
+:10724000FF90EF90DF90CF90BF90AF900895EF92B6
+:10725000FF920F931F93CF93DF93EC01C154DE4F46
+:107260002881398121153105F9F0215031093983FF
+:1072700028838C0107571F4FB80186599F4F0E94E2
+:107280003730C80100E010E07C012FE1E20EF11C74
+:10729000288139810217130738F40F5F1F4FB70198
+:1072A0000E943730C701F0CFDF91CF911F910F912E
+:1072B000FF90EF900895EF92FF920F931F93CF935B
+:1072C000DF93EC010E943D938E010D5F1D4FF8018D
+:1072D00080819E0128513E4F79018823A1F1C90187
+:1072E0000E948C13F801808181508083BE01FDE8EB
+:1072F0008F9F600D711D1124685F7D4F21E041E07B
+:10730000CE016ADBF8018081FE0124E0829FE00D5E
+:10731000F11D1124EC5FFD4F408151816281738129
+:10732000FE01E356FD4F4083518362837383C7019F
+:107330000E94A912CE01DF91CF911F910F91FF9072
+:10734000EF900C9416310E94B393C7010E948C13E6
+:107350001A8284E694E0DF91CF911F910F91FF9004
+:10736000EF9081C48FEF8EBD0DB407FEFDCF8EB5BB
+:1073700008958EBD0DB407FEFDCF089561E0FC01B8
+:1073800080810C948AA8FC012281322F306A3695C4
+:107390003CBD20FD06C031E0263009F430E0232F4B
+:1073A00001C020E02DBD60E0FC0180810C948AA822
+:1073B000CF92DF92EF92FF920F931F93CF93DF93C1
+:1073C000EC018B017A010E9431A96B01CBDF8B8329
+:1073D0008F3F49F40E9431A96C197D096D327140CB
+:1073E000A8F381E144C08E3F11F08FE040C0E1146A
+:1073F000F104D9F0C70101972FEF2EBDF8014FEF2F
+:107400009F01201B310B2817390738F40DB407FEF4
+:10741000FDCF2EB521934EBDF3CF0DB407FEFDCFAA
+:107420002EB5F801E80FF91F2083D801E00EF11EF8
+:10743000C12CD12CAE15BF0579F08D91ED2DFF2714
+:10744000E827EE0FFF1FEC5AF94F85919491DC2C41
+:10745000CC24C826D926EECF85DF082F10E0102FC8
+:10746000002780DF082BC016D10631F080E2898327
+:10747000CE0184DF80E003C0CE0180DF81E0DF91B8
+:10748000CF911F910F91FF90EF90DF90CF900895D3
+:107490000F931F93CF93DF93EB010E9431A98B01D0
+:1074A00061DF8F3F49F00E9431A9601B710B6C179F
+:1074B0007D07B0F380E001C081E0DF91CF911F91A3
+:1074C0000F910895CF92DF92FF920F931F93CF9366
+:1074D000DF9300D01F92CDB7DEB76C01F62E298363
+:1074E0003A834B835C834FDF6CE271E0C601D0DFEF
+:1074F0008F2D80643EDF08E110E05C814B813A8192
+:107500002981DA01C901002E04C0B695A795979587
+:1075100087950A94D2F729833A834B835C8329DFCA
+:107520000850110929813A814B815C81083F8FEF16
+:10753000180739F7FF2029F0E8E0FE1621F08FEF59
+:1075400003C085E901C087E814DFFCE0FF1201C039
+:1075500009DF10E007DFF601838387FF04C01F3FC8
+:1075600011F01F5FF7CF0F900F900F900F90DF91EA
+:10757000CF911F910F91FF90DF90CF900895BF9210
+:10758000CF92DF92EF92FF920F931F93CF93DF93EF
+:10759000EC01B62E1C82198248830E9431A98B010E
+:1075A00061E088810E9451A8CE01E8DE60E082E3BC
+:1075B0000E9451A861E083E30E9451A861E084E346
+:1075C0000E9451A861E085E30E9451A861E085E333
+:1075D0000E948AA885E08A8382E58CBD1DBC6AE092
+:1075E000F62E8FEFC6DEFA94E1F720E030E0A90135
+:1075F00060E0CE0167DFF82E8B8381E0F81649F05A
+:107600000E9431A9601B710B613D774070F381E0EE
+:1076100046C02AEA31E040E050E068E0CE0152DFA7
+:1076200082FF02C0FC820CC054E0F52E9BDE8B83EF
+:10763000FA94E1F78A3A11F082E031C082E08C835B
+:107640008C81823031F4C12CD12CE12C40E4F42E19
+:1076500003C0C12CD12C760120E030E0A90167E302
+:10766000CE0130DFA701960169E2CE012BDF8B83CB
+:10767000882349F00E9431A9601B710B613D77405E
+:1076800058F38AE00CC08C818230B1F420E030E005
+:10769000A9016AE3CE0116DF882329F088E08983F7
+:1076A000CE016CDE14C05EDE807C803C11F483E091
+:1076B0008C8358DE57DE56DECE0160DE86E08B1509
+:1076C00018F488E1898303C0BA8281E001C080E0B8
+:1076D000DF91CF911F910F91FF90EF90DF90CF90AE
+:1076E000BF900895AF92BF92CF92DF92EF92FF9238
+:1076F0000F931F93CF93DF93EC016A017B01890104
+:107700008C81833039F0F9E0CC0CDD1CEE1CFF1CC1
+:10771000FA95D1F773E0B72EE4E0AE2EBA94A70144
+:10772000960161E1CE01CEDE882311F0A98207C067
+:1077300040E052E0B801CE013BDE81110EC0CE0127
+:10774000BB2049F01BDE20E030E0A9016CE0CE0157
+:10775000B9DE1982E3CF12DE80E0DF91CF911F9175
+:107760000F91FF90EF90DF90CF90BF90AF90089572
+:10777000CF93DF93EC016EBD20E030E00DB407FE47
+:10778000FDCFFA01E20FF31F80818EBD0DB407FE1D
+:10779000FDCF81818EBD2E5F3F4F211582E03807DE
+:1077A00069F70DB407FEFDCF8FEFE3DD8FEFE1DD6D
+:1077B000D9DD8B838F71853031F083E18983CE01F0
+:1077C000DDDD80E001C081E0DF91CF9108950F936E
+:1077D0001F93CF93DF93EC0189018C81833039F0C3
+:1077E000B9E0440F551F661F771FBA95D1F79A016C
+:1077F000AB0168E1CE0166DE882311F086E01EC091
+:10780000A8016EEFCE01B4DF8823C9F068E572E00D
+:10781000CE013EDE182F811102C087E10FC020E0AB
+:1078200030E0A9016DE0CE014DDE811106C09ADD88
+:10783000811103C0CE01A2DD05C086E18983CE019E
+:107840009DDD10E0812FDF91CF911F910F91089561
+:10785000FC01659175918591949108952F923F92C5
+:107860004F925F926F927F928F929F92AF92BF9250
+:10787000CF92DF92EF92FF920F931F93CF93DF93FC
+:1078800000D000D0CDB7DEB71C01FC01E051F24FB3
+:1078900014919C01220F331F220F331F3E832D832F
+:1078A0002C5B354F4901F90110821182128213823B
+:1078B00020E53AE04CE45AE068E47AE084E49AE0B7
+:1078C0000E943EA48D819E818150924FC1DF6B0149
+:1078D0007C01612F772767FD7095872F972F0E9476
+:1078E00042AF2B013C012D813E81215F354F590173
+:1078F00020E030E040EC5FE3C701B6010E9475B1C3
+:10790000A30192010E9475B1F501608371838283A6
+:1079100093832D813E81215A3D4F3C832B83F90176
+:107920006081718182819381609321027093220230
+:10793000809323029093240220E030E040E752E459
+:107940000E94A7AE20E3C22E2AE0D22E7B018C013A
+:107950002BE13AE047E15AE063E17AE08FE09AE018
+:107960000E94779A0E943D93F40110821182128244
+:10797000138220E53AE04CE45AE068E47AE084E4DB
+:107980009AE00E943EA42D813E812D50324F3A83D1
+:107990002983C9015DDF9058A30192010E9475B14E
+:1079A000F501608371838283938320E030E040E7B8
+:1079B00052E4609121027091220280912302909101
+:1079C00024020E94A7AE7B018C012BE13AE047E143
+:1079D0005AE063E17AE08FE09AE00E94779A0E9491
+:1079E0003D9389819A8134DF9B01AC010E94C7AD30
+:1079F000A30192010E9475B1F501608371838283B6
+:107A0000938320E030E040E05FE3EB81FC81608124
+:107A10007181828193810E9475B16093210270937C
+:107A20002202809323029093240220E030E040E77A
+:107A300052E40E94A7AE7B018C012BE13AE047E1C2
+:107A40005AE063E17AE08FE09AE00E94779A0E9420
+:107A50003D938D819E81855F914FFADE0D811E8160
+:107A6000085C154FF80120813181428153810E94C9
+:107A7000C7ADF40160837183828393838D819E817E
+:107A80008D5D914FE5DE2D813E812D5B3D4F79016E
+:107A9000F80120813181428153810E94C7ADF701F5
+:107AA00060837183828393838D819E81895E914FF0
+:107AB000CFDE2D813E81295C3D4F7901F801208187
+:107AC0003181428153810E94C7ADF7016083718388
+:107AD00082839383F40180819181A281B381F50136
+:107AE00080839183A283B383109221021092220299
+:107AF00010922302109224020E94EA8BF101EB5CA7
+:107B0000F54F81E0808326960FB6F894DEBF0FBE56
+:107B1000CDBFDF91CF911F910F91FF90EF90DF903C
+:107B2000CF90BF90AF909F908F907F906F905F901D
+:107B30004F903F902F900895FC012491222341F013
+:107B40003091C00035FFFCCF2093C6000196F4CFE2
+:107B500022E030E08CE99DE00C94308BFC01249114
+:107B6000222341F03091C00035FFFCCF2093C600A6
+:107B70000196F4CF2AE030E08CE99DE00C94868AEF
+:107B80002091640830916508243031050CF06AC0FA
+:107B9000409166085091670860E6649F9001659F78
+:107BA000300D1124BC01C9018259974F0E9437B68C
+:107BB000EFE2FEE08491882341F09091C00095FFB0
+:107BC000FCCF8093C6003196F5CFE5EEFDE08491C1
+:107BD000882341F09091C00095FFFCCF8093C600B0
+:107BE0003196F5CF809166089091670820E6289F2E
+:107BF000F001299FF00D1124E259F74F819188235C
+:107C000039F09091C00095FFFCCF8093C600F6CF6D
+:107C1000E3EEFDE08491882341F09091C00095FF50
+:107C2000FCCF8093C6003196F5CF8091C00085FFD0
+:107C3000FCCF8AE08093C600809166089091670827
+:107C4000019664E070E00E946BB2909367088093A5
+:107C50006608809164089091650801969093650884
+:107C60008093640808952091640830916508243059
+:107C700031050CF06AC0409166085091670860E6D3
+:107C8000649F9001659F300D1124BC01C901825988
+:107C9000974F0E94A0B5EFE2FEE08491882341F067
+:107CA0009091C00095FFFCCF8093C6003196F5CF30
+:107CB000E8EDFDE08491882341F09091C00095FFAC
+:107CC000FCCF8093C6003196F5CF809166089091E5
+:107CD000670820E6289FF001299FF00D1124E25942
+:107CE000F74F8191882339F09091C00095FFFCCF28
+:107CF0008093C600F6CFE6EDFDE08491882341F045
+:107D00009091C00095FFFCCF8093C6003196F5CFCF
+:107D10008091C00085FFFCCF8AE08093C6008091EF
+:107D2000660890916708019664E070E00E946BB26B
+:107D30009093670880936608809164089091650825
+:107D40000196909365088093640808959B9AA39880
+:107D50000895FCDF40E052EC61E070E08CE99DE0CA
+:107D60000E944689E0EDFDE08491882341F09091E6
+:107D7000C00095FFFCCF8093C6003196F5CF80916F
+:107D8000C00085FFFCCF8AE08093C6008FE29EE0B2
+:107D9000FC012491222341F03091C00035FFFCCF3B
+:107DA0002093C6003196F5CF24B720FF14C0E8EC2D
+:107DB000FDE03491332341F04091C00045FFFCCFFA
+:107DC0003093C6003196F5CF3091C00035FFFCCF1F
+:107DD0003AE03093C60021FF14C0E8EBFDE0349197
+:107DE000332341F04091C00045FFFCCF3093C600E3
+:107DF0003196F5CF3091C00035FFFCCF3AE030939B
+:107E0000C60022FF14C0E7EAFDE03491332341F0BD
+:107E10004091C00045FFFCCF3093C6003196F5CFAE
+:107E20003091C00035FFFCCF3AE03093C60023FF0D
+:107E300014C0E7E9FDE03491332341F04091C000E4
+:107E400045FFFCCF3093C6003196F5CF3091C0008E
+:107E500035FFFCCF3AE03093C60025FF14C0E7E8B9
+:107E6000FDE02491222341F03091C00035FFFCCF8A
+:107E70002093C6003196F5CF2091C00025FFFCCF9E
+:107E80002AE02093C60014BEE0E8FDE024912223FE
+:107E900041F03091C00035FFFCCF2093C6003196F1
+:107EA000F5CFEAE7FDE02491222341F03091C000B4
+:107EB00035FFFCCF2093C6003196F5CF2091C0004E
+:107EC00025FFFCCF2AE02093C600FC012491EFE2BD
+:107ED000FEE0222349F03091C00035FFFCCF209313
+:107EE000C60031962491F5CFEAE6FDE024912223E5
+:107EF00041F03091C00035FFFCCF2093C600319691
+:107F0000F5CFE5E5FDE02491222341F03091C0005A
+:107F100035FFFCCF2093C6003196F5CFE9E4FDE0B4
+:107F20002491222341F03091C00035FFFCCF2093F3
+:107F3000C6003196F5CFE2E3FDE02491222341F023
+:107F40003091C00035FFFCCF2093C6003196F5CFAD
+:107F50002091C00025FFFCCF2AE02093C600E7E275
+:107F6000FDE02491222341F03091C00035FFFCCF89
+:107F70002093C6003196F5CFEBE1FDE0249122235A
+:107F800041F03091C00035FFFCCF2093C600319600
+:107F9000F5CF2091C00025FFFCCF2AE02093C6003A
+:107FA000FC018491EFE2FEE0882349F09091C0004B
+:107FB00095FFFCCF8093C60031968491F5CFECE01D
+:107FC000FDE08491882341F09091C00095FFFCCFA3
+:107FD0008093C6003196F5CF0E9458964AE050E053
+:107FE000BC018CE99DE00E945A8AE5EFFCE0849197
+:107FF000882341F09091C00095FFFCCF8093C6008C
+:108000003196F5CF4AE050E060ED74E08CE99DE0F8
+:108010000E945A8A8091C00085FFFCCF8AE080933D
+:10802000C60010926A0810926B0810926C081092A9
+:108030006D080E9467870E9439830E94A2200E94D7
+:10804000279A0E9446950E947076FFEF23ED80E309
+:10805000F15020408040E1F700C000000895809179
+:108060005E0890915F0860E070E001960C94F7B2B2
+:1080700080915E0890915F084AE050E060E070E017
+:1080800001960C945FB4682F772767FD7095209157
+:1080900068083091690840E6429FC001439F900DF7
+:1080A00011248259974F0E9423B690935F088093C2
+:1080B0005E0821E0892B09F420E0822F08950E94B8
+:1080C00031A960935A0870935B0880935C08909381
+:1080D0005D0808950E9431A960935A0870935B0867
+:1080E00080935C0890935D08E0916808F0916908BE
+:1080F000E659F74F8081811114C0ECEFF8E08491CC
+:10810000882341F09091C00095FFFCCF8093C6007A
+:108110003196F5CF8091C00085FFFCCF8AE0809337
+:10812000C60008958CE99DE00E949889EFEFF8E081
+:108130008491882341F09091C00095FFFCCF8093FB
+:10814000C6003196F5CF4091F3095091F409609142
+:10815000F5097091F6094F5F5F4F6F4F7F4F2AE02F
+:1081600030E08CE99DE00E94378A8091C00085FF55
+:10817000FCCF8AE08093C600ADCF8F929F92AF92E2
+:10818000BF92CF92DF92EF92FF920F931F93CF9304
+:10819000DF9337ECE32E34E0F32E04E41AE0CFE073
+:1081A000DAE049E5C42E4AE0D42EF70181917F013F
+:1081B0006ADF882311F153DF4B015C01F6018081F6
+:1081C000811103C06091EE0901C061E070E080E0C0
+:1081D00090E00E9442AFF8012081318142815381B9
+:1081E0000E9475B19B01AC01C501B4010E94C7ADED
+:1081F000688379838A839B8309C0F8018081918198
+:10820000A281B38188839983AA83BB830C5F1F4FAC
+:108210002496FFEFCF1ADF0A8BECE81684E0F8060D
+:1082200021F686E430DF8823D1F019DF6B017C0171
+:108230006093FF097093000A8093010A9093020AE9
+:1082400020E030E0A9010E94A3B0181644F4C092C7
+:108250002102D0922202E0922302F0922402DF91C6
+:10826000CF911F910F91FF90EF90DF90CF90BF9033
+:10827000AF909F908F90089580DF89E404DF88237A
+:1082800051F0EDDE6093030A7093040A8093050AAF
+:108290009093060A08C01092030A1092040A1092E2
+:1082A000050A1092060A8AE4EEDE882351F0D7DE32
+:1082B0006093070A7093080A8093090A90930A0A48
+:1082C00008951092070A1092080A1092090A109253
+:1082D0000A0A0895CF92DF92EF92FF92CF93DF9335
+:1082E000EC01C0904302D0904402E0904502F0902F
+:1082F0004602A7019601688179818A819B810E944B
+:10830000A0AE87FF04C0C882D982EA82FB82C090F7
+:108310004702D0904802E0904902F0904A02A7013B
+:1083200096016C817D818E819F810E94A0AE87FF26
+:1083300004C0CC82DD82EE82FF8220E030E0A90121
+:1083400060914B0270914C0280914D0290914E02CF
+:108350000E94C7AD6B017C019B01AC0168857985EA
+:108360008A859B850E94A0AE87FF04C0C886D986F7
+:10837000EA86FB86C0903702D0903802E09039023E
+:10838000F0903A02A7019601688179818A819B81E8
+:108390000E94A3B0181624F4C882D982EA82FB8214
+:1083A000C0903B02D0903C02E0903D02F0903E0233
+:1083B000A70196016C817D818E819F810E94A3B06F
+:1083C000181624F4CC82DD82EE82FF82C0903F0238
+:1083D000D0904002E0904102F0904202A701960145
+:1083E000688579858A859B850E94A3B0181624F438
+:1083F000C886D986EA86FB86DF91CF91FF90EF9001
+:10840000DF90CF900895CF92DF92EF92FF920F937B
+:108410001F938FE09AE05EDF0E9431A960935A08B3
+:1084200070935B0880935C0890935D0820910F0A1D
+:108430003091100A4091110A5091120A6091440A39
+:108440007091450A8091460A9091470A0E94A0AE19
+:10845000811179C02091130A3091140A4091150AB4
+:108460005091160A6091480A7091490A80914A0A0F
+:1084700090914B0A0E94A0AE811165C020E030E0CF
+:1084800040E752E460912102709122028091230220
+:10849000909124020E94A7AE50E3C52E5AE0D52E3B
+:1084A0007B018C012BE13AE047E15AE063E17AE09D
+:1084B0008FE09AE00E94779A80910F0A9091100ABB
+:1084C000A091110AB091120A8093440A9093450A30
+:1084D000A093460AB093470A8091130A9091140A18
+:1084E000A091150AB091160A8093480A9093490A00
+:1084F000A0934A0AB0934B0A8091170A9091180AE8
+:10850000A091190AB0911A0A80934C0A90934D0ACF
+:10851000A0934E0AB0934F0A80911B0A90911C0AB7
+:10852000A0911D0AB0911E0A8093500A9093510A9F
+:10853000A093520AB093530A1F910F91FF90EF90AE
+:10854000DF90CF90089560915D0270915E02882760
+:1085500077FD8095982F0E9442AF209121023091A3
+:10856000220240912302509124020E9475B120E022
+:1085700030E040E752E40E94A7AE20E030E048EC53
+:1085800052E488CFCF92DF92EF92FF92CF93C62F23
+:10859000E091300AF0E0882309F4C2C0DF01A45D55
+:1085A000B54F8C91811196C18091440A9091450AF2
+:1085B000A091460AB091470A80930F0A9093100A3F
+:1085C000A093110AB093120A8091480A9091490A27
+:1085D000A0914A0AB0914B0A8093130A9093140A0F
+:1085E000A093150AB093160A80914C0A90914D0AF7
+:1085F000A0914E0AB0914F0A8093170A9093180ADF
+:10860000A093190AB0931A0AC090500AD090510A48
+:10861000E090520AF090530AC0921B0AD0921C0AB2
+:10862000E0921D0AF0921E0AEE0FFF1FEE0FFF1FD1
+:10863000E15BFD4F2081318142815381CC2349F0A0
+:1086400060912F027091300280913102909132023C
+:1086500008C060913302709134028091350290918C
+:1086600036020E94A7AE9B01AC01C701B6010E9471
+:10867000C7AD6093500A7093510A8093520A909349
+:10868000530A80E59AE00E94E3A4C0902102D090B2
+:108690002202E0902302F090240220E030E040E744
+:1086A00052E460912B0270912C0280912D029091E6
+:1086B0002E020E9475B16093210270932202809372
+:1086C000230290932402E091300AF0E0E45DF54F3C
+:1086D00081E0808398DE2091280A3091290A409118
+:1086E0002A0A50912B0A60914C0A70914D0A809190
+:1086F0004E0A90914F0A0E94C6AD60934C0A709347
+:108700004D0A80934E0A90934F0A20E53AE04CE4DC
+:108710005AE068E47AE084E49AE00E943EA4D1C082
+:10872000E45DF54F8081882309F4D4C08091440A28
+:108730009091450AA091460AB091470A80930F0A8A
+:108740009093100AA093110AB093120A8091480ADC
+:108750009091490AA0914A0AB0914B0A8093130A5A
+:108760009093140AA093150AB093160A60914C0ACC
+:1087700070914D0A80914E0A90914F0A6093170AAA
+:108780007093180A8093190A90931A0AC090500A9D
+:10879000D090510AE090520AF090530AC0921B0AFE
+:1087A000D0921C0AE0921D0AF0921E0A2091280A1B
+:1087B0003091290A40912A0A50912B0A0E94C7AD94
+:1087C00060934C0A70934D0A80934E0A90934F0A1F
+:1087D00020E53AE04CE45AE068E47AE084E49AE088
+:1087E0000E943EA4F090300ACC2389F02091200A08
+:1087F0003091210A4091220A5091230A60912F0260
+:1088000070913002809131029091320210C020911B
+:10881000240A3091250A4091260A5091270A609136
+:1088200033027091340280913502909136020E9499
+:10883000C7AD24E0F29EF0011124E15BFD4F2081E1
+:108840003181428153810E94A7AE9B01AC016091AE
+:10885000500A7091510A8091520A9091530A0E94D5
+:10886000C6AD6093500A7093510A8093520A909358
+:10887000530A80E59AE00E94E3A4C0902102D090C0
+:108880002202E0902302F090240220E030E040E752
+:1088900052E4609127027091280280912902909100
+:1088A0002A020E9475B16093210270932202809384
+:1088B000230290932402E091300AF0E0E45DF54F4A
+:1088C0001082A1DDC0922102D0922202E092230206
+:1088D000F0922402CF91FF90EF90DF90CF90089517
+:1088E000AF92BF92CF92DF92EF92FF920F931F93BE
+:1088F000CF93DF93D82F2091070A3091080A409137
+:10890000090A50910A0A6091030A7091040A809141
+:10891000050A9091060A0E94B0B0C62F172F082FA3
+:10892000F92E60915D0270915E02882777FD809537
+:10893000982F0E9442AF2091210230912202409153
+:108940002302509124020E9475B120E030E040E7FC
+:1089500052E40E94A7AE20E030E048EC52E40E94CE
+:10896000A7AE2091300A2F93DF93FF920F931F93AE
+:10897000CF935B016C0172E0E72E01E020E043E061
+:108980005AE06FE07AE084E49AE00E943B2A80910A
+:108990000F0A9091100AA091110AB091120A8093C7
+:1089A000440A9093450AA093460AB093470A8091DF
+:1089B000130A9091140AA091150AB091160A809397
+:1089C000480A9093490AA0934A0AB0934B0A8091AF
+:1089D000170A9091180AA091190AB0911A0A809367
+:1089E0004C0A90934D0AA0934E0AB0934F0A80917F
+:1089F0001B0A90911C0AA0911D0AB0911E0A809337
+:108A0000500A9093510AA093520AB093530A0E94BD
+:108A100031A960935A0870935B0880935C08909327
+:108A20005D080F900F900F900F900F900F90DF91B7
+:108A3000CF911F910F91FF90EF90DF90CF90BF905B
+:108A4000AF900895F8940E944521179A1092350A24
+:108A5000169A1092360A159A1092370A149A60E004
+:108A600087E40E9451A8E5E3FEE08491882341F069
+:108A70009091C00095FFFCCF8093C6003196F5CF52
+:108A8000EDEDF8E08491882341F09091C00095FFCE
+:108A9000FCCF8093C6003196F5CF8091C00085FF52
+:108AA000FCCF8AE08093C60084ED98E00E940D76AA
+:108AB0007894C6E0D0E02197209749F068EC70E008
+:108AC00080E090E00E9460A90E949C76F4CFF89428
+:108AD000FFCF2F923F924F925F926F927F928F9231
+:108AE0009F92AF92BF92CF92DF92EF92FF920F933D
+:108AF0001F93CF93DF93CDB7DEB76E970FB6F89481
+:108B0000DEBF0FBECDBFB0E6BB2E14E0E12EF12CD0
+:108B10000BEBC02E0BE0D02E8AE0A82E9924939464
+:108B200080911D0E90911E0E20911F0E3091200EEF
+:108B3000821B930B8F779927892B09F41AC2809196
+:108B400064089091650804970CF013C28CE99DE0CD
+:108B50000E947C89809363082091610830916208AB
+:108B60008A3061F08D3051F08A3321F490916008A1
+:108B7000992321F02F3531050CF41DC12115310544
+:108B800009F437C18091660890916708B89E30015A
+:108B9000B99E700C1124F301E20FF31FE259F74F55
+:108BA000108220916008211101C110926008FC011F
+:108BB000E659F74F108283010259174F6EE470E0B7
+:108BC000C8010E9423B60097F1F190935F0880934B
+:108BD0005E08801B910B860D971D4AE050E060E017
+:108BE00070E08159974F0E945FB46093F7097093CA
+:108BF000F8098093F9099093FA094090F30950908D
+:108C0000F4096090F5097090F6092FEF421A520AA4
+:108C1000620A720A0091660810916708641575056A
+:108C20008605970509F4E8C0B09EC001B19E900D7D
+:108C3000112467ED7CE08259974F0E94CEB5892BB5
+:108C400009F0DAC069C16AE270E0C8010E9423B687
+:108C5000892B09F444C0E5E3FEE08491882341F0C8
+:108C60009091C00095FFFCCF8093C6003196F5CF60
+:108C7000E1E3FCE08491882341F09091C00095FFEE
+:108C8000FCCF8093C6003196F5CF4091F309509107
+:108C9000F4096091F5097091F6092AE030E08CE959
+:108CA0009DE00E94378A8091C00085FFFCCF8AE05A
+:108CB0008093C6001092620810926108C0C2809131
+:108CC000F7099091F809A091F909B091FA098093F8
+:108CD000F3099093F409A093F509B093F6098091F4
+:108CE000660890916708B89E8001B99E100D112406
+:108CF000C8018259974F3C0167E470E00E9423B697
+:108D0000009781F190935F0880935E088619970918
+:108D1000800F911F60E070E08159974F0E94F7B279
+:108D20000E940FAF64307105E8F480914C088823ED
+:108D3000C9F0F6018491EBEBFBE0882349F09091B8
+:108D4000C00095FFFCCF8093C60031968491F5CF8B
+:108D50008091C00085FFFCCFA092C60081EB9BE014
+:108D60000E9400760091660810916708B09EC001CD
+:108D7000B19E900D112463E973E08259974F0E94D0
+:108D80002EB6892B09F45EDEC8010196B7010E9458
+:108D90006BB2909367088093660880916408909105
+:108DA00065080196909365088093640810926208A4
+:108DB00010926108B5CE8B3311F4909260089091B7
+:108DC00060089111ADCE4091660850916708B901D5
+:108DD0006F5F7F4F7093620860936108B49EF001EB
+:108DE000B59EF00D1124E20FF31FE259F74F808377
+:108DF00097CE1092600823C2B09E3001B19E700CD5
+:108E00001124C3018259974F1C016AE270E00E944D
+:108E100023B6009789F5E5E3FEE08491882341F0CD
+:108E20009091C00095FFFCCF8093C6003196F5CF9E
+:108E3000EBE5FCE08491882341F09091C00095FF20
+:108E4000FCCF8093C6003196F5CF4091F309509145
+:108E5000F4096091F5097091F6092AE030E08CE997
+:108E60009DE00E94378A8091C00085FFFCCF8AE098
+:108E70008093C60057D91ECF20E010E0F301E20F27
+:108E8000F11DE259F74F30813A3219F02F5F132765
+:108E9000F5CF90935F0880935E0882199309860D41
+:108EA000971D60E070E08159974F0E94F7B20E94D1
+:108EB0000FAF212F30E02617370709F400CFE5E385
+:108EC000FEE08491882341F09091C00095FFFCCF93
+:108ED0008093C6003196F5CFE5E8FCE084918823C5
+:108EE00041F09091C00095FFFCCF8093C600319671
+:108EF000F5CF4091F3095091F4096091F509709113
+:108F0000F6092AE030E08CE99DE00E94378A8091E2
+:108F1000C00085FFFCCFABCFE5E3FEE08491882362
+:108F200041F09091C00095FFFCCF8093C600319630
+:108F3000F5CFE4EAFCE08491882341F09091C000F1
+:108F400095FFFCCF8093C6003196F5CF4091F30991
+:108F50005091F4096091F5097091F6092AE030E02A
+:108F60008CE99DE00E94378A8091C00085FFFCCF8C
+:108F70007ECF80915F0A882309F461C180916108E6
+:108F800090916208892B09F05AC1809164089091F0
+:108F90006508892B11F410924A08F8EE2F2EF3E0A1
+:108FA0003F2E412C512CACE3CA2ED12CE12CF12CBC
+:108FB0008E010F5F1F4FE0E66E2E77247394409171
+:108FC000FA0C5091FB0C6091FC0C7091FD0C80919F
+:108FD000F20C9091F30CA091F40CB091F50C4817A1
+:108FE00059076A077B0708F02AC1809164089091AD
+:108FF000650804970CF023C180914A0881111FC1B4
+:1090000080914D0C90914E0CA0914F0CB091500C52
+:109010008093FA0C9093FB0CA093FC0CB093FD0C86
+:1090200085E49CE00E94E011482F809363088A3019
+:10903000B9F04D30A9F0433229F420916008222381
+:1090400079F002C04A33C9F3209161083091620877
+:109050002F3531052CF48F3FFFEF9F0709F0D1C06A
+:109060004091FA0C5091FB0C6091FC0C7091FD0C3E
+:109070008091F20C9091F30CA091F40CB091F50C4E
+:10908000481759076A077B0708F481C0EEE9FBE03F
+:109090008491882341F09091C00095FFFCCF80938C
+:1090A000C6003196F5CF8091C00085FFFCCFFAE075
+:1090B000F093C6000E9431A960934E0870934F0848
+:1090C00080935008909351088090520890905308D4
+:1090D000A0905408B0905508681979098A099B092D
+:1090E000A20191010E947EB249015A01CA01B9014F
+:1090F000A70196010E947EB2CA01B901A70196019B
+:109100000E947EB27F936F93C501B40120E13EE0DF
+:1091100040E050E00E947EB23F932F93AAE8BBE06C
+:10912000BF93AF931F930F930E945BB6EFE2FEE0F5
+:1091300084910FB6F894DEBF0FBECDBF882349F0EF
+:109140009091C00095FFFCCF8093C600319684912A
+:10915000F5CFF8018191882339F09091C00095FFF7
+:10916000FCCF8093C600F6CF8091C00085FFFCCF76
+:109170003AE03093C600C8010E9448728DE59AE03B
+:109180000E945B3961E08DE59AE00E94873380910F
+:109190006308833211F470924A082091610830917B
+:1091A00062082115310509F424CE8091660890915A
+:1091B0006708689EF001699EF00D1124E20FF31F0D
+:1091C000E259F74F1082FC01E659F74F7082209167
+:1091D0006408309165082F5F3F4F309365082093F6
+:1091E0006408019664E070E00E946BB29093670897
+:1091F00080936608109260081092620810926108CD
+:10920000DECE4B3311F4709260084091600841113A
+:10921000D2CE4091660850916708B9016F5F7F4FC9
+:109220007093620860936108649EF001659EF00D82
+:109230001124E20FF31FE259F74F8083C0CE6E96E0
+:109240000FB6F894DEBF0FBECDBFDF91CF911F9157
+:109250000F91FF90EF90DF90CF90BF90AF909F90D5
+:109260008F907F906F905F904F903F902F900895D8
+:10927000CF92DF92EF92FF920F931F93CF93C82F5D
+:10928000809164089091650803970CF422DC0E9499
+:1092900031A9009156081091570820915808309133
+:1092A0005908C0905A08D0905B08E0905C08F09094
+:1092B0005D086C197D098E099F0906171707280795
+:1092C000390728F4012B022B032B09F0BBDB40915B
+:1092D0001D0250911E0260911F0270912002452BC9
+:1092E000462B472B19F10E9431A900915A08109181
+:1092F0005B0820915C0830915D08601B710B820B4C
+:10930000930B00911D0210911E0220911F023091BB
+:109310002002061717072807390740F490916D0EB1
+:1093200080916C0E981302C0CC2349F0CF911F910D
+:109330000F91FF90EF90DF90CF900C945B9A179A6B
+:109340001092350A169A1092360A159A1092370A18
+:10935000149AECCF0E94452180914C08811138C0AD
+:1093600081E080934C088091F3099091F409A091D9
+:10937000F509B091F6098093EF099093F009A09355
+:10938000F109B093F209E5E3FEE08491882341F00E
+:109390009091C00095FFFCCF8093C6003196F5CF29
+:1093A000EEE5F8E08491882341F09091C00095FFAC
+:1093B000FCCF8093C6003196F5CF8091C00085FF29
+:1093C000FCCF8AE08093C60084E598E00C94007698
+:1093D000089580914C080895CF93DF93EC0180911C
+:1093E000300A80934D0884E50E944340811102C0F9
+:1093F00080E075C00E942F400E9414AF60934D081A
+:109400006623B1F3EFE2FEE08491882341F090916E
+:10941000C00095FFFCCF8093C6003196F5CFCD36C6
+:10942000D105B9F054F4C836D105B1F0C936D1052B
+:1094300009F045C0EDEDF3E021C0CA3DD10531F0A2
+:10944000CD3DD105E1F5E8E9F3E036C0EFEAF3E020
+:1094500029C0E6ECF3E01CC0E4EFF3E0819188233F
+:1094600071F19091C00095FFFCCF8093C600F6CFBC
+:109470009091C00095FFFCCF8093C600819181112F
+:10948000F7CF1DC09091C00095FFFCCF8093C60020
+:1094900081918111F7CF13C09091C00095FFFCCF4F
+:1094A0008093C60081918111F7CF09C09091C000CF
+:1094B00095FFFCCF8093C60081918111F7CF40E0EA
+:1094C00050E060914D088CE99DE00E94918A809166
+:1094D000C00085FFFCCF8AE08093C60081E0DF9169
+:1094E000CF910895CF92DF92EF92FF922091540A8C
+:1094F0002223F1F020E030E040E05FE30E9475B10C
+:109500006B017C0120E030E0A9010E94A0AE88231D
+:1095100079F0A7019601C701B6010E9475B12BED44
+:109520003FE049E450E40E9475B19B01AC0104C0E6
+:1095300020E030E040E85FE360E070E080E89FE337
+:109540000E94A7AEFF90EF90DF90CF9008956091BA
+:109550005302709154028091550290915602C2DFDD
+:1095600060934F0270935002809351029093520285
+:1095700008953F924F925F926F927F928F929F9247
+:10958000AF92BF92CF92DF92EF92FF920F931F9311
+:10959000CF93DF93CDB7DEB7E9970FB6F894DEBF70
+:1095A0000FBECDBF80E50E9443408823B1F186E421
+:1095B0000E9443408823A9F0EAE1F4E081918823E6
+:1095C00039F09091C00095FFFCCF8093C600F6CF94
+:1095D0008091C00085FFFCCF8AE08093C6000C9488
+:1095E000F46082E50E944340882311F40C94F460F7
+:1095F000E0E2F4E08191882339F09091C00095FF7A
+:10960000FCCF8093C600F6CF8091C00085FFFCCFD1
+:109610008AE08093C6000C94F46087E40E94434083
+:10962000882309F44CC20E942F400E940FAF6A3079
+:10963000710509F4AFC09CF46230710509F44CC0A7
+:1096400024F477FF25C00C94F4606330710509F4AD
+:109650004EC06430710509F455C00C94F4606A354D
+:10966000710509F4D8C154F46B30710509F498C040
+:109670006C31710509F49AC00C94F4606B35710576
+:1096800009F4CDC16C35710509F4CEC10C94F460B8
+:1096900080914C0881110C94F4600E94BD4080912F
+:1096A0002D0A8823A9F088E50E944340811110C04B
+:1096B00089E50E94434081110BC08AE50E94434026
+:1096C000811106C085E40E94434081110C94F7602B
+:1096D0000E9403420C94F46080914C0881110C9418
+:1096E000F4600E943C4181E0FBD80C94F4608091CE
+:1096F0004C0881110C94F4600E943C4180E0F0D849
+:109700000C94F46081E89BE00E94007680E50E9462
+:109710004340882339F00E942F400E9414AF4B0130
+:109720005C0103C0812C912C540183E50E944340CD
+:10973000882361F00E942F4020E030E04AE754E4A3
+:109740000E9475B10E9414AF4B015C010E943D93D1
+:109750000E9431A96B017C01C80CD91CEA1CFB1CBE
+:109760000E9431A960935A0870935B0880935C084B
+:1097700090935D080E9431A96C157D058E059F05AB
+:1097800010F00C94F4600E94721E80E071DD0E9463
+:109790009C76F0CF60E081E00E94C2420C94F460BD
+:1097A00060E080E00E94C2420C94F460809121024B
+:1097B00090912202A0912302B09124028093FB0990
+:1097C0009093FC09A093FD09B093FE0980915D027E
+:1097D00090915E029093580A8093570A84E690E035
+:1097E00090935E0280935D020E9431A960935A08B3
+:1097F00070935B0880935C0890935D0881E00E9401
+:10980000F18B8091440A9091450AA091460AB0914B
+:10981000470A80930F0A9093100AA093110AB093FD
+:10982000120A8091480A9091490AA0914A0AB0917F
+:109830004B0A8093130A9093140AA093150AB093CD
+:10984000160A80914C0A90914D0AA0914E0AB0914F
+:109850004F0A8093170A9093180AA093190AB0939D
+:109860001A0A8091500A9091510AA091520AB0911F
+:10987000530A80931B0A90931C0AA0931D0AB0936D
+:109880001E0A1092210210922202109223021092BC
+:10989000240288E50E944340882311F090E00AC02A
+:1098A00089E50E9443408111F9CF8AE50E94434037
+:1098B00091E098279093250291110C94266188E5F8
+:1098C0000E94434081110C942661809125028111F0
+:1098D0000C942C6189E50E94434081110C942C6109
+:1098E00088E50E9443408823D1F00E943840672BCE
+:1098F000682B692BA1F00E942F402091380A3091EB
+:10990000390A40913A0A50913B0A0E94C7AD6093D0
+:10991000440A7093450A8093460A9093470A89E562
+:109920000E9443408823D1F00E943840672B682B67
+:10993000692BA1F00E942F4020913C0A30913D0AF2
+:1099400040913E0A50913F0A0E94C7AD6093480A79
+:109950007093490A80934A0A90934B0A809125029A
+:1099600081110C9432618AE50E94434081110C946C
+:1099700032618AE50E9443408823D1F00E9438403A
+:10998000672B682B692BA1F00E942F402091400A81
+:109990003091410A4091420A5091430A0E94C7AD5A
+:1099A00060934C0A70934D0A80934E0A90934F0A2D
+:1099B00020E53AE04CE45AE068E47AE084E49AE096
+:1099C0000E943EA480E00E94F18B8091FB0990915F
+:1099D000FC09A091FD09B091FE09809321029093AA
+:1099E0002202A0932302B09324028091570A9091FF
+:1099F000580A90935E0280935D020E9431A96093A1
+:109A00005A0870935B0880935C0890935D080E94ED
+:109A1000EA8B0C94F4601092EE090C94F46081E0EF
+:109A20008093EE090C94F46085E40E944340811118
+:109A300002C00E943D9357ECC52E54E0D52E68E33A
+:109A4000E62E6AE0F62E04E41AE0B12CF6018191CC
+:109A50006F010E944340882339F1F3E0BF120CC02C
+:109A60000E942F40F801608371838283938380E595
+:109A70009AE00E94E3A418C00E942F40F7012081C1
+:109A80003181428153810E94C7ADF80160837183A7
+:109A90008283938320E53AE04CE45AE068E47AE07C
+:109AA00084E49AE00E943EA4B394F4E0EF0EF11C2B
+:109AB0000C5F1F4F24E0B212C9CF0C94F4608DE408
+:109AC0000E944340882311F40C9423600E942F408D
+:109AD0000E940FAF6537710511F40C94C9550CF055
+:109AE000A6C06032710509F4F0C20CF056C06731AF
+:109AF000710509F445C254F56231710509F468C76E
+:109B0000BCF477FF02C00C94F460623071050CF471
+:109B100061C16131710511F00C94F46088E49BE03F
+:109B20000E94007617981698159814980C94F46073
+:109B30006531710509F418C20CF01CC2643171055D
+:109B400011F00C94F460E8E3FBE0EAC16B317105BD
+:109B500009F442C2B4F46931710509F429C20CF068
+:109B60002DC28DE59AE00E9416310E9431A96093C2
+:109B700052087093530880935408909355080C949E
+:109B8000F4606E31710509F462C20CF03AC36C31B5
+:109B9000710509F427C20C94F4606C35710509F461
+:109BA0006AC7ECF46235710509F409C764F46035DD
+:109BB000710509F4DAC60CF0E5C66A32710509F4DC
+:109BC0007EC30C94F4606435710509F401C70CF48C
+:109BD000FAC66535710509F433C70C94F4606B3629
+:109BE000710509F4BCC664F46936710509F4DEC375
+:109BF0000CF085C66836710509F4A8C30C94F460AE
+:109C00006037710509F4BFC334F46D36710509F48A
+:109C1000D9C40C94F4606237710509F4CEC7633778
+:109C2000710511F00C94F460EEEBF9E0ADC76D3DF9
+:109C3000710511F40C94D3590CF04DC06B3C7105B7
+:109C400011F40C944D5844F56C38710509F49DC31A
+:109C50009CF46837710511F40C94BD566937710591
+:109C600011F40C94C2566737710511F00C94F4602E
+:109C7000E7E2F4E00C94CD56683C710511F40C94C5
+:109C8000B757693C710511F40C942C586E3B710563
+:109C900011F00C94F46020C56F3C710511F40C9424
+:109CA000095954F46D3C710511F40C948C5814F45A
+:109CB0000C946A580C94EC58613D710511F40C94A5
+:109CC000645914F40C943E596C3D710511F40C94D4
+:109CD000C4590C94F460603931E0730711F40C94AA
+:109CE000965B54F56E3291E0790711F40C94505B59
+:109CF00084F46C32F1E07F0711F40C94545A14F0A0
+:109D00000C948A5A623E710511F40C94F9590C9422
+:109D1000F4606E3531E0730711F40C94905F6F3589
+:109D200081E0780711F40C94C75F6F32714011F035
+:109D30000C94F4600C945E5B6835E2E07E0711F4ED
+:109D40000C94745CBCF4663F21E0720711F40C942F
+:109D5000995B673F31E0730711F40C949C5B653F9E
+:109D6000714011F00C94F4600E9467870E9439835F
+:109D70000C94F4606B3893E0790711F40C946A5FEB
+:109D80003CF46335734011F40C949F5B0C94F460C5
+:109D9000603A23E0720709F401C2673E734011F094
+:109DA0000C94F46010924C080E9413768091EF0995
+:109DB0009091F009A091F109B091F2098093F30913
+:109DC0009093F409A093F509B093F6090E9492408C
+:109DD0000C94F46000915E0810915F080E5F1F4FB5
+:109DE00080E50E944340882379F00E942F400E9422
+:109DF00014AF6B017C01BB24B3946115710581051F
+:109E0000910531F4B12C04C0B12CC12CD12C7601B8
+:109E100083E50E944340882399F00E942F4020E070
+:109E200030E04AE754E40E9475B10E9414AF6B0120
+:109E30007C01AA24A394611571058105910509F49B
+:109E4000A12C6AE270E0C8010E9423B6009711F0CD
+:109E5000FC011082F801CF0121912032E1F3B11011
+:109E600007C0A11005C0222319F00E94487204C047
+:109E700080E79BE00E94007681E00E9428720E94A9
+:109E80003D930E9431A960935A0870935B088093B8
+:109E90005C0890935D08C114D104E104F104A9F0B9
+:109EA0000E9431A94B015C018C0C9D1CAE1CBF1C97
+:109EB0000E9431A9681579058A059B05B8F40E94AE
+:109EC0006277811113C00C9438610E9460778823F7
+:109ED00011F40C94F4600E94627781110AC00E9410
+:109EE000721E80E0C5D90E949C76F5CF80E00E946A
+:109EF000287280915F0A882331F081E69BE00E94FE
+:109F000000760C94F46081E59BE00E9400760C944E
+:109F1000F4609091C00095FFFCCF8093C60031960D
+:109F200084918111F6CF8091C00085FFFCCF8AE03B
+:109F30008093C6008DE59AE00E94F22FEAE2FBE0F2
+:109F40008491882341F09091C00095FFFCCF8093CD
+:109F5000C6003196F5CF8091C00085FFFCCF8AE026
+:109F60008093C6000C94F4608DE59AE00E9447301F
+:109F70000C94F4608DE59AE00E9412310C94F46028
+:109F800000915E0810915F080C5F1F4F6AE270E05D
+:109F9000C8010E9423B6009711F0FC01108221E055
+:109FA00041E0B8018DE59AE00E94EC340C94F46035
+:109FB0008DE59AE00E941D310C94F4608091600A56
+:109FC000882311F40C94F46083E50E9443408111CE
+:109FD0000C9441610C94F4608DE59AE00E94C132CA
+:109FE0000C94F46080915E0890915F086AE270E0E2
+:109FF00004960E9423B68C010097D9F0209168083E
+:10A000003091690840E6429FC001439F900D1124A2
+:10A010006EE470E08259974F0E9423B660E270E0D0
+:10A020000E9423B6019690935F0880935E08F80122
+:10A03000108260915E0870915F086C5F7F4F21E035
+:10A0400040E08DE59AE00E94EC340C94F46080913D
+:10A05000600A882311F40C94F46060E08DE59AE0C6
+:10A060000E947D3480915E0890915F086AE270E002
+:10A0700004960E9423B68C010097D9F020916808BD
+:10A080003091690840E6429FC001439F900D112422
+:10A090006EE470E08259974F0E9423B660E270E050
+:10A0A0000E9423B6019690935F0880935E08F801A2
+:10A0B000108260915E0870915F086C5F7F4F8DE544
+:10A0C0009AE00E9481310C94F46080915F0A8111C2
+:10A0D0000E943D9300915E0810915F080C5F1F4F36
+:10A0E0006AE270E0C8010E9423B67C0161E270E080
+:10A0F000C8010E9423B6009719F08C010F5F1F4F13
+:10A10000E114F10411F0F701108280E50E94434050
+:10A11000F82E20915E0830915F080217130708F4AB
+:10A12000F12C8091600A882311F40C94F46021E0F2
+:10A130002F2541E0B8018DE59AE00E94EC3483E5DB
+:10A140000E9443408823B9F020915E0830915F0857
+:10A150002017310780F40E943840AB01BC014093C6
+:10A16000FA0C5093FB0C6093FC0C7093FD0C85E48F
+:10A170009CE00E94A9128DE59AE00E941631F11030
+:10A180000C94F4600E9431A96093520870935308B4
+:10A1900080935408909355080C94F46080915E0865
+:10A1A00090915F086AE270E005960E9423B68C01E8
+:10A1B0000097D9F0209168083091690840E6429FE5
+:10A1C000C001439F900D11246EE470E08259974FB7
+:10A1D0000E9423B660E270E00E9423B6019690933D
+:10A1E0005F0880935E08F801108260915E087091AC
+:10A1F0005F086B5F7F4F8DE59AE00E9416380C94E4
+:10A20000F4600E9431A960934E0870934F088093C8
+:10A2100050089093510800915208109153082091D2
+:10A22000540830915508601B710B820B930B28EE7C
+:10A2300033E040E050E00E947EB2CA01B9012CE355
+:10A2400030E040E050E00E947EB27F936F933F93F6
+:10A250002F938BE19BE09F938F93CE0101969F9369
+:10A260008F930E945BB6EFE2FEE084910FB6F89404
+:10A27000DEBF0FBECDBF882349F09091C00095FF8F
+:10A28000FCCF8093C60031968491F5CFFE013196C4
+:10A290008191882339F09091C00095FFFCCF809385
+:10A2A000C600F6CF8091C00085FFFCCF8AE0809386
+:10A2B000C600CE0101960E9448720C94F46083E5BA
+:10A2C0000E944340882311F40C94F4600E942F40B4
+:10A2D0000E940FAFF62EE72E862F9E2D8C0180E573
+:10A2E0000E944340882331F00F3F110509F010F41C
+:10A2F0000C9452610DE010E0EFE8F4E0819191914F
+:10A300008017910711F40C94F46034E0E73CF307F4
+:10A31000A9F70830110539F48F2D9E2D90932F0A3F
+:10A3200080932E0A04C017FF02C00C94F46061E011
+:10A33000802F0E9451A86F2D802F0E948AA86F2D18
+:10A340007E2D802F0E9447A70C94F46088E690E051
+:10A3500043D881110C94F46083E50E944340882324
+:10A3600071F000914D080E942F4010E0000F111F66
+:10A37000085B174F0E940FAFF801718360830E9442
+:10A3800044210C94F4600E94224583E50E944340DE
+:10A39000882311F40C94F4600E942F400E940FAFA8
+:10A3A00070934708609346080C94F46089E690E047
+:10A3B00013D881110C94F460E5E1FBE084918823CB
+:10A3C00041F09091C00095FFFCCF8093C60031967C
+:10A3D000F5CFE0914D0824E0E29FF0011124E05C0C
+:10A3E000F74F408151816281738121E030E08CE937
+:10A3F0009DE00E94308BE2E1FBE08491882341F0F4
+:10A400009091C00095FFFCCF8093C6003196F5CFA8
+:10A41000E0914D08F0E0EE0FFF1FE85BF74F608121
+:10A420007181882777FD8095982F0E9442AFAB01FC
+:10A43000BC0121E030E08CE99DE00E94308BEEE031
+:10A44000FBE08491882341F09091C00095FFFCCF00
+:10A450008093C6003196F5CF40913A0850913B0861
+:10A4600060913C0870913D0821E030E08CE99DE06E
+:10A470000E94308BEBE0FBE08491882341F09091C7
+:10A48000C00095FFFCCF8093C6003196F5CF609158
+:10A49000460870914708882777FD8095982F0E947D
+:10A4A00042AFAB01BC0121E030E08CE99DE00E94AD
+:10A4B000308BE8E0FBE08491882341F09091C0006C
+:10A4C00095FFFCCF8093C6003196F5CF4AE050E06F
+:10A4D00060E070E08CE99DE00E945A8AE6E0FBE0D3
+:10A4E0008491882341F09091C00095FFFCCF809328
+:10A4F000C6003196F5CF40914008509141086091D7
+:10A5000042087091430821E030E08CE99DE00E9410
+:10A51000308BE3E0FBE08491882341F09091C00010
+:10A5200095FFFCCF8093C6003196F5CF6091480827
+:10A5300070914908882777FD8095982F0E9442AF37
+:10A54000AB01BC0121E030E08CE99DE00E94308B42
+:10A55000EFEFFAE08491882341F09091C00095FFDD
+:10A56000FCCF8093C6003196F5CF80914D0890E0E6
+:10A570000E943C1E4AE050E0BC018CE99DE00E9434
+:10A580005A8AEAEFFAE08491882341F09091C00062
+:10A5900095FFFCCF8093C6003196F5CF8FEF9FEFEC
+:10A5A0000E943C1E4AE050E0BC018CE99DE00E9404
+:10A5B0005A8A8091C00085FFFCCF8AE08093C60054
+:10A5C0000C94B0628DE690E00E94EC4981110C94ED
+:10A5D000F4608FEE9AE00E94007683E50E9443408B
+:10A5E000882391F000914D080E942F4010E0000F49
+:10A5F000111F085B174F0E940FAFF8017183608332
+:10A6000081E080931C0215C082E50E9443408823AC
+:10A6100081F000914D080E942F4010E0000F111FA3
+:10A62000085B174F0E940FAFF8017183608310928F
+:10A630001C020E9444210E9431A94B015C0100913F
+:10A640004D0810E0F801EE0FFF1FE85BF74F608147
+:10A650007181882777FD8095982F0E9442AFF8017D
+:10A66000EE0FFF1FEE0FFF1FE05CF74F11E02081A0
+:10A670003181428153810E94A3B018160CF010E082
+:10A6800010934B0810921F0ACC24CA94DC2C76013C
+:10A6900048EE442E43E0542E612C712C5AE0352EA6
+:10A6A00080911F0A81110C946D62FFEFCF16DF06B7
+:10A6B000EF06FF0611F40C945961F7FE02C00C94EA
+:10A6C0006D620E9431A96C197D09683B7B4010F4D2
+:10A6D0000C9459610C946D6289EC9AE00E940076AA
+:10A6E00083E50E944340882361F00E942F400E942E
+:10A6F0000FAF709347086093460881E080931C0277
+:10A700000FC082E50E944340882351F00E942F40F1
+:10A710000E940FAF709347086093460810921C0286
+:10A720000E9431A94B015C0110921F0A60914608FA
+:10A7300070914708882777FD8095982F0E9442AF37
+:10A7400011E020913A0830913B0840913C0850912B
+:10A750003D080E94A3B018160CF010E010934B08AF
+:10A7600006EC1AE0E2ECEE2EEAE0FE2EFEEBCF2E37
+:10A77000FAE0DF2EAAE07A2E80914B08609146081D
+:10A7800070914708882309F48BC080911F0A8111BA
+:10A7900087C0882777FD8095982F0E9442AF20912F
+:10A7A0003A0830913B0840913C0850913D080E9486
+:10A7B000A3B018160CF08BC00E9431A96819790952
+:10A7C0008A099B09693E73408105910508F460C0C0
+:10A7D000E091300A84E0E89FF0011124E05CF74F3B
+:10A7E0004081518162817381F8018491E6ECFAE045
+:10A7F000882349F09091C00095FFFCCF8093C6005C
+:10A8000031968491F5CF22E030E08CE99DE00E9402
+:10A81000308BF7018491E2ECFAE0882349F09091C3
+:10A82000C00095FFFCCF8093C60031968491F5CF90
+:10A830006091300A70E04AE050E08CE99DE00E94AF
+:10A840005A8AF6018491EEEBFAE0882349F0909160
+:10A85000C00095FFFCCF8093C60031968491F5CF60
+:10A8600040913A0850913B0860913C0870913D0836
+:10A8700021E030E08CE99DE00E94308B8091C000A7
+:10A8800085FFFCCF7092C6000E9431A94B015C018C
+:10A890000E94721E80E00E9438490E949C766CCF14
+:10A8A000882777FD8095982F0E9442AF20913A0823
+:10A8B00030913B0840913C0850913D080E94A0AE69
+:10A8C00087FF05C080911C02882309F475CF84EBB3
+:10A8D0009AE00E94007680915F0A882321F08EE73B
+:10A8E00093E00E9448720E9431A960935A087093C5
+:10A8F0005B0880935C0890935D080C94F46083E59A
+:10A900000E944340882319F10E942F4020E030E04C
+:10A91000A9010E94A0AE87FD0FC00E942F4020E039
+:10A9200030E04FE753E40E94A3B0181644F00E94B1
+:10A930002F400E940FAF05C060E070E002C06FEFD3
+:10A9400070E070932F0A60932E0A0C94F4608FEFDE
+:10A9500090E090932F0A80932E0A0C94F46010924A
+:10A960002F0A10922E0A0C94F4609B9AA39881E00F
+:10A970008093260284EA9AE00E9400760E949C76E8
+:10A980000C94F4600E9445210E943D93149A0E9409
+:10A99000A79310922F0A10922E0A68EE73E080E0BF
+:10A9A00090E00E9460A99B9AA39A1092260286E9E1
+:10A9B0009AE00E9400760E949C760C94F4601092BB
+:10A9C0005C0A0C94F46081E080935C0A0C94F4605F
+:10A9D00083E50E9443408823A1F00E942F4020E09D
+:10A9E00030E04AE754E40E9475B10E9414AF6093CE
+:10A9F0001D0270931E0280931F02909320020C94FC
+:10AA0000F46088E50E94434081110C948E6289E5D0
+:10AA10000E94434081110C948E628AE50E9443405B
+:10AA200081110C948E6285E40E94434081110C9444
+:10AA30008E620E943D93149A0E94A7930C94F46036
+:10AA400083E50E944340882311F40C94F4600E9433
+:10AA50002F4020E030E04AE754E40E9475B10E94A4
+:10AA600014AF6093560870935708809358089093DA
+:10AA700059080C94F46027EC34E039AF28AF01EAB0
+:10AA800013E161EB862E63E1962E75E6A72E73E146
+:10AA9000B72E312CE8ADF9AD8191F9AFE8AF0E9446
+:10AAA0004340882309F45BC0F3E03F1251C00E9489
+:10AAB0002F406B017C0120E030E040EA51E40E942D
+:10AAC000A0AE87FF3FC0A7019601F80160817181A8
+:10AAD000828193810E94A7AE2B013C019B01AC01B6
+:10AAE0006091791370917A1380917B1390917C130C
+:10AAF0000E9475B16093791370937A1380937B13DE
+:10AB000090937C13A3019201F40160817181828191
+:10AB100093810E9475B1F401608371838283938372
+:10AB2000F50160817181828193810E9440AFA30110
+:10AB300092010E9475B10E9414AFF5016083718388
+:10AB400082839383F801C082D182E282F38207C0BC
+:10AB50000E942F40F8016083718382839383339432
+:10AB60000C5F1F4FF4E08F0E911C24E0A20EB11C6D
+:10AB700034E033128FCF0C94F4609091C00095FFB5
+:10AB8000FCCF8093C600319684918111F6CF0C944E
+:10AB9000F46000915E0810915F080B5F1F4F6AE23E
+:10ABA00070E0C8010E9423B6009711F0FC011082EA
+:10ABB000C8010E9448720C94F460EBEBF9E08491B8
+:10ABC000882341F09091C00095FFFCCF8093C60090
+:10ABD0003196F5CF4091440A5091450A6091460A5A
+:10ABE0007091470A22E030E08CE99DE00E94308BB2
+:10ABF000E7EBF9E08491882341F09091C00095FF44
+:10AC0000FCCF8093C6003196F5CF4091480A509111
+:10AC1000490A60914A0A70914B0A22E030E08CE9BF
+:10AC20009DE00E94308BE3EBF9E08491882341F0B2
+:10AC30009091C00095FFFCCF8093C6003196F5CF70
+:10AC400040914C0A50914D0A60914E0A70914F0A02
+:10AC500022E030E08CE99DE00E94308BEFEAF9E0E1
+:10AC60008491882341F09091C00095FFFCCF8093A0
+:10AC7000C6003196F5CF4091500A5091510A60912B
+:10AC8000520A7091530A22E030E08CE99DE00E9464
+:10AC9000308BE4EAF9E08491882341F09091C00080
+:10ACA00095FFFCCF8093C6003196F5CF0E94999313
+:10ACB0000E9442AF2091A1133091A2134091A3139F
+:10ACC0005091A4130E94A7AEAB01BC0122E030E07A
+:10ACD0008CE99DE00E94308BE0EAF9E084918823C2
+:10ACE00041F09091C00095FFFCCF8093C600319653
+:10ACF000F5CF81E00E9499930E9442AF2091A51365
+:10AD00003091A6134091A7135091A8130E94A7AEAB
+:10AD1000AB01BC0122E030E08CE99DE00E94308B69
+:10AD2000ECE9F9E08491882341F09091C00095FF0F
+:10AD3000FCCF8093C6003196F5CF82E00E949993B4
+:10AD40000E9442AF2091A9133091AA134091AB13F6
+:10AD50005091AC130E94A7AEAB01BC0122E030E0E1
+:10AD60008CE99DE00E94308B8091C00085FFFCCF74
+:10AD70008AE08093C6000C94F46080E00E94F18B1E
+:10AD80000C94F46081E00E94F18B0C94F46090913B
+:10AD9000C00095FFFCCF8093C60081918111F7CF51
+:10ADA0008091C00085FFFCCF8AE08093C600E4E973
+:10ADB000F9E08491882341F09091C00095FFFCCF89
+:10ADC0008093C6003196F5CF1E9B03C0EBE0F4E004
+:10ADD00009C0E5E1F4E006C09091C00095FFFCCF0A
+:10ADE0008093C60081918111F7CF8091C00085FFCB
+:10ADF000FCCF8AE08093C600ECE8F9E084918823D8
+:10AE000041F09091C00095FFFCCF8093C600319631
+:10AE1000F5CF029903C0EBE0F4E009C0E5E1F4E00E
+:10AE200006C09091C00095FFFCCF8093C600819131
+:10AE30008111F7CF8091C00085FFFCCF8AE080931D
+:10AE4000C600E4E8F9E08491882341F09091C000C5
+:10AE500095FFFCCF8093C6003196F5CF1D9B03C0B4
+:10AE6000EBE0F4E009C0E5E1F4E006C09091C00039
+:10AE700095FFFCCF8093C60081918111F7CF80911F
+:10AE8000C00085FFFCCF8AE08093C600ECE7F9E0C4
+:10AE90008491882341F09091C00095FFFCCF80936E
+:10AEA000C6003196F5CF019903C0EBE0F4E009C08C
+:10AEB000E5E1F4E006C09091C00095FFFCCF8093DF
+:10AEC000C60081918111F7CF8091C00085FFFCCF32
+:10AED0008AE08093C600E4E7F9E08491882341F09A
+:10AEE0009091C00095FFFCCF8093C6003196F5CFBE
+:10AEF0001C9B03C0EBE0F4E009C0E5E1F4E006C010
+:10AF00009091C00095FFFCCF8093C6008191811184
+:10AF1000F7CF8091C00085FFFCCF8AE08093C60008
+:10AF2000ECE6F9E08491882341F09091C00095FF10
+:10AF3000FCCF8093C6003196F5CF379903C0EBE084
+:10AF4000F4E009C0E5E1F4E006C09091C00095FF8F
+:10AF5000FCCF8093C60081918111F7CF8091C00012
+:10AF600085FFFCCF8AE08093C6000C94F46080914A
+:10AF7000300A80934D0884E50E944340882319F1EC
+:10AF80000E942F400E9414AF60934D086623D9F0B1
+:10AF9000EFE2FEE08491882341F09091C00095FF9C
+:10AFA000FCCF8093C6003196F5CFE0E4F4E08191C8
+:10AFB000882311F40C94F4609091C00095FFFCCFAD
+:10AFC0008093C600F4CF84E40E944340882311F4A8
+:10AFD0000C94F4600E942F4020E030E0A9010E9410
+:10AFE000A0AE811103C01092540A32C000914D08E6
+:10AFF00010E00E942F40F801EE0FFF1FEE0FFF1F21
+:10B00000ED5AFD4F6083718382839383E0905302F6
+:10B01000F0905402009155021091560220E030E069
+:10B02000A901B701C8010E94A0AE811104C0E12CA2
+:10B03000F12C00E410E4C701D801809353029093EF
+:10B040005402A0935502B093560281E08093540AB3
+:10B050000E94A74A0C94F46007EC14E041E9E42E46
+:10B0600043E1F42EF80181918F010E94434088232F
+:10B0700049F00E942F400E9414AFF7016083718352
+:10B0800082839383F4E0EF0EF11C24E00B3C120763
+:10B0900049F70E9410A50C94F46007EC14E031EB22
+:10B0A000E32E33E1F32EF80181918F010E9443409A
+:10B0B000882339F00E942F40F701608371838283D7
+:10B0C0009383F4E0EF0EF11C24E00B3C120759F7D8
+:10B0D0000C94F46083E50E944340882351F00E9461
+:10B0E0002F406093891370938A1380938B139093EE
+:10B0F0008C1384E50E944340882311F40C94F4607F
+:10B100000E942F406093851370938613809387135A
+:10B11000909388130C94F46083E50E944340882345
+:10B1200051F00E942F4060938D1370938E13809383
+:10B130008F139093901384E50E944340882351F02D
+:10B140000E942F406093751370937613809377134A
+:10B150009093781382E40E944340882361F00E9418
+:10B160002F400E9414AF6093C1137093C213809359
+:10B17000C3139093C41388E50E944340882351F081
+:10B180000E942F40609381137093821380938313E6
+:10B19000909384138AE50E944340882351F00E94D3
+:10B1A0002F4060937D1370937E1380937F13909351
+:10B1B000801385E40E944340882311F40C94F460CA
+:10B1C0000E942F406093791370937A1380937B13BE
+:10B1D00090937C130C94F46007EC14E028E3E22EC7
+:10B1E0002AE0F22EF80181918F010E9443408823CA
+:10B1F00039F00E942F40F70160837183828393832B
+:10B20000F4E0EF0EF11C24E00A3C120709F4ECC74D
+:10B21000E9CF83E50E944340882351F00E942F40EC
+:10B220006093330270933402809335029093360218
+:10B2300086E40E944340882381F00E942F4020E052
+:10B2400030E040E752E40E94A7AE60932B02709377
+:10B250002C0280932D0290932E028AE50E94434097
+:10B26000882309F4C1C70E942F406093280A709375
+:10B27000290A80932A0A90932B0AB6C783E50E9475
+:10B280004340882351F00E942F406093240A70931A
+:10B29000250A8093260A9093270A86E40E94434059
+:10B2A000882309F4A1C70E942F4020E030E040E746
+:10B2B00052E40E94A7AE6093270270932802809305
+:10B2C000290290932A0290C783E50E944340882375
+:10B2D00009F48AC70E942F400E940FAF61157105C3
+:10B2E00049F06130710559F481E080932D0A109284
+:10B2F0002C0A7AC710922D0A10922C0A75C7EFE219
+:10B30000FEE08491882341F09091C00095FFFCCF2E
+:10B310008093C6003196F5CFE9E5F9E08491882362
+:10B3200041F09091C00095FFFCCF8093C60031960C
+:10B33000F5CF809168089091690820E6289FF00178
+:10B34000299FF00D1124E259F74F8191882339F09C
+:10B350009091C00095FFFCCF8093C600F6CFE7E543
+:10B36000F9E08491882341F09091C00095FFFCCFD3
+:10B370008093C6003196F5CF8091C00085FFFCCF49
+:10B380008AE08093C60030C783E50E94434088234B
+:10B3900009F42AC70E942F400E940FAF70935E02EB
+:10B3A00060935D0221C783E50E944340882309F42E
+:10B3B0001BC70E942F400E940FAF6B017C0184E5E8
+:10B3C0000E944340882381F08DED90E00E94EC497B
+:10B3D00081110AC7E0914D08F0E0EE0FFF1FE75A18
+:10B3E000FD4FD182C08200C7D0925C02C0925B0246
+:10B3F000FBC680E50E944340882309F4F5C60E94FD
+:10B400002F400E940FAFD62E062F172F83E50E94E4
+:10B410004340882331F00E942F400E940FAF7B01F0
+:10B4200003C0EE24EA94FE2CC7010196039708F0AE
+:10B43000DBC6EFE8F4E0819191918017910709F460
+:10B44000D3C634E0E73CF307B1F717FDCDC60E9441
+:10B450003D93CD2C60E08D2D0E9451A88FEFE81612
+:10B46000F80631F0EA94EF2871F000E010E00DC02A
+:10B470008D2D0E94BFA831E020E0892B09F030E03B
+:10B48000032F122F02C001E010E08C2D0E94BFA8F4
+:10B490008017910709F4A8C60E94721E80E00E94DE
+:10B4A00038490E949C76F1CF83E50E94434088236F
+:10B4B00031F00E942F400E940FAF8B0102C00EE6B8
+:10B4C00010E080E50E944340882331F00E942F4025
+:10B4D0000E940FAFCB0102C088EE93E06C01EE2416
+:10B4E000D7FCE094FE2C101611067CF420E030E02E
+:10B4F000A901B80184E50E94FDA9C701B6010E9417
+:10B5000060A984E50E940EAD6FC6C701B6010E9416
+:10B5100060A96AC680E50E944340882351F00E94DA
+:10B520002F40609318027093190280931A0290932F
+:10B530001B0289E40E944340882361F00E942F404F
+:10B540000E94B7276093140270931502809316022D
+:10B550009093170284E40E944340882361F00E9484
+:10B560002F400E94C32760931002709311028093B2
+:10B5700012029093130283E40E944340882351F007
+:10B580000E942F4060930C0270930D0280930E0274
+:10B5900090930F020E94251EE7E5F4E08191882335
+:10B5A00039F09091C00095FFFCCF8093C600F6CF94
+:10B5B000EAE5F4E08191882339F09091C00095FF8D
+:10B5C000FCCF8093C600F6CF40911802509119022B
+:10B5D00060911A0270911B0222E030E08CE99DE03C
+:10B5E0000E94308BEEE5F4E08191882339F0909150
+:10B5F000C00095FFFCCF8093C600F6CF6091140287
+:10B600007091150280911602909117020E94BD2739
+:10B61000AB01BC0122E030E08CE99DE00E94308B60
+:10B62000E2E6F4E08191882339F09091C00095FF23
+:10B63000FCCF8093C600F6CF60911002709111028A
+:10B6400080911202909113020E94C927AB01BC01A4
+:10B6500022E030E08CE99DE00E94308BE6E6F4E0E9
+:10B660008191882339F09091C00095FFFCCF8093A1
+:10B67000C600F6CF40910C0250910D0260910E026F
+:10B6800070910F0222E030E08CE99DE00E94308B47
+:10B690008091C00085FFFCCF8AE08093C600A4C5DE
+:10B6A00083E50E944340882319F00E942F4003C085
+:10B6B00060E070E0CB010E9407A596C585E40E947A
+:10B6C0004340882341F00E942F400E940FAF8B011E
+:10B6D00077FF03C009C000E010E0C12CD12CB6E117
+:10B6E000EB2EB3E4FB2E06C0C12CD12CACE8EA2E25
+:10B6F000A2E4FA2E83E50E944340882321F00E94B1
+:10B700002F406B017C0183E40E944340882331F089
+:10B710000E942F400E940FAF9B0102C025E030E045
+:10B72000A801C701B6010E9458215EC50E943D9341
+:10B730005BC50E94678758C50E94398355C58AE555
+:10B740000E944340882309F497C00E942F406B0158
+:10B750007C0120E030E040E751EC0E94A3B087FD7F
+:10B760003FC020E030E040EA50ECC701B6010E9443
+:10B77000A0AE1816ACF1F7FAF094F7F8F094C09276
+:10B78000310AD092320AE092330AF092340AEFE2A0
+:10B79000FEE08491882341F09091C00095FFFCCF9A
+:10B7A0008093C6003196F5CFEBE4F9E084918823CD
+:10B7B00041F09091C00095FFFCCF8093C600319678
+:10B7C000F5CF8091C00085FFFCCF8AE08093C60052
+:10B7D0008091C00085FFFCCF8AE08093C60004C53D
+:10B7E000EFE2FEE08491882341F09091C00095FF44
+:10B7F000FCCF8093C6003196F5CFE2E4F9E0849166
+:10B80000882341F09091C00095FFFCCF8093C60043
+:10B810003196F5CFEAE3F9E08491882341F09091E5
+:10B82000C00095FFFCCF8093C6003196F5CF4AE06B
+:10B8300050E061EF7FEF8CE99DE00E945A8AE2E3DD
+:10B84000F9E08491882341F09091C00095FFFCCFEE
+:10B850008093C6003196F5CF4AE050E06BEF7FEF62
+:10B860008CE99DE00E945A8A8091C00085FFFCCF40
+:10B870008AE08093C600B8C4EFE2FEE0849188239A
+:10B8800041F09091C00095FFFCCF8093C6003196A7
+:10B89000F5CFE6E2F9E08491882341F09091C00071
+:10B8A00095FFFCCF8093C6003196F5CF8091C00004
+:10B8B00085FFFCCF8AE08093C6004091310A509109
+:10B8C000320A6091330A7091340A705822E030E0F5
+:10B8D0008CE99DE00E94308B8091C00085FFFCCFF9
+:10B8E0008AE08093C60080C480915D0290915E02E0
+:10B8F0009093580280935702C090440AD090450A12
+:10B90000E090460AF090470ACF8ED8A2E9A2FAA2A8
+:10B910000091480A1091490A20914A0A30914B0A35
+:10B920000BA31CA32DA33EA340914C0A50914D0A9A
+:10B9300060914E0A70914F0A4FA358A769A77AA742
+:10B940008091500A9091510AA091520AB091530AE5
+:10B950008BA79CA7ADA7BEA7C982DA82EB82FC8227
+:10B960000D831E832F83388749875A876B877C878F
+:10B970008D879E87AF87B88B85E40E9443408823DC
+:10B9800059F00E942F409B01AC016BA57CA58DA5B1
+:10B990009EA50E94C7AD0AC020E030E040E050E420
+:10B9A0006BA57CA58DA59EA50E94C6AD6BA77CA7A7
+:10B9B0008DA79EA7E0E3CE2EEAE0DE2EE12CF12C4F
+:10B9C00008EC13E49E01255D3F4FAE01495D5F4FDA
+:10B9D000BE016D5D7F4FCE014F960E94779A8AE53A
+:10B9E0000E944340882349F00E942F409B01AC01F4
+:10B9F0006FA178A589A59AA51EC020E030E040E09F
+:10BA000050E46FA178A589A59AA50E94C7AD6B01E6
+:10BA10007C016FA378A789A79AA720E030E040E2D5
+:10BA200051E40E94A0AE87FF0CC020E030E040E26D
+:10BA300051E4C701B6010E94C7AD6FA378A789A7DB
+:10BA40009AA760E3C62E6AE0D62EE12CF12C06E917
+:10BA500013E49E01255D3F4FAE01495D5F4FBE017E
+:10BA60006D5D7F4FCE014F960E94779A88E50E94C8
+:10BA70004340882379F00E942F409B01AC016F8DD9
+:10BA800078A189A19AA10E94C7AD6F8F78A389A3DD
+:10BA90009AA308C080E090E0A3E5B3E48F8F98A359
+:10BAA000A9A3BAA389E50E944340882339F00E94E4
+:10BAB0002F406BA37CA38DA39EA304C01BA21CA23A
+:10BAC0001DA21EA240E3C42E4AE0D42EE12CF12C8C
+:10BAD0000CE812E49E01255D3F4FAE01495D5F4FCA
+:10BAE000BE016D5D7F4FCE014F960E94779A8CE428
+:10BAF0000E944340882359F00E942F409B01AC01D3
+:10BB00006BA57CA58DA59EA50E94C7AD0AC020E0AF
+:10BB100030E040EA52E46BA57CA58DA59EA50E946D
+:10BB2000C6AD6BA77CA78DA79EA720E3C22E2AE0F7
+:10BB3000D22EE12CF12C00EA11E49E01255D3F4F4D
+:10BB4000AE01495D5F4FBE016D5D7F4FCE014F96E7
+:10BB50000E94779A0E943D93149A64E670E080E018
+:10BB600090E00E9460A90E94827100E010E0F12C38
+:10BB70000E94627781112AC0F3940E94721E81E0B4
+:10BB80000E943849F110F4CF043FE1E01E0711F4A0
+:10BB900000E010E0809101018460809301010115B3
+:10BBA000110531F49FB7F89480910201846008C0B8
+:10BBB0000431110541F49FB7F894809102018B7F05
+:10BBC000809302019FBF0F5F1F4FD2CF9FB7F894A2
+:10BBD000809102018B7F809302019FBF20E030E0C3
+:10BBE0004CE852E46BA57CA58DA59EA50E94C7AD2F
+:10BBF0006BA77CA78DA79EA710E3C12E1AE0D12EBC
+:10BC0000E12CF12C00EA11E49E01255D3F4FAE01CD
+:10BC1000495D5F4FBE016D5D7F4FCE014F960E9423
+:10BC2000779A20E030E048E452E46BA57CA58DA52E
+:10BC30009EA50E94C7AD6BA77CA78DA79EA7E12CF0
+:10BC4000F12C00E010E49E01255D3F4FAE01495DFF
+:10BC50005F4FBE016D5D7F4FCE014F960E94779A78
+:10BC60001092560A1092550A0E94E8718091550A66
+:10BC70009091560A019709F47CC01092560A1092CE
+:10BC8000550A0E9468778091550A9091560A823031
+:10BC9000910549F1039709F069C020E030E048E4DC
+:10BCA00052E46BA57CA58DA59EA50E94C7AD6BA790
+:10BCB0007CA78DA79EA770E3C72E7AE0D72EE12C34
+:10BCC000F12C00E010E49E01255D3F4FAE01495D7F
+:10BCD0005F4FBE016D5D7F4FCE014F960E94779AF8
+:10BCE0000E94A871C3CF20E030E04CE852E46BA57D
+:10BCF0007CA58DA59EA50E94C7AD6BA77CA78DA72F
+:10BD00009EA7F0E3CF2EFAE0DF2EE12CF12C00EA23
+:10BD100011E49E01255D3F4FAE01495D5F4FBE01BD
+:10BD20006D5D7F4FCE014F960E94779A20E030E004
+:10BD300048E452E46BA57CA58DA59EA50E94C7ADE5
+:10BD40006BA77CA78DA79EA7E12CF12C00E010E447
+:10BD50009E01255D3F4FAE01495D5F4FBE016D5DA8
+:10BD60007F4FCE014F960E94779A7ECF0E949B71A3
+:10BD70007DCF20E030E040EA50E46BA57CA58DA5A6
+:10BD80009EA50E94C7AD6BA77CA78DA79EA790E339
+:10BD9000C92E9AE0D92EE12CF12C00E010E49E018E
+:10BDA000255D3F4FAE01495D5F4FBE016D5D7F4F29
+:10BDB000CE014F960E94779AA80197016BA57CA5AA
+:10BDC0008DA59EA50E94C6AD6BA77CA78DA79EA73B
+:10BDD000E12CF12C08EC13E49E01255D3F4FAE01F0
+:10BDE000495D5F4FBE016D5D7F4FCE014F960E9452
+:10BDF000779AE12CF12C0CE812E49E01255D3F4F6F
+:10BE0000AE01495D5F4FBE016D5D7F4FCE014F9624
+:10BE10000E94779A9E01255D3F4FAE01495D5F4FBD
+:10BE2000BE016B5F7F4FCE0101960E94779AE12C95
+:10BE3000F12C08E413E49E01255D3F4FAE01475FFE
+:10BE40005F4FBE016B5F7F4FCE0101960E94779AD4
+:10BE500020E030E040E050E46BA57CA58DA59EA5D8
+:10BE60000E94C7AD6BA77CA78DA79EA7E12CF12CE4
+:10BE700000EA10E49E01255D3F4FAE01475F5F4F32
+:10BE8000BE016B5F7F4FCE0101960E94779ACE0173
+:10BE90000D960E94E3A480915702909158028093DE
+:10BEA0005D0290935E029F938F938DE199E09F9343
+:10BEB0008F938E01015D1F4F1F930F930E945BB6FE
+:10BEC000C8010E94C03D0F900F900F900F900F90EF
+:10BED0000F908AC188E50E944340882339F00E9470
+:10BEE0002F400E940FAF80E00E9445948AE50E9497
+:10BEF0004340882339F00E942F400E940FAF81E019
+:10BF00000E94459485E40E944340882309F46CC153
+:10BF10000E942F400E940FAF82E00E94459464C1AE
+:10BF200083E50E944340811104C007EC14E0F12C2A
+:10BF300010C010E00E942F400E9414AF812F0E9479
+:10BF4000E4941F5F1530B1F7F0CFF394F4E0FF16DF
+:10BF500079F0F80181918F010E9443408823A9F371
+:10BF60000E942F400E9414AF8F2D0E94E494EDCFC9
+:10BF700082E40E944340882339F00E942F400E94AF
+:10BF800014AF84E00E94E4940E94AA952DC183E539
+:10BF90000E944340882309F453C00E942F400E940E
+:10BFA0000FAF6130710541F06230710509F048C092
+:10BFB00007EC14E0F12C25C007EC14E0F12CF8019B
+:10BFC00081918F010E944340882341F00E942F40BD
+:10BFD0000E940FAF4FEF8F2D0E94A694F394F4E0D0
+:10BFE000FF12EDCF82E40E944340882349F10E9472
+:10BFF0002F400E940FAF4FEF20C0F394F4E0FF16E4
+:10C0000089F0F80181918F010E9443408823A9F3B0
+:10C010000E942F400E940FAF462F6FEF8F2D0E947E
+:10C02000A694EBCF82E40E944340882349F00E940B
+:10C030002F400E940FAF462F6FEF84E00E94A6941E
+:10C040000E94AA95D1C084E50E944340882309F448
+:10C0500087C00E942F400E9414AF60934D08662352
+:10C06000A9F1EFE2FEE08491882341F09091C000B5
+:10C0700095FFFCCF8093C6003196F5CFEAE6F4E059
+:10C080008191882339F09091C00095FFFCCF809377
+:10C09000C600F6CF40E050E060914D088CE99DE08D
+:10C0A0000E94918AECE6F4E08191882339F0909126
+:10C0B000C00095FFFCCF8093C600F6CF8091C000F2
+:10C0C00085FFFCCF8AE08093C6008EC086E40E9484
+:10C0D00043408823D9F00E942F406B017C0160937C
+:10C0E000FF097093000A8093010A9093020A20E0EE
+:10C0F00030E0A9010E94A3B0181644F4C0922102B6
+:10C10000D0922202E0922302F0922402EFE2FEE0BB
+:10C110008491882341F09091C00095FFFCCF8093DB
+:10C12000C6003196F5CFEDE7F4E08191882339F030
+:10C130009091C00095FFFCCF8093C600F6CF609130
+:10C14000300A70E04AE050E08CE99DE00E945A8A93
+:10C150008091C00085FFFCCF8AE08093C60044C078
+:10C16000EFE2FEE08491882341F09091C00095FFBA
+:10C17000FCCF8093C6003196F5CFEAE0F9E08491D8
+:10C18000882341F09091C00095FFFCCF8093C600BA
+:10C190003196F5CF809168089091690820E6289F34
+:10C1A000F001299FF00D1124E259F74F8191882366
+:10C1B00039F09091C00095FFFCCF8093C600F6CF78
+:10C1C000E8E0F9E08491882341F09091C00095FF68
+:10C1D000FCCF8093C6003196F5CF8091C00085FFDB
+:10C1E000FCCF8AE08093C6000E946A40B9C1C0902B
+:10C1F0001B0AD0901C0AE0901D0AF0901E0A2091A4
+:10C20000500A3091510A4091520A5091530AC70185
+:10C21000B6010E94C6AD2DEC3CEC4CEC5DE30E94F7
+:10C22000A3B0181614F00C94684BC092500AD09228
+:10C23000510AE092520AF092530A80E59AE00E9475
+:10C24000E3A460E080E00E94C2428AC180E090E006
+:10C250000E942E3C0C94654C81E090E00E942E3CA4
+:10C260000C94704C82E090E00E942E3C0C94B94CEF
+:10C270000E94721E80E00E9438490E949C760C94B5
+:10C28000584F0E943840AB01BC014093FA0C5093C8
+:10C29000FB0C6093FC0C7093FD0C85E49CE00E9409
+:10C2A000A912A2CF0E942F400E940FAF8B010C94C5
+:10C2B0007C510E9431A9681979098A099B09693E54
+:10C2C00073408105910508F479C0ECEEFAE08491A1
+:10C2D000882341F09091C00095FFFCCF8093C60069
+:10C2E0003196F5CFE0914D0824E0E29FF001112452
+:10C2F000E05CF74F408151816281738121E030E041
+:10C300008CE99DE00E94308BE8EEFAE0849188236E
+:10C3100041F09091C00095FFFCCF8093C60031960C
+:10C32000F5CF60914D0870E04AE050E08CE99DE067
+:10C330000E945A8AE4EEFAE08491882341F09091B9
+:10C34000C00095FFFCCF8093C6003196F5CFF7FE75
+:10C3500003C0E6E7F5E025C00E9431A98B019C01EE
+:10C36000C701B6016854744F8F4F9F4F601B710B0C
+:10C37000820B930BA30192010E947EB2BA01A90124
+:10C380002AE030E08CE99DE00E94868A8091C0001E
+:10C3900085FFFCCF0DC09091C00095FFFCCF80932E
+:10C3A000C60081918111F7CF8091C00085FFFCCF3D
+:10C3B0003092C6000E9431A94B015C010E94721E9E
+:10C3C00080E00E9438490E949C76FFEFCF16DF067E
+:10C3D000EF06FF0609F046C080914B08E0914D083A
+:10C3E000F0E08F01000F111F000F111F005C174FAD
+:10C3F000EE0FFF1FE85BF74F608171818823C9F062
+:10C40000882777FD8095982F0E9442AF20E030E08A
+:10C4100040E85FE30E94C6AD9B01AC01F80160817A
+:10C420007181828193810E94A3B087FF50C00C94D8
+:10C430005053882777FD8095982F0E9442AF20E0C7
+:10C4400030E040E85FE30E94C7AD9B01AC01F8011A
+:10C4500060817181828193810E94A0AE1816BCF523
+:10C460000C945053F7FE02C00C945053E0914D08C9
+:10C47000F0E08F01000F111F000F111F005C174F1C
+:10C48000EE0FFF1FE85BF74F60817181882777FD12
+:10C490008095982F0E9442AF9B01AC01F80160810A
+:10C4A0007181828193810E94C6AD0E940FAF97FF78
+:10C4B00007C090958095709561957F4F8F4F9F4FE6
+:10C4C000663071058105910514F40C9450530E9457
+:10C4D00031A96B017C010C94505386ED9AE00E94C7
+:10C4E000007680915F0A882321F08EE793E00E9416
+:10C4F00048720E9431A96093520870935308809348
+:10C500005408909355080E9431A960935A0870937B
+:10C510005B0880935C0890935D0866CE0E943D9313
+:10C5200088E50E944340882319F0179A1092350A33
+:10C5300089E50E944340882319F0169A1092360A22
+:10C540008AE50E944340882319F0159A1092370A11
+:10C5500085E40E944340882309F446CE149A44CED1
+:10C56000E9960FB6F894DEBF0FBECDBFDF91CF9135
+:10C570001F910F91FF90EF90DF90CF90BF90AF9001
+:10C580009F908F907F906F905F904F903F90089515
+:10C59000CF93DF938091640890916508039714F41A
+:10C5A0000E94694560E08DE59AE00E9487338091A2
+:10C5B000640890916508892B09F464C080915D0A34
+:10C5C0008823E1F0809168089091690820E6289F0F
+:10C5D000E001299FD00D1124C259D74F61EF7CE0B3
+:10C5E000CE010E94CEB5892BF1F4BE018DE59AE013
+:10C5F0000E94163380915E0A882319F00E94B94A7E
+:10C600002BC0EEEEFCE08491882341F09091C000B5
+:10C6100095FFFCCF8093C6003196F5CF8091C00086
+:10C6200085FFFCCF16C060E08DE59AE00E947D3466
+:10C63000ECEDFCE08491882341F09091C00095FFDF
+:10C64000FCCF8093C6003196F5CF8091C00085FF66
+:10C65000FCCF8AE08093C6008091640890916508C1
+:10C660000197909365088093640880916808909181
+:10C670006908019664E070E00E946BB290936908CB
+:10C68000809368080E94721E80E00E9438490E94D0
+:10C690004F8BDF91CF910C949C768F929F92AF92AB
+:10C6A000BF92CF92DF92EF92FF920F931F93CF939F
+:10C6B000DF938C018C519E4F0E94B72D680189E851
+:10C6C000C80ED11C21F1780181E4E81A8EEFF80A36
+:10C6D000E70157018FE1A81AB1087AEB872E75E0C0
+:10C6E000972ECC15DD0599F0FE01EE19FF09EA0D34
+:10C6F000FB1D91828082FE0178978081811102C0AA
+:10C700006F97EFCFCE014B970E948C13F9CFC801E2
+:10C7100086599F4F0E94B72DC801875B9F4FDF91BD
+:10C72000CF911F910F91FF90EF90DF90CF90BF902E
+:10C73000AF909F908F900C94B72D8DE59AE00C945C
+:10C74000C32D8DE59AE0A9CFFB0160917002709135
+:10C75000710270932C0D60932B0D6091350D7091CB
+:10C76000360D70932A0D6093290D62E060936F027D
+:10C7700064EC7EE770937102609370029093280DD1
+:10C780008093270DF093260DE093250D662757FD26
+:10C790006095762F4093210D5093220D6093230DC9
+:10C7A0007093240DC901AA2797FDA095BA2F841B69
+:10C7B000950BA60BB70B80931D0D90931E0DA093A8
+:10C7C0001F0DB093200D80819181AA2797FDA09520
+:10C7D000BA2F841B950BA60BB70B8093350D909346
+:10C7E000360DA093370DB093380D08950F931F9316
+:10C7F000CF93DF93EB01142F022F482F60E080E4EA
+:10C800009DE00E947E28612F80E49DE00E94BFADE4
+:10C8100011E1FE016491662311F0111117C011237B
+:10C8200039F060E280E49DE00E94BFAD1150F7CF87
+:10C83000602F80E49DE00E94BFAD60E280E49DE057
+:10C84000DF91CF911F910F910C94BFAD80E49DE0DB
+:10C850000E94BFAD21961150DCCFEF92FF920F9353
+:10C860001F93CF93DF93EB01E42E8901F90101902F
+:10C870000020E9F7F22EFE1A92E1F90E482F60E04F
+:10C8800080E49DE00E947E286E2D80E49DE00E9461
+:10C89000BFADFE016491662311F0F11019C06AE387
+:10C8A00080E49DE00E94BFADFF2039F060E280E4AB
+:10C8B0009DE00E94BFADFA94F7CFB80180E49DE0FF
+:10C8C000DF91CF911F910F91FF90EF900C94BEAD2F
+:10C8D00080E49DE00E94BFAD2196FA94DACF1092D9
+:10C8E000990D8DE59AE00E94273910923E0D08952A
+:10C8F0008DE59AE00C9416318DE59AE00C941D318B
+:10C90000CF93DF93CDB7DEB7C054D1090FB6F894FB
+:10C91000DEBF0FBECDBF88E0EFEAF2E0DE01D996C0
+:10C9200001900D928A95E1F788E0E7EBF2E0DE01F5
+:10C93000D19601900D928A95E1F788E0EFEBF2E055
+:10C94000DE01999601900D928A95E1F788E0E7EC77
+:10C95000F2E0DE01919601900D928A95E1F788E070
+:10C96000EFECF2E0DE01599601900D928A95E1F725
+:10C9700088E0E7EDF2E0DE01519601900D928A9594
+:10C98000E1F788E0EFEDF2E0DE01199601900D92FB
+:10C990008A95E1F788E0E7EEF2E0DE01119601907A
+:10C9A0000D928A95E1F7AE01475C5F4F60E080E44D
+:10C9B0009DE00E94FC29AE014F5C5F4F61E080E486
+:10C9C0009DE00E94FC29AE01475D5F4F62E080E47C
+:10C9D0009DE00E94FC29AE014F5D5F4F63E080E463
+:10C9E0009DE00E94FC29AE01475E5F4F64E080E459
+:10C9F0009DE00E94FC29AE014F5E5F4F65E080E440
+:10CA00009DE00E94FC29AE01475F5F4F66E080E435
+:10CA10009DE00E94FC29AE014F5F5F4F67E080E41C
+:10CA20009DE00E94FC29C05CDF4F0FB6F894DEBF8A
+:10CA30000FBECDBFDF91CF910895CF9382E0809359
+:10CA40006F020E9431A96C507E4F8F4F9F4F6093B1
+:10CA50003A0D70933B0D80933C0D90933D0D80916A
+:10CA60000101846080930101CAE09FB7F89480912E
+:10CA700002018460809302019FBF84E690E00E94DF
+:10CA800084A99FB7F894809102018B7F8093020163
+:10CA90009FBF84E690E00E9484A9C15031F7CF91F6
+:10CAA0000895E0917002F0917102E817F90771F0B2
+:10CAB00090937102809370024093350D5093360D20
+:10CAC0006093370D7093380D2111B7CF089521E091
+:10CAD00040E050E0BA01E5CF21E040E050E0BA018B
+:10CAE000E0CF8F929F92AF92BF92CF92DF92EF9260
+:10CAF000FF920F931F93CF93DF938091350D909109
+:10CB0000360DA091370DB091380D81309048A105B8
+:10CB1000B10540F01092350D1092360D1092370D80
+:10CB20001092380D6091350D7091360D8091370D52
+:10CB30009091380D25E030E040E050E00E947EB258
+:10CB400080913E0D90E0A0E0B0E0281739074A0739
+:10CB50005B0710F420933E0DD0913E0D10913F0DD8
+:10CB600012FB112710F9C0E085E0C82ED12CE12C72
+:10CB7000F12C9DE1892E912CA12CB12C01E060912A
+:10CB8000350D7091360D8091370D9091380DD11182
+:10CB900031C020916F02222369F023E065307105D6
+:10CBA0008105910510F443E001C040E266E870E1C0
+:10CBB0008C2F1CDE112309F400C18091350D90915A
+:10CBC000360DA091370DB091380D0597A105B1052F
+:10CBD00008F0F3C032DF8CE692E7DF91CF911F912E
+:10CBE0000F91FF90EF90DF90CF90BF90AF909F900C
+:10CBF0008F906DCFD13061F520916F02222391F09B
+:10CC0000A70196010E947EB22130310541055105F0
+:10CC100019F423E043E002C023E040E265E770E15D
+:10CC20008C2FE4DD112309F4C8C06091350D70919B
+:10CC3000360D8091370D9091380DA70196010E9415
+:10CC40007EB2213031054105510509F0B6C0C2CF91
+:10CC5000D23061F520916F02222391F0A701960155
+:10CC60000E947EB2223031054105510519F423E0BE
+:10CC700043E002C023E040E269E670E18C2FB6DDBC
+:10CC8000112309F49AC06091350D7091360D809191
+:10CC9000370D9091380DA70196010E947EB2223087
+:10CCA00031054105510509F088C094CFD33061F5B5
+:10CCB00020916F02222391F0A70196010E947EB27B
+:10CCC000233031054105510519F423E043E002C04A
+:10CCD00023E040E267E570E18C2F88DD112309F441
+:10CCE0006CC06091350D7091360D8091370D90912B
+:10CCF000380DA70196010E947EB22330310541050F
+:10CD0000510509F05AC066CFD43059F520916F0211
+:10CD1000222391F0A70196010E947EB224303105B2
+:10CD20004105510519F423E043E002C023E040E24D
+:10CD300065E470E18C2F5ADD112309F43EC0609147
+:10CD4000350D7091360D8091370D9091380DA701FA
+:10CD500096010E947EB2243031054105510569F5E6
+:10CD600039CFD53051F520916F02222391F0A701E0
+:10CD700096010E947EB2253031054105510519F416
+:10CD800023E043E002C023E040E269E370E18C2F3E
+:10CD90002DDD112391F06091350D7091360D80914C
+:10CDA000370D9091380DA70196010E947EB2253073
+:10CDB00031054105510509F40DCF8091350D909154
+:10CDC000360DA091370DB091380D4E97A105B105E4
+:10CDD00040F08092350D9092360DA092370DB092B2
+:10CDE000380D6091350D7091360D8091370D909111
+:10CDF000380DA70196010E947EB280913E0D90E011
+:10CE00000396422F50E0841795074CF48DEF820F64
+:10CE100080933E0D00936F02DCEFD20FCFEFCF5F18
+:10CE2000DF5FC43008F4ABCEDF91CF911F910F913B
+:10CE3000FF90EF90DF90CF90BF90AF909F908F903A
+:10CE400008958F929F92AF92BF92CF92DF92EF920E
+:10CE5000FF920F931F93CF93DF938091350D9091A5
+:10CE6000360DA091370DB091380D81309048A10555
+:10CE7000B10540F01092350D1092360D1092370D1D
+:10CE80001092380D6091350D7091360D8091370DEF
+:10CE90009091380D25E030E040E050E00E947EB2F5
+:10CEA00080913E0D90E0A0E0B0E0281739074A07D6
+:10CEB0005B0710F420933E0DD0913E0D10913F0D75
+:10CEC00012FB112710F9C0E025E0C22ED12CE12C75
+:10CED000F12C3DE1832E912CA12CB12C01E060912D
+:10CEE000350D7091360D8091370D9091380DD1111F
+:10CEF00031C020916F02222369F023E06530710573
+:10CF00008105910510F443E001C040E264E370E163
+:10CF10008C2F6CDC112309F429C18091350D90917F
+:10CF2000360DA091370DB091380D0597A105B105CB
+:10CF300008F01CC182DD8CE692E7DF91CF911F9152
+:10CF40000F91FF90EF90DF90CF90BF90AF909F90A8
+:10CF50008F90BDCDD13079F520916F02222391F0D1
+:10CF6000A70196010E947EB221303105410551058D
+:10CF700019F42EE74EE302C02EE740E268E270E1CA
+:10CF80008C2F34DC112309F4F1C06091350D7091C0
+:10CF9000360D8091370D9091380DA70196010E94B2
+:10CFA0007EB2213031054105510509F0DFC045DD74
+:10CFB0008BEA99E730C0D230D9F520916F02222355
+:10CFC00091F0A70196010E947EB222303105410501
+:10CFD000510519F42EE74EE302C02EE740E26EE160
+:10CFE00070E18C2F03DC112309F4C0C06091350D72
+:10CFF0007091360D8091370D9091380DA7019601F3
+:10D000000E947EB2223031054105510509F0AEC0C3
+:10D0100014DD8FEA9AE6DF91CF911F910F91FF9077
+:10D02000EF90DF90CF90BF90AF909F908F9054CDB6
+:10D03000D33079F520916F02222391F0A701960158
+:10D040000E947EB2233031054105510519F420E2DA
+:10D050004EE302C020E240E262E170E18C2FC6DBC9
+:10D06000112309F483C06091350D7091360D8091C4
+:10D07000370D9091380DA70196010E947EB22330A2
+:10D0800031054105510509F071C0D7DC8CE090E114
+:10D090005FC0D43079F520916F02222391F0A7016F
+:10D0A00096010E947EB2243031054105510519F4E4
+:10D0B00020E24EE302C020E240E26BEF7FE08C2FE3
+:10D0C00095DB112309F452C06091350D7091360D36
+:10D0D0008091370D9091380DA70196010E947EB284
+:10D0E000243031054105510509F040C0A6DC87EF29
+:10D0F0009FE02EC0D530D1F520916F02222391F010
+:10D10000A70196010E947EB22530310541055105E7
+:10D1100019F420E24EE302C020E240E26DEE7FE02F
+:10D120008C2F64DB112311F16091350D7091360D58
+:10D130008091370D9091380DA70196010E947EB223
+:10D14000253031054105510589F477DC89EE9FE0F2
+:10D15000DF91CF911F910F91FF90EF90DF90CF90D3
+:10D16000BF90AF909F908F900C94333E8091350D7F
+:10D170009091360DA091370DB091380D4E97A105C5
+:10D18000B10540F08092350D9092360DA092370D8A
+:10D19000B092380D6091350D7091360D8091370D3C
+:10D1A0009091380DA70196010E947EB280913E0DAC
+:10D1B00090E00396422F50E0841795074CF48DEFD2
+:10D1C000820F80933E0D00936F02DCEFD20FCFEF02
+:10D1D000CF5FDF5FC43008F482CEDF91CF911F9123
+:10D1E0000F91FF90EF90DF90CF90BF90AF909F9006
+:10D1F0008F900895BF92CF92DF92EF92FF920F939C
+:10D200001F93CF93DF938091350D9091360DA091B0
+:10D21000370DB091380D81309048A105B10540F02F
+:10D220001092350D1092360D1092370D1092380D68
+:10D230006091350D7091360D8091370D9091380DBC
+:10D2400025E030E040E050E00E947EB280913E0D4B
+:10D2500090E0A0E0B0E0281739074A075B0710F418
+:10D2600020933E0DD0913E0D10913F0D12FB1127E2
+:10D2700010F9C0E065E0C62ED12CE12CF12C01E0C4
+:10D280006091350D7091360D8091370D9091380D6C
+:10D29000D1112EC020916F02222369F023E0653066
+:10D2A00071058105910510F443E001C040E260EE94
+:10D2B0007FE08C2F9BDA112309F479C08091350D22
+:10D2C0009091360DA091370DB091380D0597A105BD
+:10D2D000B10508F06CC0B1DB81E297E6DF91CF9138
+:10D2E0001F910F91FF90EF90DF90CF90BF90EFCB09
+:10D2F000D13071F520916F02222391F0A7019601A0
+:10D300000E947EB2213031054105510519F42EE706
+:10D310004EE302C02EE740E269ED7FE08C2F66DA33
+:10D32000112309F444C06091350D7091360D809140
+:10D33000370D9091380DA70196010E947EB22130E1
+:10D3400031054105510599F578DB8FE090E8A8C0DB
+:10D35000D23069F520916F02222391F0A701960146
+:10D360000E947EB2223031054105510519F42EE7A5
+:10D370004EE302C02EE740E262ED7FE08C2F36DA0A
+:10D380001123A9F06091350D7091360D8091370D04
+:10D390009091380DA70196010E947EB2223031058E
+:10D3A0004105510521F449DB86E190E879C020E090
+:10D3B00030E040E251E46091110D7091120D8091C6
+:10D3C000130D9091140D0E94A0AE87FF73C0609161
+:10D3D000350D7091360D8091370D9091380DD33009
+:10D3E00081F520916F02222391F0A70196010E94FE
+:10D3F0007EB2233031054105510519F42EE74EE385
+:10D4000002C02EE740E26BEC7FE08C2FEFD91111C8
+:10D4100003C055E0B52E50C06091350D7091360DAA
+:10D420008091370D9091380DA70196010E947EB230
+:10D43000233031054105510561F7FFDA8DE190E8B0
+:10D440002FC0D43031F720916F02222391F0A70131
+:10D4500096010E947EB2243031054105510519F430
+:10D460002EE74EE302C02EE740E262EC7FE08C2F15
+:10D47000BDD9112371F26091350D7091360D8091F7
+:10D48000370D9091380DA70196010E947EB224308D
+:10D4900031054105510509F0BCCFCFDA8BE49EE799
+:10D4A000DF91CF911F910F91FF90EF90DF90CF9080
+:10D4B000BF9012CB43E0B42E6091350D7091360DC4
+:10D4C0008091370D9091380DA70196010E947EB290
+:10D4D0008B2D90E0A0E0B0E0281739074A075B07E2
+:10D4E00088F025E0B29EC00111240197AA2797FD7C
+:10D4F000A095BA2F8093350D9093360DA093370DDC
+:10D50000B093380D6091350D7091360D8091370DC7
+:10D510009091380DA70196010E947EB280913E0D38
+:10D5200090E00396422F50E0841795074CF48DEF5E
+:10D53000820F80933E0D00936F02DCEFD20FCFEF8E
+:10D54000CF5FDF5FC43008F49BCEDF91CF911F9196
+:10D550000F91FF90EF90DF90CF90BF90089580E003
+:10D5600090E0A0E8BFE38093110D9093120DA0937B
+:10D57000130DB093140D3ECE20E044E064E180E44E
+:10D580009DE00E94B128BCD980E49DE00C947228F3
+:10D59000F3DF20E040E050E0BA0184E290E881CA85
+:10D5A00010924908109248081092470810924608B5
+:10D5B00010922F0A10922E0AEBCF80E49DE00C947B
+:10D5C000722820E030E04EE353E46091400870910F
+:10D5D000410880914208909143080E94A3B0181618
+:10D5E0004CF480E89EE00E94333E83E79EE00E9478
+:10D5F000333E20C0E2DF40E060E080E49DE00E9436
+:10D600007E286BEC74E080E49DE00E94BEAD42E0B9
+:10D6100060E080E49DE00E947E2862ED74E080E49A
+:10D620009DE00E94BEAD60ED77E080E090E00E945A
+:10D6300060A9C3DFADCF20E030E04EE353E460915A
+:10D6400040087091410880914208909143080E94DF
+:10D65000A3B018166CF48FE69EE00E94333E83E67A
+:10D660009EE00E94333E87E59EE00E94333E20C04C
+:10D67000A4DF40E060E080E49DE00E947E286BEC47
+:10D6800074E080E49DE00E94BEAD42E060E080E492
+:10D690009DE00E947E2862ED74E080E49DE00E949F
+:10D6A000BEAD60ED77E080E090E00E9460A985DF8C
+:10D6B0006FCF8091970D9091980D9093490880932A
+:10D6C00048088091950D9091960D9093470880930E
+:10D6D000460810922F0A10922E0A5ADF0C94442109
+:10D6E0008091910D9091920D9093490880934808F4
+:10D6F00080918F0D9091900D9093470880934608EC
+:10D7000010922F0A10922E0A43DF0C94442180912C
+:10D7100095029091960290934908809348088091D1
+:10D720009302909194029093470880934608109238
+:10D730002F0A10922E0A2CDF0C9444218091910222
+:10D7400090919202909349088093480880918F02AB
+:10D7500090919002909347088093460810922F0A68
+:10D7600010922E0A15DF0C94442180918D02909125
+:10D770008E02909349088093480880918B02909183
+:10D780008C02909347088093460810922F0A1092BB
+:10D790002E0AFEDE0C9444218091890290918A0227
+:10D7A000909349088093480880918702909188025D
+:10D7B000909347088093460810922F0A10922E0AE1
+:10D7C000E7DE0C9444212F923F924F925F926F922A
+:10D7D0007F928F929F92AF92BF92CF92DF92EF9201
+:10D7E000FF920F931F93CF93DF93CDB7DEB7A89728
+:10D7F0000FB6F894DEBF0FBECDBF80916F028111CE
+:10D8000004C080913F0D82FFEBC28DE59AE00E943B
+:10D810001B389DA38CA38091350D9091360DA0915E
+:10D82000370DB091380D81309048A105B10540F019
+:10D830001092350D1092360D1092370D1092380D52
+:10D840006091350D7091360D8091370D9091380DA6
+:10D8500025E030E040E050E00E947EB280913E0D35
+:10D8600090E0A0E0B0E0281739074A075B0710F402
+:10D8700020933E0D40903E0D80913F0D82FB882706
+:10D8800080F98F8F512C35E0C32ED12CE12CF12C57
+:10D8900041102DC080916F028823A9F08091350D31
+:10D8A0009091360DA091370DB091380D23E005977A
+:10D8B000A105B10510F443E001C040E26BE77FE051
+:10D8C000852D0E94F6632F8D222389F08091350DDE
+:10D8D0009091360DA091370DB091380D0597A105A7
+:10D8E000B10528F4AAD88CE692E7F1D879C261E6AE
+:10D8F0007AE08BEC9AE00E9440108091610A8F32AE
+:10D9000031F041E0441671F022E0722E02C077241B
+:10D9100073940CA11DA101501109842C912CA12CF0
+:10D92000B12C52C080916F028823D9F06091350DDF
+:10D930007091360D8091370D9091380DA7019601A9
+:10D940000E947EB2213031054105510519F420E2D3
+:10D950004EE302C020E240E267E77FE0852D0E94AF
+:10D96000F6638F8D882381F26091350D7091360DAD
+:10D970008091370D9091380DA70196010E947EB2DB
+:10D98000213031054105510509F0BECF56D80E941E
+:10D990006F6426C2741088C140E050E0B8018DE584
+:10D9A0009AE00E9492349091A30A80916F02992389
+:10D9B00009F4A1C081110DC09F8D911179C0772408
+:10D9C0007394740C015011090F3FFFEF1F0711F7FB
+:10D9D0006DC16091350D7091360D8091370D90912C
+:10D9E000380DA70196010E947EB2281539054A0517
+:10D9F0005B0579F5452D60E080E49DE00E947E287E
+:10DA00006EE380E49DE00E94BFAD65E080E49DE0B0
+:10DA10000E94BFAD80916E0A882329F01092800A7F
+:10DA20008EE69AE002C081E69AE03C0192E1392E4E
+:10DA3000F30161913F01662311F0311085C133205C
+:10DA400009F4BACF60E280E49DE00E94BFAD3A9451
+:10DA5000F6CF452D60E080E49DE00E947E2860E2E4
+:10DA600080E49DE00E94BFAD65E080E49DE00E94FF
+:10DA7000BFAD80916E0A882329F01092800A8EE64D
+:10DA80009AE002C081E69AE03C0182E1382EF3017F
+:10DA900061913F01662311F031105CC1332009F41C
+:10DAA0008BCF60E280E49DE00E94BFAD3A94F6CF58
+:10DAB0006091350D7091360D8091370D9091380D34
+:10DAC000A70196010E947EB2281539054A055B051B
+:10DAD00009F075CF0E941D6561E67AE08DE59AE058
+:10DAE0000E947E381092350D1092360D1092370D2F
+:10DAF0001092380D75C1811104C0FF8DF11191C0D4
+:10DB00005ECF6091350D7091360D8091370D9091FB
+:10DB1000380DA70196010E947EB2281539054A05E5
+:10DB20005B0509F054C020919B0D2EA3712C472D4D
+:10DB300060E080E49DE00E947E2860E280E49DE059
+:10DB40000E94BFAD739444E07412F1CF452D60E0A4
+:10DB500080E49DE00E947E286EE380E49DE00E94C8
+:10DB6000BFADBFE62B2EBAE03B2E2EE63AE0612C8D
+:10DB7000712C39A328A361E070E0E8A1F9A12191FB
+:10DB8000F9A3E8A32223B1F0CB0101969BA38AA3BA
+:10DB9000452D80E49DE028A76114710409F4E0C0DC
+:10DBA0000E947E2828A5622F80E49DE00E94BFADE0
+:10DBB0006AA17BA1F4E17F2E761A772009F49DCF2C
+:10DBC00060E280E49DE00E94BFAD7A94F6CF452DDF
+:10DBD00060E080E49DE00E947E2860E280E49DE0B9
+:10DBE0000E94BFAD80916E0A882329F01092810AAD
+:10DBF0008EE69AE002C081E69AE03C01E3E13E2E27
+:10DC0000F30161913F01662311F03110E3C033202D
+:10DC100009F473CF60E280E49DE00E94BFAD3A94C6
+:10DC2000F6CF6091350D7091360D8091370D909142
+:10DC3000380DA70196010E947EB2281539054A05C4
+:10DC40005B0509F0BCCE0E941D6581E69AE09F93BA
+:10DC50008F9380E79FE09F938F938E010F5F1F4FFD
+:10DC60001F930F930E945BB60F900F900F900F9031
+:10DC70000F900F907E01F5E0EF0EF11CF70180810F
+:10DC8000882349F0992787FD90950E9498B5F70160
+:10DC900081937F01F3CFC8010E94C03D8CE69FE0D5
+:10DCA0000E94333E75DC9CC073948CCE6091350D20
+:10DCB0007091360D8091370D9091380DA701960126
+:10DCC0000E947EB2872D90E0A0E0B0E028173907CF
+:10DCD0004A075B0788F025E0729EC0011124019776
+:10DCE000AA2797FDA095BA2F8093350D9093360DF6
+:10DCF000A093370DB093380D6091350D7091360DAE
+:10DD00008091370D9091380DA70196010E947EB247
+:10DD100080913E0D90E00396422F50E084179507C6
+:10DD200064F48DEF820F80933E0D81E080936F024B
+:10DD30007CEF472E420E55245A945394439443E06B
+:10DD4000451508F0A5CD4CC080E49DE00E94BFAD14
+:10DD50003A946ECE80E49DE00E94BFAD3A9497CE97
+:10DD60000E947E2828A5622F80E49DE00E94BFAD1E
+:10DD70006AA17BA16431710509F0FFCE9101ACE28B
+:10DD80006A2E7724739480913F0D82FD05C08091A7
+:10DD90009B0D9EA1981789F081E090E0E1E06E1A5A
+:10DDA00071086114710421F0892B69F381E090E01E
+:10DDB000FFEF2F1A3F0A3C01DCCE61E070E080E00B
+:10DDC00090E028A73FA30E9460A980E090E028A5EA
+:10DDD0003FA1E4CF80E49DE00E94BFAD3A9410CF14
+:10DDE000A8960FB6F894DEBF0FBECDBFDF91CF91DE
+:10DDF0001F910F91FF90EF90DF90CF90BF90AF9069
+:10DE00009F908F907F906F905F904F903F902F905A
+:10DE100008958F929F92AF92BF92CF92DF92EF922E
+:10DE2000FF920F931F93CF93DF938091350D9091C5
+:10DE3000360DA091370DB091380D81309048A10575
+:10DE4000B10540F01092350D1092360D1092370D3D
+:10DE50001092380D6091350D7091360D8091370D0F
+:10DE60009091380D25E030E040E050E00E947EB215
+:10DE700080913E0D90E0A0E0B0E0281739074A07F6
+:10DE80005B0710F420933E0DD0913E0D10913F0D95
+:10DE900012FB112710F9C0E045E0C42ED12CE12C73
+:10DEA000F12C57E2852E912CA12CB12C01E0609130
+:10DEB000350D7091360D8091370D9091380DD1113F
+:10DEC00034C020916F02222371F023E06530710588
+:10DED0008105910510F443E001C040E267E57FE071
+:10DEE0008C2F0E94F663112309F4C8C18091350D6F
+:10DEF0009091360DA091370DB091380D0597A10581
+:10DF0000B10508F0BBC10E941D658CE692E7DF9168
+:10DF1000CF911F910F91FF90EF90DF90CF90BF9026
+:10DF2000AF909F908F900C946765D130D9F5209178
+:10DF30006F02222399F0A70196010E947EB2213040
+:10DF400031054105510519F420E24EE302C020E2FB
+:10DF500040E267E47FE08C2F0E94F663112309F40E
+:10DF60008DC16091350D7091360D8091370D909176
+:10DF7000380DA70196010E947EB22130310541057E
+:10DF8000510509F07BC10E941D65DF91CF911F9162
+:10DF90000F91FF90EF90DF90CF90BF90AF909F9048
+:10DFA0008F909ECBD230D9F520916F02222399F029
+:10DFB000A70196010E947EB222303105410551052C
+:10DFC00019F420E24EE302C020E240E268E37FE081
+:10DFD0008C2F0E94F663112309F450C16091350D16
+:10DFE0007091360D8091370D9091380DA7019601F3
+:10DFF0000E947EB2223031054105510509F03EC133
+:10E000000E941D65DF91CF911F910F91FF90EF90BE
+:10E01000DF90CF90BF90AF909F908F904ACBD3303E
+:10E02000D9F520916F02222399F0A70196010E9451
+:10E030007EB2233031054105510519F420E24EE34B
+:10E0400002C020E240E269E27FE08C2F0E94F6638A
+:10E05000112309F413C16091350D7091360D809133
+:10E06000370D9091380DA70196010E947EB22330A2
+:10E0700031054105510509F001C10E941D65DF917F
+:10E08000CF911F910F91FF90EF90DF90CF90BF90B5
+:10E09000AF909F908F9052CBD430D9F520916F02E2
+:10E0A000222399F0A70196010E947EB22430310507
+:10E0B0004105510519F420E24EE302C020E240E29E
+:10E0C00069E17FE08C2F0E94F663112309F4D6C02A
+:10E0D0006091350D7091360D8091370D9091380D0E
+:10E0E000A70196010E947EB22430310541055105F9
+:10E0F00009F0C4C00E941D65DF91CF911F910F915F
+:10E10000FF90EF90DF90CF90BF90AF909F908F9057
+:10E110002CCBD530D9F520916F02222399F0A7019D
+:10E1200096010E947EB2253031054105510519F452
+:10E1300020E24EE302C020E240E269E07FE08C2F63
+:10E140000E94F663112309F499C06091350D709116
+:10E15000360D8091370D9091380DA70196010E94E0
+:10E160007EB2253031054105510509F087C00E9476
+:10E170001D65DF91CF911F910F91FF90EF90DF9080
+:10E18000CF90BF90AF909F908F90C1CAD630D9F5F5
+:10E1900020916F02222399F0A70196010E947EB27E
+:10E1A000263031054105510519F420E24EE302C045
+:10E1B00020E240E26AEF7EE08C2F0E94F66311239A
+:10E1C00009F45CC06091350D7091360D8091370D6A
+:10E1D0009091380DA70196010E947EB2263031053C
+:10E1E0004105510509F04AC00E941D65DF91CF919C
+:10E1F0001F910F91FF90EF90DF90CF90BF90AF9065
+:10E200009F908F90C9CAD730C9F520916F02222301
+:10E2100099F0A70196010E947EB227303105410591
+:10E22000510519F420E24EE302C020E240E261EF22
+:10E230007EE08C2F0E94F663112301F16091350D71
+:10E240007091360D8091370D9091380DA701960190
+:10E250000E947EB2273031054105510579F40E94B4
+:10E260001D65DF91CF911F910F91FF90EF90DF908F
+:10E27000CF90BF90AF909F908F9092C98091350DB5
+:10E280009091360DA091370DB091380D8897A1056A
+:10E29000B10540F08092350D9092360DA092370D69
+:10E2A000B092380D6091350D7091360D8091370D1B
+:10E2B0009091380DA70196010E947EB280913E0D8B
+:10E2C00090E00396422F50E0841795074CF48DEFB1
+:10E2D000820F80933E0D00936F02DCEFD20FCFEFE1
+:10E2E000CF5FDF5FC43008F4E2CDDF91CF911F91A3
+:10E2F0000F91FF90EF90DF90CF90BF90AF909F90E5
+:10E300008F9008955AD941E060E080E49DE00E943A
+:10E310007E2869EF74E080E49DE00E94BEAD42E09B
+:10E3200060E080E49DE00E947E2869E075E080E482
+:10E330009DE00C94BEAD41D942E060E080E49DE0F8
+:10E340000E947E286CE175E080E49DE00C94BEADF7
+:10E350001F93CF93DF9331D940E060E080E49DE0EC
+:10E360000E947E286CE275E080E49DE00E94BEADD4
+:10E3700042E060E080E49DE00E947E286AE375E070
+:10E3800080E49DE00E94BEAD10E043E0612F80E498
+:10E390009DE00E947E286FE573E080E49DE00E948E
+:10E3A000BEADCAE0D0E00E94721E81E00E943849F2
+:10E3B00065E570E080E090E00E9460A921972097D9
+:10E3C00091F71F5F143109F7DF91CF911F910895E5
+:10E3D0001F93CF93DF93F1D840E060E080E49DE0AD
+:10E3E0000E947E2866E475E080E49DE00E94BEAD58
+:10E3F00042E060E080E49DE00E947E286AE375E0F0
+:10E4000080E49DE00E94BEAD10E043E0612F80E417
+:10E410009DE00E947E286FE573E080E49DE00E940D
+:10E42000BEADCAE0D0E00E94721E81E00E94384971
+:10E430006EE670E080E090E00E9460A9219720974E
+:10E4400091F71F5F143109F7DF91CF911F91089564
+:10E4500080932E0D10922D0D0895E2E7F2E00190C9
+:10E460000020E9F73197E257F2401E161F0634F0FC
+:10E470001092860282E080936F02089580E2E43178
+:10E48000F105B4F7DF01AE58BD4F8C933196F7CF4D
+:10E4900020918C0D211108C044E150E0BC0182E7BD
+:10E4A00092E00E944CB6D9CF089510925F0A60E0C6
+:10E4B0008DE59AE00E947D340E94B39380E69FE050
+:10E4C0000E94333E81E080931F0A87E595E0E0DFFC
+:10E4D0008CE59FE00C94333EAF92BF92CF92DF92D7
+:10E4E000EF92FF920F931F93CF93DF931092990DAA
+:10E4F0008091350D9091360DA091370DB091380D6A
+:10E5000081309048A105B10540F01092350D109270
+:10E51000360D1092370D1092380D6091350D7091B7
+:10E52000360D8091370D9091380D25E030E040E0B8
+:10E5300050E00E947EB280913E0D90E0A0E0B0E0FD
+:10E54000281739074A075B0710F420933E0DD09136
+:10E550003E0D10913F0D12FB112710F9C0E075E040
+:10E56000C72ED12CE12CF12CAA24A394D11137C0B1
+:10E5700080916F028823A9F08091350D9091360D1E
+:10E58000A091370DB091380D23E00597A105B10595
+:10E5900010F443E001C040E264E071E18C2F0E947E
+:10E5A000F6631123E1F08091350D9091360DA09125
+:10E5B000370DB091380D0597A105B10580F40E9483
+:10E5C0001D6584E290E8DF91CF911F910F91FF903C
+:10E5D000EF90DF90CF90BF90AF900C9467650E9452
+:10E5E00000A54091350D5091360D6091370D709119
+:10E5F000380D811104C080915F0A882399F1D130D0
+:10E60000C9F580916F028823A9F0CB01BA01A70157
+:10E6100096010E947EB2213031054105510519F461
+:10E620002EE74EE302C02EE740E26FEF70E18C2F41
+:10E630000E94F6631123F1F06091350D7091360D53
+:10E640008091370D9091380DA70196010E947EB2FE
+:10E65000213031054105510569F40E941D6582E6AE
+:10E660009BE73EC2D13031F480916F0281119BC291
+:10E670001111AFC22091600A6091350D7091360D75
+:10E680008091370D9091380D222309F4F1C020912B
+:10E69000480C222309F4B9C020915F0A2223E9F132
+:10E6A000D23009F076C020916F02222399F0A701A1
+:10E6B00096010E947EB2223031054105510519F4C0
+:10E6C00020E24EE302C020E240E26BEE70E18C2FCC
+:10E6D0000E94F663112309F4E2C06091350D709138
+:10E6E000360D8091370D9091380DA70196010E944B
+:10E6F0007EB2223031054105510509F0D0C00E949B
+:10E700001D65DF91CF911F910F91FF90EF90DF90EA
+:10E71000CF90BF90AF900C947C64D230D1F5209113
+:10E720006F02222399F0A70196010E947EB2223047
+:10E7300031054105510519F420E24EE302C020E203
+:10E7400040E26EED70E18C2F0E94F663112309F414
+:10E75000A6C06091350D7091360D8091370D909166
+:10E76000380DA70196010E947EB222303105410585
+:10E77000510509F094C00E941D65DF91CF911F9152
+:10E780000F91FF90EF90DF90CF90BF90AF900C94DF
+:10E790007864D33009F083C020916F02222399F06E
+:10E7A000A70196010E947EB2233031054105510533
+:10E7B00019F420E24EE302C020E240E263ED70E192
+:10E7C0008C2F0E94F663112309F469C06091350D06
+:10E7D0007091360D8091370D9091380DA7019601FB
+:10E7E0000E947EB2233031054105510509F057C022
+:10E7F0000E941D65DF91CF911F910F91FF90EF90C7
+:10E80000DF90CF90BF90AF9050CED23011F003E0A8
+:10E8100047C020916F02222399F0A70196010E9420
+:10E820007EB2223031054105510519F42EE74EE341
+:10E8300002C02EE740E265EC70E18C2F0E94F66387
+:10E84000112329F36091350D7091360D8091370DAC
+:10E850009091380DA70196010E947EB222303105B9
+:10E8600041055105A1F60E941D6583EE9BE638C166
+:10E87000D23069F620916F02222311F3A70196018D
+:10E880000E947EB2223031054105510519F42EE770
+:10E890004EE302C02EE740E26AEB70E1CECF04E027
+:10E8A00080915F0A8111DCC00D1348C080916F0216
+:10E8B0008823F9F06091350D7091360D8091370DF8
+:10E8C0009091380DA70196010E947EB2802F90E0B2
+:10E8D000A0E0B0E0281739074A075B0719F420E2E7
+:10E8E0004EE302C020E240E26CEA70E18C2F0E940D
+:10E8F000F663112319F16091350D7091360D8091F9
+:10E90000370D9091380DA70196010E947EB2802F9D
+:10E9100090E0A0E0B0E0281739074A075B0771F4E0
+:10E920000E941D65DF91CF911F910F91FF90EF9095
+:10E93000DF90CF90BF90AF900C941B6BBB24B3942F
+:10E94000B00EBD1248C080916F028823F9F060912B
+:10E95000350D7091360D8091370D9091380DA701CE
+:10E9600096010E947EB28D2F90E0A0E0B0E02817C3
+:10E9700039074A075B0719F420E24EE302C020E2A0
+:10E9800040E26CE970E18C2F0E94F663112319F1CB
+:10E990006091350D7091360D8091370D9091380D45
+:10E9A000A70196010E947EB28B2D90E0A0E0B0E01E
+:10E9B000281739074A075B0771F40E941D65DF912C
+:10E9C000CF911F910F91FF90EF90DF90CF90BF906C
+:10E9D000AF900C94E16A62E0B62EB00EBD123FC05B
+:10E9E00080916F028823F9F06091350D7091360D9A
+:10E9F0008091370D9091380DA70196010E947EB24B
+:10EA00008D2F90E0A0E0B0E0281739074A075B0798
+:10EA100019F42EE74EE302C02EE740E263E970E10D
+:10EA20008C2F0E94F6631123D1F06091350D709107
+:10EA3000360D8091370D9091380DA70196010E94F7
+:10EA40007EB28B2D90E0A0E0B0E0281739074A078E
+:10EA50005B0729F40E941D6581E297E641C00D5FC6
+:10EA60000D134AC080916F028823F9F06091350D33
+:10EA70007091360D8091370D9091380DA701960158
+:10EA80000E947EB2802F90E0A0E0B0E02817390706
+:10EA90004A075B0719F42EE74EE302C02EE740E277
+:10EAA0006BE870E18C2F0E94F663112329F16091CD
+:10EAB000350D7091360D8091370D9091380DA7016D
+:10EAC00096010E947EB2802F90E0A0E0B0E028176F
+:10EAD00039074A075B0781F40E941D6581E795E6C7
+:10EAE000DF91CF911F910F91FF90EF90DF90CF902A
+:10EAF000BF90AF900C946C65BB24B394B00E609142
+:10EB0000350D7091360D8091370D9091380DA7011C
+:10EB100096010E947EB28B2D90E0A0E0B0E0281715
+:10EB200039074A075B0788F025E0B29EC00111242F
+:10EB30000197AA2797FDA095BA2F8093350D909342
+:10EB4000360DA093370DB093380D6091350D70914F
+:10EB5000360D8091370D9091380DA70196010E94D6
+:10EB60007EB280913E0D90E00396422F50E08417D4
+:10EB700095074CF48DEF820F80933E0DA0926F02AB
+:10EB8000DCEFD20FCFEFCF5FDF5FC43008F4EECC05
+:10EB9000DF91CF911F910F91FF90EF90DF90CF9079
+:10EBA000BF90AF900895CB01BA01A70196010E94D2
+:10EBB0007EB2213031054105510519F42EE74EE3AF
+:10EBC00002C02EE740E267EF70E18C2F0E94F663EF
+:10EBD0004FCD6091350D7091360D8091370D90912C
+:10EBE000380DA70196010E947EB221303105410502
+:10EBF000510509F03FCD0E941D6589E09FE670CF69
+:10EC000020918C0D211108C044E150E0BC0182E745
+:10EC100092E00E94BFB521CC0895F2DF81E080939D
+:10EC20008C0D0C94C86A10928C0D0895CF92DF92CF
+:10EC3000EF92FF92CF93CCB1C095CC1FCC27CC1FC5
+:10EC40008091030183FFC260C0903A0DD0903B0DCC
+:10EC5000E0903C0DF0903D0D0E9431A9C616D706FC
+:10EC6000E806F90610F4489B39C0C0933F0D809127
+:10EC70003F0D817090913F0D91FD82609091390D13
+:10EC8000891721F18130F1F028F0823089F083304A
+:10EC9000A1F01CC0913021F490919B0D9F5F05C0A5
+:10ECA0009230A1F490919B0D915090939B0D0EC0CA
+:10ECB000992391F3933051F4F5CF923069F3913069
+:10ECC00029F4F0CF933041F3992361F38093390D08
+:10ECD000CF91FF90EF90DF90CF900895C460C5CFA3
+:10ECE0000E94BC6A6F98E4E0F1E08081877F8083B6
+:10ECF000779A9FB7F894E5E0F1E08081886080839F
+:10ED00009FBF5098589A60E088E40E9451A89FB72E
+:10ED1000F894E5E0F1E08081846080839FBF80917A
+:10ED2000030182FB882780F991E089278093340DC5
+:10ED30007DDF10929B0D0895CF92DF92EF92FF92AC
+:10ED400075DF8091030191E082FB882780F9892794
+:10ED50002091340D8217C9F082E080936F02809178
+:10ED6000030182FB882780F989278093340D0E9454
+:10ED7000BC6A8091340D882309F490C08DE59AE037
+:10ED80000E94473089E49EE03BDFC090300DD09078
+:10ED9000310DE090320DF090330D0E9431A9C6166E
+:10EDA000D706E806F90608F086C040919B0D44237B
+:10EDB00061F181E080936F02552747FD5095652FE3
+:10EDC000752F8091350D9091360DA091370DB09132
+:10EDD000380D840F951FA61FB71F8093350D909394
+:10EDE000360DA093370DB093380D10929B0D0E94F5
+:10EDF00031A96856754C8F4F9F4F6093050D7093E6
+:10EE0000060D8093070D9093080D80913F0D82FFB2
+:10EE10000EC00E9431A96856754C8F4F9F4F60936A
+:10EE2000050D7093060D8093070D9093080DE091EA
+:10EE30007002F09171021995C090050DD090060DE9
+:10EE4000E090070DF090080D0E9431A9C616D70674
+:10EE5000E806F90638F480917002909171028452AC
+:10EE6000904819F580916F02823011F40E94DD6A9A
+:10EE700080916F02882319F0815080936F020E9465
+:10EE800031A96C597F4F8F4F9F4F6093300D709316
+:10EE9000310D8093320D9093330D0DC08DE59AE0C6
+:10EEA0000E9412318CE39EE06FCF0E94C86A82E01C
+:10EEB00080936F02D7CFFF90EF90DF90CF900895AF
+:10EEC00081E0089580913F0D82FB882780F90895A5
+:10EED0000F931F93CF93DF930E94DD6A40E060E0C1
+:10EEE00080E49DE00E947E2865E675E080E49DE078
+:10EEF0000E94BEAD41E061E080E49DE00E947E287A
+:10EF000068E775E080E49DE00E94BEAD42E061E00C
+:10EF100080E49DE00E947E286CE775E080E49DE03F
+:10EF20000E94BEAD43E061E080E49DE00E947E2847
+:10EF300060E975E080E49DE00E94BEAD41E060E0E4
+:10EF400080E49DE00E947E2860EA75E080E49DE018
+:10EF50000E94BEAD00919B0D112707FD1095C1E0E9
+:10EF6000D0E08091550A9091560A892B09F076C01D
+:10EF70000E94721E81E00E94384980919B0D992762
+:10EF800087FD90950817190709F459C09801281BA7
+:10EF9000390B37FF03C031952195310922303105F6
+:10EFA0000CF44DC0801791070CF42197081719072E
+:10EFB0000CF42196C430D1052CF4209729F4C1E03B
+:10EFC000D0E002C0C3E0D0E041E060E080E49DE03A
+:10EFD0000E947E2861E973E080E49DE00E94BEAD5E
+:10EFE00042E060E080E49DE00E947E2861E973E0F9
+:10EFF00080E49DE00E94BEAD43E060E080E49DE0DF
+:10F000000E947E2861E973E080E49DE00E94BEAD2D
+:10F010004C2F60E080E49DE00E947E2860EA75E06D
+:10F0200080E49DE00E94BEAD00919B0D112707FD7D
+:10F03000109564E670E080E090E00E9460A942DFF5
+:10F04000882309F48ECFD093560AC093550A64EFF3
+:10F0500071E080E090E00E9460A983CF0E94DD6AA9
+:10F06000DF91CF911F910F910C94C86AFC018081B0
+:10F0700090E02AE030E0B9010E946BB2482FCB014A
+:10F08000B9010E946BB2805D8093090D405D409391
+:10F090000A0D10920B0D89E09DE0089520E030E00C
+:10F0A00040E251E4FC0160817181828193810E9480
+:10F0B00075B10E940FAF77FD02C02BE201C02DE2B7
+:10F0C0002093090D9B0177FF04C022273327261BBD
+:10F0D000370BC90168EE73E00E946BB2CB01EAE026
+:10F0E000F0E0BF010E946BB2805D80930A0DC90100
+:10F0F00064E670E00E946BB2CB01BF010E946BB26C
+:10F10000805D80930B0DC901BF010E946BB2282F57
+:10F11000CB01BF010E946BB2805D80930C0D8EE22B
+:10F1200080930D0D205D20930E0D10920F0D89E040
+:10F130009DE008958F929F92AF92BF92CF92DF92FF
+:10F14000EF92FF92FC0180809180A280B38020E04A
+:10F1500030E048EC52E4C501B4010E9475B16B0186
+:10F160007C0120E030E0A9010E94A3B018161CF435
+:10F17000C701B60103C0C701B60190580E940FAF86
+:10F180006B017C0120E030E0A901C501B4010E94BF
+:10F19000A0AE87FF12C08DE28093090DC701B601B2
+:10F1A00028EE33E040E050E00E94A0B2CA01B9016D
+:10F1B0002AE030E040E050E036C0C701B60120E16F
+:10F1C00037E240E050E00E94A0B28AE0882E912C05
+:10F1D000A12CB12CCA01B901A50194010E94A0B2D1
+:10F1E000662391F0605D6093090DC701B60128EEBA
+:10F1F00033E040E050E00E94A0B2CA01B901A5018D
+:10F2000094010E94A0B213C080E28093090DC7014F
+:10F21000B60128EE33E040E050E00E94A0B2CA01FF
+:10F22000B901A50194010E94A0B2662311F0605DAE
+:10F2300001C060E260930A0DC701B60124E630E028
+:10F2400040E050E00E94A0B2BAE08B2E912CA12C9D
+:10F25000B12CCA01B901A50194010E94A0B2605D60
+:10F2600060930B0DC701B601A50194010E94A0B2E5
+:10F27000662381F0605D60930E0DCA01B901A5019E
+:10F2800094010E94A0B2605D60930D0D8EE28093A8
+:10F290000C0D15C0CA01B901A50194010E94A0B2CC
+:10F2A000662329F0605D60930D0D8EE203C080E25D
+:10F2B00080930D0D80930C0D80E280930E0D1092C3
+:10F2C0000F0D89E09DE0FF90EF90DF90CF90BF9011
+:10F2D000AF909F908F900895FC012081318137FF7E
+:10F2E00007C08DE28093090D31952195310914C035
+:10F2F0002436310574F0C90164E670E00E946BB2F7
+:10F30000CB016AE070E00E946BB2805D8093090DD2
+:10F3100006C080E28093090D2A30310564F0EAE0EE
+:10F32000F0E0C901BF010E946BB2CB01BF010E9496
+:10F330006BB2805D01C080E280930A0DC9016AE072
+:10F3400070E00E946BB2805D80930B0D10920C0DEB
+:10F3500089E09DE008958F929F92AF92BF92CF92E5
+:10F36000DF92EF92FF920F931F93CF93DF93609101
+:10F3700014027091150280911602909117020E945A
+:10F38000BD276093190D70931A0D80931B0D9093F8
+:10F390001C0D6091100270911102809112029091E7
+:10F3A00013020E94C9276093150D7093160D809368
+:10F3B000170D9093180D8091350D9091360DA091F9
+:10F3C000370DB091380D81309048A105B10540F05E
+:10F3D0001092350D1092360D1092370D1092380D97
+:10F3E0006091350D7091360D8091370D9091380DEB
+:10F3F00025E030E040E050E00E947EB280913E0D7A
+:10F4000090E0A0E0B0E0281739074A075B0710F446
+:10F4100020933E0DD0913E0D10913F0D12FB112710
+:10F4200010F9C0E095E0C92ED12CE12CF12C23E19C
+:10F43000822E912CA12CB12C01E06091350D7091A0
+:10F44000360D8091370D9091380DD11134C0209137
+:10F450006F02222371F023E065307105810591056B
+:10F4600010F443E001C040E26AEA7FE08C2F0E9482
+:10F47000F663112309F4E2C08091350D9091360DA9
+:10F48000A091370DB091380D0597A105B10508F091
+:10F49000D5C00E941D6581E297E6DF91CF911F9153
+:10F4A0000F91FF90EF90DF90CF90BF90AF909F9023
+:10F4B0008F900C946765D130D9F520916F0222238B
+:10F4C000B9F0A70196010E947EB288E498E021304D
+:10F4D00031054105510521F4FFDE9C014EE303C0D7
+:10F4E000FBDE9C0140E263EA7FE08C2F0E942D64EA
+:10F4F000112309F4A3C06091350D7091360D8091F0
+:10F50000370D9091380DA70196010E947EB22130EF
+:10F5100031054105510509F091C00E941D6528E3A0
+:10F5200031E040E050E068E478E08CE99FE078C0AA
+:10F53000D230D9F520916F022223B9F0A7019601AC
+:10F540000E947EB286E498E02230310541055105E3
+:10F5500021F4C2DE9C014EE303C0BEDE9C0140E20A
+:10F5600068E97FE08C2F0E942D64112309F466C0A6
+:10F570006091350D7091360D8091370D9091380D59
+:10F58000A70196010E947EB2223031054105510546
+:10F5900009F054C00E941D6523E930E040E050E0CE
+:10F5A00066E478E084E99FE03BC0D33009F046C0D0
+:10F5B00020916F022223B9F0A70196010E947EB22A
+:10F5C0008EE29AE0233031054105510521F484DEB5
+:10F5D0009C014EE303C080DE9C0140E26AE87FE0CC
+:10F5E0008C2F0E942D64112349F16091350D70918B
+:10F5F000360D8091370D9091380DA70196010E942C
+:10F600007EB22330310541055105C1F40E941D65CC
+:10F610002FEF30E040E050E06EE27AE080E89FE0DB
+:10F62000DF91CF911F910F91FF90EF90DF90CF90DE
+:10F63000BF90AF909F908F900C94A4638091350DF4
+:10F640009091360DA091370DB091380D4497A105DA
+:10F65000B10540F08092350D9092360DA092370D95
+:10F66000B092380D6091350D7091360D8091370D47
+:10F670009091380DA70196010E947EB280913E0DB7
+:10F6800090E00396422F50E0841795074CF48DEFDD
+:10F69000820F80933E0D00936F02DCEFD20FCFEF0D
+:10F6A000CF5FDF5FC43008F4C8CEDF91CF911F91E8
+:10F6B0000F91FF90EF90DF90CF90BF90AF909F9011
+:10F6C0008F9008958F929F92AF92BF92CF92DF92C8
+:10F6D000EF92FF920F931F93CF93DF938091350D9D
+:10F6E0009091360DA091370DB091380D8130904832
+:10F6F000A105B10540F01092350D1092360D109213
+:10F70000370D1092380D6091350D7091360D809146
+:10F71000370D9091380D25E030E040E050E00E9438
+:10F720007EB280913E0D90E0A0E0B0E0281739074E
+:10F730004A075B0710F420933E0DD0913E0D1091C7
+:10F740003F0D12FB112710F9C0E035E0C32ED12C7C
+:10F75000E12CF12C42E2842E912CA12CB12C01E061
+:10F760006091350D7091360D8091370D9091380D67
+:10F77000D11134C020916F02222371F023E0653053
+:10F7800071058105910510F443E001C040E26CEE83
+:10F790007EE08C2F0E94F663112309F49CC18091B6
+:10F7A000350D9091360DA091370DB091380D05971C
+:10F7B000A105B10508F08FC10E941D658CE692E796
+:10F7C000DF91CF911F910F91FF90EF90DF90CF903D
+:10F7D000BF90AF909F908F900C946765D130D9F512
+:10F7E00020916F022223B9F0A70196010E947EB2F8
+:10F7F0008DE592E0213031054105510521F46CDDA4
+:10F800009C014EE303C068DD9C0140E266EE7EE0B1
+:10F810008C2F0E942D64112309F45DC16091350D78
+:10F820007091360D8091370D9091380DA70196019A
+:10F830000E947EB2213031054105510509F04BC1CE
+:10F840000E941D6527EE33E04AE050E06DE572E06E
+:10F8500080EE9EE03DC0D23009F048C020916F029A
+:10F860002223B9F0A70196010E947EB288E498E0B5
+:10F87000223031054105510521F42EDD9C014EE376
+:10F8800003C02ADD9C0140E269ED7EE08C2F0E94DE
+:10F890002D64112309F41FC16091350D7091360D4F
+:10F8A0008091370D9091380DA70196010E947EB28C
+:10F8B000223031054105510509F00DC10E941D6539
+:10F8C00028E331E040E050E068E478E082ED9EE03B
+:10F8D000DF91CF911F910F91FF90EF90DF90CF902C
+:10F8E000BF90AF909F908F900C94A463D330D9F5C4
+:10F8F00020916F022223B9F0A70196010E947EB2E7
+:10F9000086E498E0233031054105510521F4E4DC1B
+:10F910009C014EE303C0E0DC9C0140E26EEC7EE023
+:10F920008C2F0E942D64112309F4D5C06091350DF0
+:10F930007091360D8091370D9091380DA701960189
+:10F940000E947EB2233031054105510509F0C3C044
+:10F950000E941D6523E930E040E050E066E478E075
+:10F960008AEC9EE0B5CFD430D9F520916F022223E6
+:10F97000B9F0A70196010E947EB28EE29AE024308F
+:10F9800031054105510521F4A7DC9C014EE303C07C
+:10F99000A3DC9C0140E260EC7EE08C2F0E942D6491
+:10F9A000112309F498C06091350D7091360D809146
+:10F9B000370D9091380DA70196010E947EB2243038
+:10F9C00031054105510509F086C00E941D652FEFE4
+:10F9D00030E040E050E06EE27AE086EB9EE078CFE7
+:10F9E000D530D9F520916F022223B9F0A7019601F5
+:10F9F0000E947EB28BE592E025303105410551052C
+:10FA000021F46ADC9C014EE303C066DC9C0140E209
+:10FA100061EB7EE08C2F0E942D64112309F45BC002
+:10FA20006091350D7091360D8091370D9091380DA4
+:10FA3000A70196010E947EB225303105410551058E
+:10FA400009F049C00E941D6527EE33E04AE050E00E
+:10FA50006BE572E08CEA9EE03BCFD630E1F5209179
+:10FA60006F02222399F0A70196010E947EB22630F0
+:10FA700031054105510519F420E24EE302C020E2B0
+:10FA800040E26CE97EE08C2F0E94F663112319F1AD
+:10FA90006091350D7091360D8091370D9091380D34
+:10FAA000A70196010E947EB226303105410551051D
+:10FAB00091F40E941D6587E99EE0DF91CF911F912F
+:10FAC0000F91FF90EF90DF90CF90BF90AF909F90FD
+:10FAD0008F900C94333E8091350D9091360DA0910E
+:10FAE000370DB091380D8397A105B10540F0809294
+:10FAF000350D9092360DA092370DB092380D609171
+:10FB0000350D7091360D8091370D9091380DA7010C
+:10FB100096010E947EB280913E0D90E00396422FA6
+:10FB200050E0841795074CF48DEF820F80933E0DC3
+:10FB300000936F02DCEFD20FCFEFCF5FDF5FC430F7
+:10FB400008F40ECEDF91CF911F910F91FF90EF90AF
+:10FB5000DF90CF90BF90AF909F908F900895FC0161
+:10FB6000808191818436910524F164E670E00E94E1
+:10FB70006BB2CB012AE030E0B9010E946BB2805D2C
+:10FB80008093090D80819181B9010E946BB2CB01F4
+:10FB9000B9010E946BB2805D80930A0D80819181D2
+:10FBA000B9010E946BB2805D80930B0D10920C0D19
+:10FBB00023C08A309105BCF02AE030E0B9010E94F0
+:10FBC0006BB2CB01B9010E946BB2805D8093090DCD
+:10FBD00080819181B9010E946BB2805D80930A0D92
+:10FBE00010920B0D09C06AE070E00E946BB2805D5C
+:10FBF0008093090D10920A0D89E09DE00895CF923F
+:10FC0000EF920F93EFE1CE2EF0E2EF2E0FE02EE019
+:10FC100045E066E280E49DE00E9459290F91EF9053
+:10FC2000CF900895CF93DF93FC016491EC0121966E
+:10FC3000662331F080E49DE00E94362ACE01F4CFA5
+:10FC4000DF91CF9108950F931F93CF93DF938C0192
+:10FC5000EB0141E061E080E49DE00E947E28C80164
+:10FC6000E1DF6AE380E49DE00E94BFADFE01019008
+:10FC70000020E9F76C2F6E1B6C5E41E080E49DE094
+:10FC80000E947E28BE0180E49DE0DF91CF911F910C
+:10FC90000F910C94BEADCF92DF92EF92FF920F9333
+:10FCA0001F938091350D9091360DA091370DB09135
+:10FCB000380D0097A105B10509F442C0BC018827A1
+:10FCC00077FD8095982F0E9442AF2091110D3091C1
+:10FCD000120D4091130D5091140D0E9475B19B01AE
+:10FCE000AC016091500A7091510A8091520A909132
+:10FCF000530A0E94C7AD6093500A7093510A8093D3
+:10FD0000520A9093530A1092350D1092360D1092AC
+:10FD1000370D1092380DA0E3CA2EAAE0DA2EE12C9E
+:10FD2000F12C00E81FE320E53AE04CE45AE068E4F7
+:10FD30007AE084E49AE00E94779A81E080936F02EF
+:10FD400080916F02882339F080E59AE0A7D9BC0141
+:10FD500089EB9FE078DF80913F0D82FF0EC021E0AC
+:10FD600040E050E0BA018AEF98E61F910F91FF90B2
+:10FD7000EF90DF90CF900C9451651F910F91FF9001
+:10FD8000EF90DF90CF900895CF93DF931F921F9253
+:10FD9000CDB7DEB78091350D9091360DA091370D1E
+:10FDA000B091380DB7FF08C01092350D1092360D86
+:10FDB0001092370D1092380D80911D0D90911E0DEF
+:10FDC000A0911F0DB091200D4091350D5091360D31
+:10FDD0006091370D7091380D84179507A607B70706
+:10FDE00044F48093350D9093360DA093370DB09366
+:10FDF000380D80916F028823A9F08091210D909198
+:10FE0000220D2091350D3091360D820F931F9A836C
+:10FE10008983CE01019660DABC018091270D909113
+:10FE2000280D11DF80913F0D82FF1DC0E091250D4F
+:10FE3000F091260D8091210D9091220D2091350D8C
+:10FE40003091360D820F931F918380834091290D4D
+:10FE500050912A0D60E070E021E080912B0D90918F
+:10FE60002C0D0E9451650F900F90DF91CF91089556
+:10FE70004F925F926F927F928F929F92AF92BF92BA
+:10FE8000CF92DF92EF92FF920F931F93CF93DF9366
+:10FE90004C015B017A018091350D9091360DA09156
+:10FEA000370DB091380D892B8A2B8B2B09F47BC031
+:10FEB0000E945F40E501CC0FDD1FCC0FDD1F8E01DE
+:10FEC0000C5B154F6091350D7091360D882777FDCD
+:10FED0008095982F0E9442AF2091110D3091120D04
+:10FEE0004091130D5091140D0E9475B1F8012081BD
+:10FEF0003181428153810E94C7AD2B013C0120E03A
+:10FF000030E0A9010E94A0AEF80187FD05C0408243
+:10FF100051826282738204C0108211821282138223
+:10FF2000B701882777FD8095982F0E9442AF6B011B
+:10FF30007C018E010C5B154F9B01AC01F8016081C7
+:10FF40007181828193810E94A3B018162CF4F8016C
+:10FF5000C082D182E282F3821092350D1092360D6A
+:10FF60001092370D1092380DCA55DA4F20E030E06C
+:10FF700040E752E4688179818A819B810E94A7AE23
+:10FF8000D0E3CD2EDAE0DD2E7B018C0120E53AE0D6
+:10FF90004CE45AE068E47AE084E49AE00E94779ABC
+:10FFA00081E080936F0280916F02882359F0C50130
+:10FFB000880F991F880F991F8C5B954F6FD8BC01D4
+:10FFC000C40141DE80913F0D82FF18C021E040E076
+:10FFD00050E0BA018AEF98E6DF91CF911F910F911F
+:10FFE000FF90EF90DF90CF90BF90AF909F908F9059
+:10FFF0007F906F905F904F900C945165DF91CF91FF
+:020000021000EC
+:100000001F910F91FF90EF90DF90CF90BF90AF9036
+:100010009F908F907F906F905F904F90089546EDE6
+:1000200050E060E070E083EB9FE022CF46EC50E0D0
+:1000300061E070E085EB9FE01BCF49EC50E062E0AF
+:1000400070E087EB9FE014CF8F929F92AF92BF92A8
+:10005000CF92DF92EF92FF920F931F93CF93DF9394
+:10006000CDB7DEB728970FB6F894DEBF0FBECDBF71
+:1000700080912F0D882321F0815080932F0D03C094
+:1000800081E080936F0280916F02882309F456C249
+:1000900080919A0D8F5F80939A0D8E3129F40E9482
+:1000A000BC6A10929A0D0EC06AE00E944AB2911189
+:1000B00009C020E044E064E180E49DE00E947E29E4
+:1000C0000E94806420E030E040E05FE360914008FF
+:1000D0007091410880914208909143080E94C7ADF9
+:1000E0000E940FAF78876F8360914808709149082C
+:1000F000882777FD8095982F0E9442AF20E030E05E
+:1001000040E05FE30E94C7AD0E940FAF7E836D8326
+:1001100040E060E080E49DE00E947E2862E080E4B0
+:100120009DE00E94BFADCE010796D6D8BC0180E409
+:100130009DE00E94BEAD6FE280E49DE00E94BFADF5
+:10014000CE0105960CDDBC0180E49DE00E94BEADB1
+:1001500084E99EE067DD60E973E080E49DE00E9451
+:10016000BEAD40E06AE080E49DE00E947E2862EA45
+:1001700075E080E49DE00E94BEAD2CEA35EC47E2DC
+:1001800057E360914C0A70914D0A80914E0A90910C
+:100190004F0A0E94C7AD69837A838B839C83CE010B
+:1001A00001960E949A78BC0180E49DE00E94BEAD59
+:1001B00060E280E49DE00E94BFAD41E060E080E449
+:1001C0009DE00E947E2820E030E040E05FE3609107
+:1001D0003A0870913B0880913C0890913D080E943C
+:1001E000C7AD0E940FAF78876F836091460870910A
+:1001F0004708882777FD8095982F0E9442AF20E01E
+:1002000030E040E05FE30E94C7AD0E940FAF7E8305
+:100210006D8360E080E49DE00E94BFADCE01079653
+:100220005BD8BC0180E49DE00E94BEAD6FE280E43B
+:100230009DE00E94BFADCE01059691DCBC0180E43B
+:100240009DE00E94BEAD81E99EE0ECDC60E973E0D8
+:1002500080E49DE00E94BEAD41E06AE080E49DE064
+:100260000E947E2860E973E080E49DE00E94BEADBC
+:1002700066E080E49DE00E94BFAD8DE592E02CD861
+:10028000BC0180E49DE00E94BEAD65E280E49DE09B
+:100290000E94BFAD6DE873E080E49DE00E94BEADBA
+:1002A00042E060E080E49DE00E947E288EE89EE0CF
+:1002B000B9DC80915F0A8823A9F18091480C8823DA
+:1002C00019F18091F20C9091F30CA091F40CB09183
+:1002D000F50C0097A105B105B9F0BC01CD016D5930
+:1002E0007F4F8F4F9F4F24E630E040E050E00E9468
+:1002F0007EB26091FA0C7091FB0C8091FC0C909195
+:10030000FD0C0E947EB201C020E030E03A832983D8
+:10031000CE0101960E946C79BC0180E49DE00E94B0
+:10032000BEAD03C08AE89EE07DDC65E280E49DE02E
+:100330000E94BFAD6CE873E080E49DE00E94BEAD1A
+:1003400042E06AE080E49DE00E947E2860E973E07C
+:1003500080E49DE00E94BEAD67E080E49DE00E94E5
+:10036000BFAD8091520890915308A0915408B0916C
+:100370005508892B8A2B8B2BE1F10E9431A920E6AD
+:10038000C22E2AEED22EE12CF12CA70196010E945A
+:100390007EB249015A0160915208709153088091D0
+:1003A000540890915508A70196010E947EB2C4019D
+:1003B000821B930B6CE370E00E9457B2182F698385
+:1003C000CE0101960E943678BC0180E49DE00E9437
+:1003D000BEAD6AE380E49DE00E94BFAD1983CE010B
+:1003E00001960E943678BC0180E49DE00E94BEAD7B
+:1003F00003C084E89EE016DC60E973E080E49DE0E1
+:100400000E94BEAD43E060E080E49DE00E947E2853
+:100410006EE773E082E792E00E942EB6892B09F026
+:1004200074C06EE67AE085E59DE00E942EB6892BC9
+:10043000D1F0E5E5FDE0DF010D900020E9F7AD0129
+:100440004150510945555D4060E070E0CF010E9488
+:10045000FEB56EE67AE085E59DE00E9437B6109223
+:100460008B0D10928A0DEEE6FAE001900020E9F77C
+:10047000EF56FA40759708F445C000918A0D109127
+:100480008B0DC12CD12C80918A0D90918B0D9801F0
+:10049000281B390B2431310534F0019690938B0DD4
+:1004A00080938A0D38C0C114D104B9F7F801E35A1A
+:1004B000F54F7F019189602F681B43E0911115C0B2
+:1004C00080E49DE00E947E28D70150966C9180E4E4
+:1004D0009DE00E94BFAD10928B0D10928A0D00E03E
+:1004E00010E0CC24C394D12CCECF80E49DE00E94B8
+:1004F0007E28F701608980E49DE00E94BFAD0F5F18
+:100500001F4FC1CF65E57DE002C062E772E080E485
+:100510009DE00E94BEAD02E712E0D8018D918D01F1
+:1005200080322CF460E280E49DE00E94BFADB2E036
+:1005300006381B0791F78AE080932F0D80913F0DBD
+:1005400082FB882780F990912E0D992399F0909144
+:100550002D0D992339F0811119C010922D0D109293
+:100560002E0D14C0882391F00E941D6581E08093B8
+:100570002D0D0CC0882351F021E040E050E0BA017D
+:100580008CE692E70E9451650E94BC6A80915D02F0
+:1005900090915E022091350D3091360D8436910593
+:1005A00034F4820F931F853691054CF416C08436BF
+:1005B000910599F0820F931F8436910574F410927F
+:1005C000350D1092360D1092370D1092380D84E6CD
+:1005D00090E090935E0280935D0220915D023091E5
+:1005E0005E028091350D9091360D2436310569F407
+:1005F0008B3091051CF0865A9F4F09C0863FEFEF64
+:100600009E078CF482599F4F02C0820F931F9093D4
+:100610005E0280935D021092350D1092360D10929D
+:10062000370D1092380D80915D0290915E028A30F4
+:1006300091051CF48AE090E005C0883E934034F0B8
+:1006400087EE93E090935E0280935D0228960FB64A
+:10065000F894DEBF0FBECDBFDF91CF911F910F91F8
+:10066000FF90EF90DF90CF90BF90AF909F908F90D2
+:100670000895CF93DF93CFE2DEE0FE0184918823DB
+:1006800041F09091C00095FFFCCF8093C600319659
+:10069000F5CFE4E0F4E18491882341F09091C0002B
+:1006A00095FFFCCF8093C6003196F5CF8091C000B6
+:1006B00085FFFCCF8AE08093C600FE018491EFE2C3
+:1006C000FEE0882349F09091C00095FFFCCF809315
+:1006D000C60031968491F5CF4091A1135091A21399
+:1006E0006091A3137091A4138CEF93E10E949C3D41
+:1006F0004091A5135091A6136091A7137091A81370
+:1007000089EF93E10E949C3D4091A9135091AA1357
+:100710006091AB137091AC1386EF93E10E949C3D06
+:100720004091AD135091AE136091AF137091B0131F
+:1007300083EF93E10E949C3D8091C00085FFFCCF38
+:100740008AE08093C600FE018491EFE2FEE08823F8
+:1007500049F09091C00095FFFCCF8093C600319680
+:100760008491F5CFE9EDF3E18491882341F09091F4
+:10077000C00095FFFCCF8093C6003196F5CF8091E5
+:10078000C00085FFFCCF8AE08093C600FE01849103
+:10079000EFE2FEE0882349F09091C00095FFFCCF86
+:1007A0008093C60031968491F5CF4091B11350915A
+:1007B000B2136091B3137091B41380ED93E10E9472
+:1007C0009C3D4091B5135091B6136091B713709151
+:1007D000B8138DEC93E10E949C3D4091B913509168
+:1007E000BA136091BB137091BC138AEC93E10E9421
+:1007F0009C3D4091BD135091BE136091BF13709109
+:10080000C01387EC93E10E949C3D8091C00085FF5E
+:10081000FCCF8AE08093C600FE018491EFE2FEE007
+:10082000882349F09091C00095FFFCCF8093C600CB
+:1008300031968491F5CFE9EAF3E18491882341F080
+:100840009091C00095FFFCCF8093C6003196F5CF04
+:100850008091C00085FFFCCF8AE08093C600FE0136
+:100860008491EFE2FEE0882349F09091C00095FF6B
+:10087000FCCF8093C60031968491F5CF40919113BF
+:1008800050919213609193137091941380EA93E1C5
+:100890000E94AE3D4091951350919613609197132D
+:1008A000709198138DE993E10E94AE3D40919913A8
+:1008B00050919A1360919B1370919C138AE993E174
+:1008C0000E94AE3D40919D1350919E1360919F13E5
+:1008D0007091A01387E993E10E94AE3D8091C00022
+:1008E00085FFFCCF8AE08093C600FE018491EFE291
+:1008F000FEE0882349F09091C00095FFFCCF8093E3
+:10090000C60031968491F5CFE2E6F3E18491882325
+:1009100041F09091C00095FFFCCF8093C6003196C6
+:10092000F5CF8091C00085FFFCCF8AE08093C600A0
+:10093000FE018491EFE2FEE0882349F09091C0002F
+:1009400095FFFCCF8093C60031968491F5CF4091FE
+:10095000891350918A1360918B1370918C1389E5E0
+:1009600093E10E949C3D40918513509186136091C4
+:1009700087137091881386E593E10E949C3D8091D6
+:10098000C00085FFFCCF8AE08093C600FE01849101
+:10099000EFE2FEE0882349F09091C00095FFFCCF84
+:1009A0008093C60031968491F5CFE3EAF2E1849119
+:1009B000882341F09091C00095FFFCCF8093C60042
+:1009C0003196F5CF8091C00085FFFCCF8AE08093FF
+:1009D000C600FE018491EFE2FEE0882349F0909189
+:1009E000C00095FFFCCF8093C60031968491F5CF6F
+:1009F00040918D1350918E1360918F1370919013CD
+:100A00008AE992E10E949C3D4091751350917613C2
+:100A1000609177137091781387E992E10E949C3D71
+:100A20004091C1135091C2136091C3137091C413CC
+:100A300084E992E10E94AE3D40918113509182136E
+:100A4000609183137091841381E992E10E949C3D2F
+:100A500040917D1350917E1360917F1370918013AC
+:100A60008EE892E10E949C3D4091791350917A1357
+:100A700060917B1370917C138BE892E10E949C3D06
+:100A80008091C00085FFFCCF8AE08093C600FE0104
+:100A90008491EFE2FEE0882349F09091C00095FF39
+:100AA000FCCF8093C60031968491F5CFE9E7F2E15F
+:100AB0008491882341F09091C00095FFFCCF8093F2
+:100AC000C6003196F5CF8091C00085FFFCCF8AE04B
+:100AD0008093C600FE018491EFE2FEE0882349F096
+:100AE0009091C00095FFFCCF8093C6003196849111
+:100AF000F5CF4091380A5091390A60913A0A7091C5
+:100B00003B0A80E792E10E949C3D40913C0A509153
+:100B10003D0A60913E0A70913F0A8DE692E10E9483
+:100B20009C3D4091400A5091410A6091420A709167
+:100B3000430A8AE692E10E949C3D8091C00085FFB5
+:100B4000FCCF8AE08093C600FE018491EFE2FEE0D4
+:100B5000882349F09091C00095FFFCCF8093C60098
+:100B600031968491F5CFECE5F2E18491882341F050
+:100B70009091C00095FFFCCF8093C6003196F5CFD1
+:100B80008091C00085FFFCCF8AE08093C600FE0103
+:100B90008491EFE2FEE0882349F09091C00095FF38
+:100BA000FCCF8093C60031968491F5CF4091180216
+:100BB0005091190260911A0270911B0282E592E134
+:100BC0000E949C3D60911402709115028091160262
+:100BD000909117020E94BD27AB01BC018FE492E106
+:100BE0000E949C3D6091100270911102809112024E
+:100BF000909113020E94C927AB01BC018CE492E1E1
+:100C00000E949C3D8091C00085FFFCCF8AE08093CC
+:100C1000C600FE018491EFE2FEE0882349F0909146
+:100C2000C00095FFFCCF8093C60031968491F5CF2C
+:100C3000E8E1F2E18491882341F09091C00095FFB2
+:100C4000FCCF8093C6003196F5CF8091C00085FF20
+:100C5000FCCF8AE08093C600FE018491EFE2FEE0C3
+:100C6000882349F09091C00095FFFCCF8093C60087
+:100C700031968491F5CF40913302509134026091C6
+:100C80003502709136028EE092E10E949C3D20E098
+:100C900030E040E752E460912B0270912C02809189
+:100CA0002D0290912E020E9475B1AB01BC018BE028
+:100CB00092E10E949C3D4091280A5091290A60913E
+:100CC0002A0A70912B0A88E092E10E949C3D809153
+:100CD000C00085FFFCCF8AE08093C600FE018491AE
+:100CE000EFE2FEE0882349F09091C00095FFFCCF31
+:100CF0008093C60031968491F5CFECEDF1E18491BB
+:100D0000882341F09091C00095FFFCCF8093C600EE
+:100D10003196F5CF8091C00085FFFCCF8AE08093AB
+:100D2000C600FE018491EFE2FEE0882349F0909135
+:100D3000C00095FFFCCF8093C60031968491F5CF1B
+:100D40004091240A5091250A6091260A7091270A41
+:100D500082ED91E10E949C3D20E030E040E752E4CA
+:100D600060912702709128028091290290912A02B5
+:100D70000E9475B1AB01BC018FEC91E10E949C3DDA
+:100D80008091C00085FFFCCF8AE08093C600FE0101
+:100D90008491EFE2FEE0882349F09091C00095FF36
+:100DA000FCCF8093C60031968491F5CFE5E7F1E161
+:100DB0008491882341F09091C00095FFFCCF8093EF
+:100DC000C6003196F5CF8091C00085FFFCCF8AE048
+:100DD0008093C600FE018491EFE2FEE0882349F093
+:100DE0009091C00095FFFCCF8093C600319684910E
+:100DF000F5CF40912D0A50E060E070E08BE691E184
+:100E00000E94AE3D8091C00085FFFCCF8AE08093B8
+:100E1000C600FE018491EFE2FEE0882349F0909144
+:100E2000C00095FFFCCF8093C60031968491F5CF2A
+:100E30008091540A8823A1F1E8E5F1E184918823A7
+:100E400041F09091C00095FFFCCF8093C600319691
+:100E5000F5CF8091C00085FFFCCF8AE08093C6006B
+:100E6000FE01C491EFE2FEE0CC2349F08091C00086
+:100E700085FFFCCFC093C6003196C491F5CF409159
+:100E800053025091540260915502709156028EE4C3
+:100E900091E10E949C3D8091C00085FFFCCF11C074
+:100EA000E2E3F1E18491882341F09091C00095FF45
+:100EB000FCCF8093C6003196F5CF8091C00085FFAE
+:100EC000FCCF8AE08093C600DF91CF910895AF9266
+:100ED000BF92CF92DF92EF92FF920F931F93CF9327
+:100EE000DF93CDB7DEB7E0970FB6F894DEBF0FBE45
+:100EF000CDBF80E1EFEEF2E0DE01919601900D9220
+:100F00008A95E1F780E1EFEFF2E0DE015196019082
+:100F10000D928A95E1F780E1EFE0F3E0DE011196B2
+:100F200001900D928A95E1F76E0181E2C80ED11C05
+:100F300081EAE82E83E1F82E8E010F5E1F4F61EBF0
+:100F400073E1AE014F5F5F4F91E9A92E93E1B92E96
+:100F500020E030E0F60181919191A191B1916F0172
+:100F6000F70181939193A193B1937F01F80181914E
+:100F70009191A191B1918F01FB0181939193A193E3
+:100F8000B193BF01FA0181919191A191B191AF010A
+:100F9000F50181939193A193B1935F012F5F3F4F2F
+:100FA00024303105B9F60E9410A580E090E8ABE34B
+:100FB000B5E48093891390938A13A0938B13B09315
+:100FC0008C138093851390938613A0938713B0930B
+:100FD000881310928D1310928E1310928F1310920B
+:100FE000901380E29EE4A0E0B0E08093C113909360
+:100FF000C213A093C313B093C4131092751310922D
+:101000007613109277131092781380E090E0A0EAA4
+:10101000B1E48093811390938213A0938313B093D0
+:1010200084138DEC9CECACECBEE380937D13909329
+:101030007E13A0937F13B093801380E090E0A0EA2A
+:10104000B0E48093791390937A13A0937B13B093B9
+:101050007C131092400A1092410A1092420A109298
+:10106000430A10923C0A10923D0A10923E0A1092D6
+:101070003F0A1092380A1092390A10923A0A1092D6
+:101080003B0A8CED90E09093980D8093970D82E34E
+:1010900090E09093960D8093950D8FEF90E0909354
+:1010A000940D8093930D2DE131E03093920D2093B8
+:1010B000910D24E630E03093900D20938F0D9093A6
+:1010C0008E0D80938D0D83E393E3ABE4B1E48093C5
+:1010D000180290931902A0931A02B0931B026FE1B9
+:1010E00075E88BE89FE30E94B72760931402709322
+:1010F000150280931602909317026AE979E985E157
+:1011000092E40E94C32760931002709311028093AF
+:101110001202909313020E94251E80E090E0A0E846
+:10112000BFE380930C0290930D02A0930E02B09344
+:101130000F0210922D0A80E090E0A0E4B0E48093CA
+:10114000330290933402A0933502B093360240E00C
+:1011500050E064E372E440932B0250932C026093BE
+:101160002D0270932E021092280A1092290A1092D2
+:101170002A0A10922B0A1092240A1092250A109221
+:10118000260A1092270A40E050E060E071E44093A4
+:101190002702509328026093290270932A0210922A
+:1011A000540A8093530290935402A0935502B09333
+:1011B00056020E94A74AEFE2FEE08491882341F0A4
+:1011C0009091C00095FFFCCF8093C6003196F5CF7B
+:1011D000E0E1F1E18491882341F09091C00095FF16
+:1011E000FCCF8093C6003196F5CF8091C00085FF7B
+:1011F000FCCF8AE08093C600E0960FB6F894DEBF7D
+:101200000FBECDBFDF91CF911F910F91FF90EF9057
+:10121000DF90CF90BF90AF9008951F920F920FB6BE
+:101220000F9211240BB60F922F933F934F935F931E
+:101230006F938F939F93EF93FF936091C6002091DC
+:101240001D0E30911E0EC90101968F77992740918E
+:101250001F0E5091200E8417950741F0F901E356B7
+:10126000F24F608390931E0E80931D0EFF91EF91BD
+:101270009F918F916F915F914F913F912F910F901F
+:101280000BBE0F900FBE0F901F9018959A01AB01E7
+:10129000211581EE38074105510549F182E080931F
+:1012A000C00060E079E08DE390E00E94A0B22150A0
+:1012B000310941095109CA01B90122E030E040E099
+:1012C00050E00E94A0B23093C5002093C4008091EA
+:1012D000C10080618093C1008091C10088608093CB
+:1012E000C1008091C10080688093C1000895109270
+:1012F000C00020E130E0E7CF20911F0E3091200E9A
+:1013000080911D0E90911E0E8217930771F0F901C6
+:10131000E356F24F80812F5F3F4F2F773327309373
+:10132000200E20931F0E90E008958FEF9FEF0895F9
+:1013300080911F0E9091200E90931E0E80931D0E93
+:1013400008954F925F926F927F928F929F92AF9289
+:10135000BF92CF92DF92EF92FF920F931F93CF93A2
+:10136000DF93CDB7DEB7A0970FB6F894DEBF0FBE00
+:10137000CDBF5C014115510561057105E9F420E01F
+:1013800030E040E350E060E070E0A0960FB6F894E3
+:10139000DEBF0FBECDBFDF91CF911F910F91FF90A8
+:1013A000EF90DF90CF90BF90AF909F908F907F9005
+:1013B0006F905F904F905BC08E010F5F1F4FC12CED
+:1013C000D12C76014801422E512C612C712C8FEFCB
+:1013D000C81AD80AE80AF80ACB01BA01A301920197
+:1013E0000E947EB2CA01F80161938F01A901BC017C
+:1013F000411551056105710551F7F1E0CF1AD1088A
+:10140000E108F108F401EC0DFD1D80818A3010F433
+:1014100040E301C047E3480F552747FD5095652F2E
+:10142000752F20E030E0C50122D081E0C81AD10834
+:10143000E108F108EFEFCE16DE06EE06FE0611F724
+:10144000A0960FB6F894DEBF0FBECDBFDF91CF914F
+:101450001F910F91FF90EF90DF90CF90BF90AF90D2
+:101460009F908F907F906F905F904F90089521157F
+:10147000310539F48091C00085FFFCCF4093C60050
+:1014800008952A30310509F41CC05BCFCF93DF9358
+:10149000EC0120E030E04DE050E060E070E0E7DF9C
+:1014A00020E030E04AE050E060E070E0CE01DF9103
+:1014B000CF91DDCF9A01AB01662757FD6095762F5E
+:1014C000D6CFCF92DF92EF92FF92CF93DF93EC01D2
+:1014D0006A017B0177FF0FC020E030E04DE250E071
+:1014E00060E070E0C4DFF094E094D094C094C11C3C
+:1014F000D11CE11CF11C2AE0B701A601CE01DF914D
+:10150000CF91FF90EF90DF90CF901BCF2115310549
+:1015100039F48091C00085FFFCCF4093C600089548
+:1015200010CF9A01462F50E060E070E0EFCFCF93EC
+:10153000DF93EC019A01AB0160E070E0E7DFCE01E0
+:10154000DF91CF91A3CF8F929F92AF92BF92CF9214
+:10155000DF92EF92FF921F93CF93DF93EC016A012A
+:101560007B01122F20E030E0A901C701B6010E94E3
+:10157000A0AE87FF0CC020E030E04DE250E060E01C
+:1015800070E0CE0174DFF7FAF094F7F8F094B12C24
+:1015900060E070E080E09FE3B11641F020E030E0D1
+:1015A00040E251E40E94A7AEB394F6CF9B01AC0198
+:1015B000C701B6010E94C7AD6B017C010E9414AF48
+:1015C0004B015C010E9440AF9B01AC01C701B60119
+:1015D0000E94C6AD6B017C012AE0B501A401CE01D9
+:1015E000B0DE112361F0EFE5F3E08191882339F05B
+:1015F0009091C00095FFFCCF8093C600F6CF1123D9
+:1016000019F120E030E040E251E4C701B6010E9448
+:1016100075B16B017C010E940FAF4B01AA2497FCAE
+:10162000A094BA2CB501A401CE014BDFC501B401D1
+:101630000E9442AF9B01AC01C701B6010E94C6AD3A
+:101640006B017C011150DBCFDF91CF911F91FF9097
+:10165000EF90DF90CF90BF90AF909F908F900895C4
+:1016600072CFCF93DF931F92CDB7DEB7698341E08E
+:1016700050E0BE016F5F7F4F04960E9481160F906D
+:10168000DF91CF910895FB0101900020E9F7AF01B0
+:1016900041505109461B570B04960C9481168091BA
+:1016A000390E811109C08091380E811105C08091D9
+:1016B000370E811101C00895EFE2FEE08491882386
+:1016C00041F09091C00095FFFCCF8093C600319609
+:1016D000F5CFEFE6F4E18491882341F09091C000CA
+:1016E00095FFFCCF8093C6003196F5CF8091390EDF
+:1016F0008823F1F060913A0E70913B0E80913C0E80
+:1017000090913D0E0E9442AF2091A1133091A213FF
+:101710004091A3135091A4130E94A7AEAB01BC014A
+:101720008BE694E10E949C3D8BE594E10E9400765B
+:101730008091380E8823F1F060913E0E70913F0E3B
+:101740008091400E9091410E0E9442AF2091A513CE
+:101750003091A6134091A7135091A8130E94A7AEF1
+:10176000AB01BC0187E594E10E949C3D87E494E1D4
+:101770000E9400768091370E8823F1F06091420E2E
+:101780007091430E8091440E9091450E0E9442AF9D
+:101790002091A9133091AA134091AB135091AC132F
+:1017A0000E94A7AEAB01BC0183E494E10E949C3D82
+:1017B00083E394E10E9400768091C00085FFFCCF16
+:1017C0008AE08093C6001092390E1092380E109263
+:1017D000370E08951092390E1092380E1092370E6F
+:1017E000089580939B020895EFE6F0E08081826087
+:1017F000808308951F920F920FB60F9211240BB69B
+:101800000F920F931F932F933F934F935F936F9379
+:101810007F938F939F93AF93BF93EF93FF938091A9
+:101820006A0E90916B0E892B09F084C190916D0E18
+:1018300080916C0E981771F0E0916C0E8DE4E89F2A
+:10184000F0011124E259F14FDF01A45BBF4F81E0A9
+:101850008C9302C0E0E0F0E0F0936B0EE0936A0E30
+:10186000309709F461C1DF01A45BBF4F81E08C9325
+:1018700010924D0E10924E0E10924F0E1092500E6E
+:1018800060AD71AD61349CE9790728F461329EE462
+:10189000790748F002C060E47CE976956795769513
+:1018A000679584E007C0613197E2790730F076955B
+:1018B000679582E080934A0E07C080934A0E60329B
+:1018C000710510F460E270E060527109611588E002
+:1018D0007807D0F0872F9927880F991F880F991FB5
+:1018E0008258974EFC01329645915491AA27659FE4
+:1018F0009001649F210D3A1F06942A1F3A1F11245C
+:10190000FC01859194911DC0CB01969587958C7FA4
+:1019100082589B4EFC01459154910296FC018591A1
+:101920009491FB01E770FF278E9F90018F9F300DF0
+:101930009E9F300D1124E3E036952795EA95E1F757
+:10194000CA01821B930B8436910598F4EEEBF5E007
+:101950008191882339F09091C00095FFFCCF80934E
+:10196000C600F6CF4AE050E08CE99DE0E0DD84E679
+:1019700090E09093490E8093480E80914A0E9927EB
+:1019800087FD90959093470E8093460EE0916A0EE6
+:10199000F0916B0E64AD75AD70934C0E60934B0E71
+:1019A00061349CE9790728F461328EE4780748F0C5
+:1019B00002C060E47CE9769567957695679584E04A
+:1019C00007C0613197E2790730F07695679582E03C
+:1019D00080934A0E08C081E080934A0E6032710500
+:1019E00010F460E270E060527109611588E07807D8
+:1019F000E0F0872F9927880F991F880F991F825829
+:101A0000974EFC01329625913491AA27639FA0013D
+:101A1000629F410D5A1F06944A1F5A1F1124FC0150
+:101A200025913491241B350B1EC0CB0196958795CB
+:101A30008C7F82589B4EFC01259134910296FC01CB
+:101A400045915491FB01E770FF274E9FC0014F9FC6
+:101A5000900D5E9F900D1124F3E096958795FA9571
+:101A6000E1F7281B390B2436310598F4EEEBF5E04D
+:101A70008191882339F09091C00095FFFCCF80932D
+:101A8000C600F6CF4AE050E08CE99DE050DD24E648
+:101A900030E0C901A0E0B0E08093510E9093520E67
+:101AA000A093530EB093540E309389002093880076
+:101AB000E0916A0EF0916B0E80899189A289B389B9
+:101AC000B695A79597958795B095A0959095819592
+:101AD0009F4FAF4FBF4F8093650E9093660EA093BC
+:101AE000670EB093680E8093610E9093620EA09380
+:101AF000630EB093640E80935D0E90935E0EA09380
+:101B00005F0EB093600E8093590E90935A0EA0937F
+:101B10005B0EB0935C0E1092550E1092560E109202
+:101B2000570E1092580E06C080ED97E090938900F2
+:101B300080938800E0916A0EF0916B0E309709F463
+:101B400087C580A18093690E9FB780FF09C0F89474
+:101B500080910B018D7F80930B019FBF8FEF08C099
+:101B6000F89480910B01826080930B019FBF81E00C
+:101B7000809397028091690E9FB781FF09C0F89406
+:101B800080910B018E7F80930B019FBF8FEF08C068
+:101B9000F89480910B01816080930B019FBF81E0DD
+:101BA000809398022091690E30919B0220FF3BC0E8
+:101BB000332309F472C01E9902C080E031C08091C5
+:101BC000360E882361F1E0916A0EF0916B0E8081F0
+:101BD0009181A281B381181619061A061B06FCF41E
+:101BE0008091210E9091220EA091230EB091240E8F
+:101BF00080933A0E90933B0EA0933C0EB0933D0E13
+:101C000081E08093390E80899189A289B38980937C
+:101C1000550E9093560EA093570EB093580E81E038
+:101C20008093360E3AC03323C1F140B151E042FBFC
+:101C3000442740F9452779F18091350E882359F1E1
+:101C4000E0916A0EF0916B0E80819181A281B38147
+:101C5000181619061A061B06F4F48091210E9091AD
+:101C6000220EA091230EB091240E80933A0E9093F1
+:101C70003B0EA0933C0EB0933D0E5093390E8089DD
+:101C80009189A289B3898093550E9093560EA093A3
+:101C9000570EB093580E4093350E21FF3BC03323AF
+:101CA00009F471C01D9902C080E031C08091340EEA
+:101CB000882361F1E0916A0EF0916B0E8481958129
+:101CC000A681B781181619061A061B06FCF4809126
+:101CD000250E9091260EA091270EB091280E80938C
+:101CE0003E0E90933F0EA093400EB093410E81E0C4
+:101CF0008093380E80899189A289B3898093550E8B
+:101D00009093560EA093570EB093580E81E0809397
+:101D1000340E39C03323B9F130B141E0369531701A
+:101D2000342779F18091330E882359F1E0916A0EBE
+:101D3000F0916B0E84819581A681B78118161906E2
+:101D40001A061B06F4F48091250E9091260EA091A0
+:101D5000270EB091280E80933E0E90933F0EA093D5
+:101D6000400EB093410E4093380E80899189A2892C
+:101D7000B3898093550E9093560EA093570EB0934F
+:101D8000580E3093330E9FB722FF47C0F8948091CE
+:101D90000B018B7F80930B019FBF8FEF8093990284
+:101DA00080919B02882309F47DC01C9902C080E0C9
+:101DB00031C08091320E882361F1E0916A0EF0917A
+:101DC0006B0E80859185A285B385181619061A06B3
+:101DD0001B06FCF48091290E90912A0EA0912B0EE7
+:101DE000B0912C0E8093420E9093430EA093440E1C
+:101DF000B093450E81E08093370E80899189A28946
+:101E0000B3898093550E9093560EA093570EB093BE
+:101E1000580E81E08093320E45C0F89480910B01FA
+:101E2000846080930B019FBF31E0309399028091D1
+:101E30009B028823B9F126B12095221F2227221F59
+:101E400079F18091310E882359F1E0916A0EF09179
+:101E50006B0E80859185A285B385181619061A0622
+:101E60001B06F4F48091290E90912A0EA0912B0E5E
+:101E7000B0912C0E8093420E9093430EA093440E8B
+:101E8000B093450E3093370E80899189A289B3892A
+:101E90008093550E9093560EA093570EB093580E04
+:101EA0002093310E8091690E9FB783FF09C0F8948B
+:101EB00080910B01806480930B019FBF8FEF08C05E
+:101EC000F89480910B018F7B80930B019FBF81E081
+:101ED00080939A0220E080914A0E28170CF0ADC141
+:101EE0008091C00087FF19C03091C60040911D0E3F
+:101EF00050911E0ECA0101968F77992760911F0E8F
+:101F00007091200E8617970741F0FA01E356F24FC1
+:101F1000308390931E0E80931D0EE0916A0EF09117
+:101F20006B0E8091650E9091660EA091670EB09138
+:101F3000680E4081518162817381840F951FA61FB5
+:101F4000B71F8093650E9093660EA093670EB093B3
+:101F5000680E181619061A061B06CCF5409AE09171
+:101F60006A0EF0916B0E8091650E9091660EA091B5
+:101F7000670EB091680E4089518962897389841B0C
+:101F8000950BA60BB70B8093650E9093660EA093EE
+:101F9000670EB093680E409197028091210E909148
+:101FA000220EA091230EB091240E552747FD509587
+:101FB000652F752F840F951FA61FB71F8093210EC5
+:101FC0009093220EA093230EB093240E4098E0919C
+:101FD0006A0EF0916B0E8091610E9091620EA0914D
+:101FE000630EB091640E4481558166817781840FC0
+:101FF000951FA61FB71F8093610E9093620EA0934A
+:10200000630EB093640E181619061A061B06CCF55B
+:10201000419AE0916A0EF0916B0E8091610E909161
+:10202000620EA091630EB091640E4089518962895D
+:102030007389841B950BA60BB70B8093610E90934D
+:10204000620EA093630EB093640E4091980280914B
+:10205000250E9091260EA091270EB091280E55279F
+:1020600047FD5095652F752F840F951FA61FB71F2D
+:102070008093250E9093260EA093270EB093280EE2
+:102080004198E0916A0EF0916B0E80915D0E9091F7
+:102090005E0EA0915F0EB091600E40855185628505
+:1020A0007385840F951FA61FB71F80935D0E9093B5
+:1020B0005E0EA0935F0EB093600E181619061A06F6
+:1020C0001B06CCF5429AE0916A0EF0916B0E80915E
+:1020D0005D0E90915E0EA0915F0EB091600E4089F2
+:1020E000518962897389841B950BA60BB70B80936A
+:1020F0005D0E90935E0EA0935F0EB093600E4091C4
+:1021000099028091290E90912A0EA0912B0EB091E8
+:102110002C0E552747FD5095652F752F840F951F61
+:10212000A61FB71F8093290E90932A0EA0932B0E03
+:10213000B0932C0E4298E0916A0EF0916B0E809154
+:10214000590E90915A0EA0915B0EB0915C0E448591
+:10215000558566857785840F951FA61FB71F8093C9
+:10216000590E90935A0EA0935B0EB0935C0E181606
+:1021700019061A061B06CCF5439AE0916A0EF091F7
+:102180006B0E8091590E90915A0EA0915B0EB091FA
+:102190005C0E4089518962897389841B950BA60B5B
+:1021A000B70B8093590E90935A0EA0935B0EB09389
+:1021B0005C0E40919A0280912D0E90912E0EA0916E
+:1021C0002F0EB091300E552747FD5095652F752F76
+:1021D000840F951FA61FB71F80932D0E90932E0E70
+:1021E000A0932F0EB093300E43988091550E90918E
+:1021F000560EA091570EB091580E0196A11DB11D1B
+:102200008093550E9093560EA093570EB093580E90
+:102210004091550E5091560E6091570E7091580E88
+:10222000E0916A0EF0916B0E80899189A289B38941
+:10223000481759076A077B07B0F04091550E509137
+:10224000560E6091570E7091580EE0916A0EF09103
+:102250006B0E84899589A689B78984179507A60787
+:10226000B70718F4D9C02F5F36CE4091510E509168
+:10227000520E6091530E7091540E048D158D268D63
+:10228000378DAA27419FB12D529FC001629F900DAB
+:10229000619F800D911D429FB00D811D9A1F519F1E
+:1022A000B00D811D9A1F609FB00D811D9A1F509F18
+:1022B000B10D8A1F9A1FB6958A1F9A1F112444AD2B
+:1022C00055AD480F591F50934C0E40934B0E80ADA7
+:1022D00091ADA2ADB3AD60E070E084179507A6079D
+:1022E000B70720F490934C0E80934B0E60914B0EE9
+:1022F00070914C0E61349CE9790728F461328EE4C8
+:10230000780748F002C060E47CE976956795769599
+:10231000679584E007C0613197E2790730F07695E0
+:10232000679582E080934A0E08C081E080934A0E50
+:102330006032710510F460E270E06052710961155D
+:1023400088E07807E0F0872F9927880F991F880F7A
+:10235000991F8258974EFC01329625913491AA27F5
+:10236000639FA001629F410D5A1F06944A1F5A1F86
+:102370001124FC0125913491241B350B1EC0CB0187
+:10238000969587958C7F82589B4EFC0125913491C0
+:102390000296FC0145915491FB01E770FF274E9F87
+:1023A000C0014F9F900D5E9F900D112413E09695F4
+:1023B00087951A95E1F7281B390B2436310598F4D7
+:1023C000EEEBF5E08191882339F09091C00095FF04
+:1023D000FCCF8093C600F6CF4AE050E08CE99DE048
+:1023E000A6D824E630E030938900209388008091BD
+:1023F000510E9091520EA091530EB091540E820F37
+:10240000931FA11DB11D8093510E9093520EA09366
+:10241000530EB093540EF7C04091550E5091560E86
+:102420006091570E7091580E808D918DA28DB38D55
+:1024300084179507A607B70708F0D9C040914D0E3D
+:1024400050914E0E60914F0E7091500E048D158D6F
+:10245000268D378DAA27419FB12D529FC001629FC3
+:10246000900D619F800D911D429FB00D811D9A1F9F
+:10247000519FB00D811D9A1F609FB00D811D9A1F45
+:10248000509FB10D8A1F9A1FB6958A1F9A1F11245B
+:1024900020914B0E30914C0EE05CFF4F281739070E
+:1024A00018F42081318102C0281B390B8081918171
+:1024B000A281B381A90160E070E0481759076A075B
+:1024C0007B0708F49C0121349CE9390728F4213268
+:1024D0008EE4380748F002C020E43CE936952795A1
+:1024E0003695279584E007C0213197E2390730F00F
+:1024F0003695279582E080934A0E08C081E080934C
+:102500004A0E2032310510F420E230E0B901605269
+:102510007109611588E07807E0F0872F9927880F07
+:10252000991F880F991F8258974EFC01329625916A
+:102530003491AA27639FA001629F410D5A1F069400
+:102540004A1F5A1F1124FC0125913491241B350B7D
+:102550001EC0CB01969587958C7F82589B4EFC01BF
+:10256000259134910296FC0145915491FB01E7704D
+:10257000FF274E9FC0014F9F900D5E9F900D11242D
+:1025800043E0969587954A95E1F7281B390B243649
+:102590003105A0F4EEEBF5E08191882339F09091BC
+:1025A000C00095FFFCCF8093C600F6CF4AE050E014
+:1025B0008CE99DE00E94978A24E630E03093890000
+:1025C0002093880080914D0E90914E0EA0914F0E59
+:1025D000B091500E820F931FA11DB11D80934D0E1F
+:1025E00090934E0EA0934F0EB093500E0CC080915E
+:1025F000480E9091490E90938900809388008091B5
+:10260000460E80934A0E4091550E5091560E6091A1
+:10261000570E7091580EE0916A0EF0916B0E808902
+:102620009189A289B389481759076A077B0780F007
+:1026300010926B0E10926A0E90916D0E80916C0E3E
+:10264000981731F080916C0E8F5F8F7080936C0EB5
+:10265000FF91EF91BF91AF919F918F917F916F917A
+:102660005F914F913F912F911F910F910F900BBE52
+:102670000F900FBE0F901F90189590916D0E809146
+:102680006C0E981741F00E94721E80E00E9438493B
+:102690000E949C76F2CF0895CF93DF93EFB7F89422
+:1026A000EC0188819981AA81BB818093210E90934E
+:1026B000220EA093230EB093240EEB018881998102
+:1026C000AA81BB818093250E9093260EA093270E9E
+:1026D000B093280EEA0188819981AA81BB818093F9
+:1026E000290E90932A0EA0932B0EB0932C0EE90185
+:1026F00088819981AA81BB8180932D0E90932E0EA3
+:10270000A0932F0EB093300EEFBFDF91CF910895BD
+:102710002FB7F894FC0180819181A281B3818093CD
+:102720002D0E90932E0EA0932F0EB093300E2FBF30
+:1027300008952FB7F89494E0899FF0011124EF5D7C
+:10274000F14F60817181828193812FBF089595DF60
+:10275000179A1092350A169A1092360A159A109204
+:10276000370A149A089580916F008D7F80936F00CF
+:1027700090916D0E80916C0E981769F090916D0E8E
+:1027800080916C0E9817A1F380916C0E8F5F8F7003
+:1027900080936C0EEDCF10926B0E10926A0E8091AA
+:1027A0006F00826080936F000895813039F120F0CE
+:1027B000823009F445C0089517988091090182700C
+:1027C0002FB7662329F0F89490910B01926004C012
+:1027D000F89490910B019D7F90930B012FBF409A2D
+:1027E00040989FB7882329F0F89480910B0182606C
+:1027F00048C0F89480910B018D7F43C0169880915A
+:10280000090181702FB7662329F0F89490910B018C
+:10281000916004C0F89490910B019E7F90930B01FE
+:102820002FBF419A41989FB7882329F0F89480914F
+:102830000B01816026C0F89480910B018E7F21C02E
+:1028400015988091090184702FB7662329F0F894B8
+:1028500090910B01946004C0F89490910B019B7FC0
+:1028600090930B012FBF429A42989FB7882329F07B
+:10287000F89480910B01846004C0F89480910B015E
+:102880008B7F80930B019FBF0895DB0181110DC0E9
+:102890002FEF30E00E94C2B220ED37E040E050E080
+:1028A0000E94A0B2B9018CE21DC0813069F42FEF03
+:1028B00030E00E94C2B220ED37E040E050E00E94DC
+:1028C000A0B2B9018DE20EC0823071F42FEF30E07A
+:1028D0000E94C2B220ED37E040E050E00E94A0B27A
+:1028E000B9018EE20C9447A7089561E08CE20E9442
+:1028F00051A861E08DE20E9451A861E08EE20E9441
+:1029000051A860919C0270919D0280E0BEDF6091B1
+:102910009E0270919F0281E0B8DFA091A002B09169
+:10292000A1022FEF30E00E94C2B220ED37E040E07C
+:1029300050E00E94A0B2B9018EE20E9447A7E1E2F6
+:10294000F1E08081887F816080830895CF93C42FD8
+:1029500067FD20C0813061F028F0823079F083304B
+:1029600099F018C088E20E948AA8C7FF1DC02AC03B
+:1029700085E40E948AA8C7FF1AC024C084E40E948C
+:102980008AA8C7FF17C01EC081E40E948AA8C7FF9B
+:1029900014C018C0C7FD16C0813049F028F082303D
+:1029A00049F0833051F00EC06C2F89E208C06C2FC3
+:1029B00087E205C06C2F83E402C06C2F82E4CF91C4
+:1029C0000C948AA8CF910895643079F028F461308E
+:1029D00041F0623041F00895683051F0603141F0CB
+:1029E000089540E003C040E004C041E060E002C060
+:1029F00041E061E0ABCFFF920F931F93CF93DF9342
+:102A000000D01F921F92CDB7DEB785E0EFE1F3E073
+:102A1000DE01119601900D928A95E1F761E088E25E
+:102A20000E9451A861E089E20E9451A861E085E41A
+:102A30000E9451A861E087E20E9451A861E084E40D
+:102A40000E9451A861E083E40E9451A861E081E402
+:102A50000E9451A861E082E40E9451A88E010F5F9C
+:102A60001F4FF12CF80161918F018F2DADDFF39491
+:102A7000F5E0FF12F7CF0F900F900F900F900F908F
+:102A8000DF91CF911F910F91FF9008952EDFB3DF5B
+:102A9000EAE0F1E0808182608083808181608083D0
+:102AA0008081846080838081806480830F9A179AFC
+:102AB0000E9A169A0D9A159A0C9A149A26982E9A8E
+:102AC00025982D9A24982C9A0A98129A0998119A66
+:102AD0003F98479A389A4098179A1092350A399A2F
+:102AE0004198169A1092360A3A9A4298159A10927C
+:102AF000370A3B9A4398149AA1E8B0E08C918F7EF4
+:102B00008C938C9188608C93E0E8F0E080818D7FDD
+:102B1000808380818E7F808380818F73808380819A
+:102B20008F7C80838C91887F82608C9380E090E49E
+:102B30009093890080938800109285001092840001
+:102B4000EFE6F0E080818260808381E080939B02E9
+:102B500078940895E5E2F4E18491882341F090911E
+:102B6000C00095FFFCCF8093C6003196F5CFE1E21F
+:102B7000F4E18491882341F09091C00095FFFCCF4F
+:102B80008093C6003196F5CF88E20E94BFA84AE044
+:102B900050E0BC018CE99DE00E945A8A89E20E94C3
+:102BA000BFA84AE050E0BC018CE99DE00E945A8A2F
+:102BB0008091C00085FFFCCF8AE08093C600EDE1E4
+:102BC000F4E18491882341F09091C00095FFFCCFFF
+:102BD0008093C6003196F5CF85E40E94BFA84AE0F5
+:102BE00050E0BC018CE99DE00E945A8A87E20E9475
+:102BF000BFA84AE050E0BC018CE99DE00E945A8ADF
+:102C00008091C00085FFFCCF8AE08093C600E9E197
+:102C1000F4E18491882341F09091C00095FFFCCFAE
+:102C20008093C6003196F5CF84E40E94BFA84AE0A5
+:102C300050E0BC018CE99DE00E945A8A83E40E9426
+:102C4000BFA84AE050E0BC018CE99DE00E945A8A8E
+:102C50008091C00085FFFCCF8AE08093C600E4E14C
+:102C6000F4E18491882341F09091C00095FFFCCF5E
+:102C70008093C6003196F5CF81E40E94BFA84AE058
+:102C800050E0BC018CE99DE00E945A8A82E40E94D7
+:102C9000BFA84AE050E0BC018CE99DE00E945A8A3E
+:102CA0008091C00085FFFCCF8AE08093C600089524
+:102CB000CF93DF931F92CDB7DEB72091B714309139
+:102CC000B814CE0101962115310519F0821B930B22
+:102CD00002C08D5B94410F90DF91CF9108952F92A8
+:102CE0003F924F925F926F927F928F929F92AF929C
+:102CF000BF92CF92DF92EF92FF920F931F93CF93E9
+:102D0000DF93CDB7DEB768970FB6F894DEBF0FBE7E
+:102D1000CDBF1C012A013B0148015901DC01D896B5
+:102D20006D917D918D919C91DB970E9440AF6B01DD
+:102D30007C01A30192010E9475B10E948DAE0E9498
+:102D400014AF69877A878B879C87A5019401C70197
+:102D5000B6010E9475B10E948DAE0E9414AF6D87BE
+:102D60007E878F87988B29853A854B855C852837A8
+:102D700031054105510540F488E790E0A0E0B0E05E
+:102D800089879A87AB87BC872D853E854F85588973
+:102D9000283731054105510540F488E790E0A0E06F
+:102DA000B0E08D879E87AF87B88B91012C5B3F4F3A
+:102DB000D9018D919D910D90BC91A02D8D839E8305
+:102DC000AF83B887BC01CD010E9442AF69837A838B
+:102DD0008B839C8369857A858B859C850E9440AF17
+:102DE000698B7A8B8B8B9C8B20E030E0A901698109
+:102DF0007A818B819C810E94A0AE882339F1A70142
+:102E00009601C701B6010E9475B14B015C01298989
+:102E10003A894B895C89CA01B9010E9475B19B014D
+:102E2000AC01C501B4010E94C6AD4B015C01298112
+:102E30003A814B815C81CA01B9010E94C7AD9B01F7
+:102E4000AC01C501B4010E94A7AE03C060E070E010
+:102E5000CB010E948DAE0E940FAF2B013C016D8112
+:102E60007E818F81988590958095709561957F4F33
+:102E70008F4F9F4F0E9442AF4B015C016D857E8555
+:102E80008F8598890E9440AF6D837E838F8398875A
+:102E900020E030E0A901C501B4010E94A0AE882362
+:102EA00049F12D813E814F815885CA01B9010E94A7
+:102EB00075B16D8B7E8B8F8B988FA7019601C701A3
+:102EC000B6010E9475B19B01AC016D897E898F8925
+:102ED000988D0E94C6AD6B017C01A5019401C501CE
+:102EE000B4010E94C7AD9B01AC01C701B6010E94AD
+:102EF000A7AE03C060E070E0CB010E947DAFF1019E
+:102F000080889188A288B38875016401C418D508A7
+:102F1000E608F7080E940FAFC61AD70AE80AF90AAE
+:102F2000F7FE6BC020E030E0A90169817A818B81D6
+:102F30009C810E94A0AE882309F447C029813A8170
+:102F40004B815C81CA01B9010E94C7AD6B017C0154
+:102F5000C501B4010E9440AF9B01AC01C701B6019D
+:102F60000E9475B16B017C0129893A894B895C8982
+:102F7000CA01B9010E9475B19B01AC01C701B6013C
+:102F80000E94C6AD6B017C012D813E814F81588529
+:102F9000CA01B9010E9475B19B01AC01C701B6011C
+:102FA0000E94C7AD6B017C0120E030E040E850E4B6
+:102FB00069817A818B819C810E9475B19B01AC01F2
+:102FC000C701B6010E94A7AE03C060E070E0CB016C
+:102FD0000E948DAE0E940FAF2B013C0197FF03C0F2
+:102FE000412C512C3201481459046A047B0410F01E
+:102FF00024013501C12CD12C76018FB7F894F10151
+:10300000E45BFF4F9081911125C0D10154964D9200
+:103010005D926D927C925797C40CD51CE61CF71CF0
+:10302000F101C08ED18EE28EF38E29853A854B85D3
+:103030005C85DC962D933D934D935C93DF97A05C6C
+:10304000BF4F2D853E854F8558892D933D934D93D8
+:103050005C9313978FBF68960FB6F894DEBF0FBED0
+:10306000CDBFDF91CF911F910F91FF90EF90DF9037
+:10307000CF90BF90AF909F908F907F906F905F9018
+:103080004F903F902F9008954F925F926F927F9252
+:10309000AF92BF92CF92DF92EF92FF920F931F9366
+:1030A000CF93DF93EB017A01209709F458C04115C3
+:1030B000510509F454C0AAA4BBA40CA51DA59501F3
+:1030C000A8016EA17FA188A599A50E94A0AE882322
+:1030D00009F445C08FA981113AC0F70146A057A055
+:1030E00060A471A4A3019201B501C8010E94A3B01C
+:1030F00018166CF5A3019201C301B2010E9475B1CB
+:103100006B017C018AA99BA9ACA9BDA9BC01CD0119
+:1031100090589B01AC010E94C7AD2EA53FA548A9C0
+:1031200059A90E9475B19B01AC01C701B6010E946B
+:10313000C6AD0E94E2B16B017C019B01AC01B501FF
+:10314000C8010E94A0AE87FD02C056018701A501FB
+:10315000B8014EA35FA368A779A781E08EABDF918A
+:10316000CF911F910F91FF90EF90DF90CF90BF9084
+:10317000AF907F906F905F904F900895DF92EF92A5
+:10318000FF920F931F93CF93DF9380916D0E8FB7B4
+:10319000F894E0906C0E8FBF80916D0E90E08E19C8
+:1031A00091098F7099270497F4F010916D0E1350C8
+:1031B0001F7040E050E000E0F12C8DE4D82E1E1589
+:1031C00091F0111101C010E11150D19EE0011124C4
+:1031D000C259D14F602F7F2DCE0156DF402F5F2D7A
+:1031E0000C2FFD2EECCFDF91CF911F910F91FF900F
+:1031F000EF90DF9008954F925F926F927F92AF921F
+:10320000BF92CF92DF92EF92FF920F931F93CF93D3
+:10321000DF938C01EB01009709F453C0FC0187A9EF
+:1032200081114FC046A057A060A471A4AEA0BFA05A
+:10323000C8A4D9A49501A601C301B2010E94A0AE01
+:1032400087FF3FC0A3019201C301B2010E9475B183
+:103250002B013C01F80182A993A9A4A9B5A9BC013D
+:10326000CD0190589B01AC010E94C7ADF80126A585
+:1032700037A540A951A90E9475B19B01AC01C301BA
+:10328000B2010E94C6AD0E94E2B17B018C019B019C
+:10329000AC01B501C6010E94A0AE87FF02C0750156
+:1032A00086019701A801B501C6010E94A0AE88233E
+:1032B00041F0A701B8014EA35FA368A779A781E0F9
+:1032C0008EABDF91CF911F910F91FF90EF90DF9028
+:1032D000CF90BF90AF907F906F905F904F90089588
+:1032E000EF92FF920F931F93CF93DF93F0906C0EAA
+:1032F00000E010E080E090E02DE4E22E20916D0EE1
+:10330000F21689F0EF9CE0011124C259D14FAE01B1
+:10331000B80171DF81E08F0D803109F480E0F82E73
+:10332000C8018E01EBCF40E050E0B801DF91CF91B2
+:103330001F910F91FF90EF905ECF4F925F926F922F
+:103340007F928F929F92AF92BF92CF92DF92EF9235
+:10335000FF920F931F93CF93DF9390906C0EC0E07A
+:10336000D0E03DE4832E892D992787FD909520910B
+:103370006D0E30E082179307B9F1889E5001899E47
+:10338000B00C1124C5018259914F5C01209729F19D
+:103390008EA9811104C0F50186A98823F1F0CAA085
+:1033A000DBA0ECA0FDA0A7019601F50166A177A125
+:1033B00080A591A50E94A7AE2B013C01A701960113
+:1033C0006EA17FA188A599A50E94A7AEAB01BC0103
+:1033D00093018201CE0183DC1EAA9394F0E19F1237
+:1033E00001C0912CE501BFCF2097E9F0CAA0DBA076
+:1033F000ECA0FDA0A70196016DEC7CEC8CE49DE3B4
+:103400000E94A7AE4B015C01A70196016EA17FA1AE
+:1034100088A599A50E94A7AEAB01BC0195018401C6
+:10342000CE015DDC1EAADF91CF911F910F91FF901D
+:10343000EF90DF90CF90BF90AF909F908F907F9054
+:103440006F905F904F90089599DE4ADF76CF10928B
+:103450006D0E10926C0E80E1E5E5F3E1DF011D9247
+:103460008A95E9F71092451310924613109247136C
+:10347000109248131092491310924A1310924B1352
+:1034800010924C1310924D1310924E1310924F1332
+:103490001092501310925113109252131092531312
+:1034A000109254131092411310924213109243132E
+:1034B00010924413089560912E0A90916C0E8091A1
+:1034C0006D0E981781F080916C0E9DE4899FF0013C
+:1034D0001124EA54F14F608190916D0E891719F013
+:1034E0008F5F8F70F9CF70E088E00C9447A72F9220
+:1034F0003F924F925F926F927F928F929F92AF9284
+:10350000BF92CF92DF92EF92FF920F931F93CF93D0
+:10351000DF93CDB7DEB7CC56D1090FB6F894DEBF36
+:103520000FBECDBF3C015B014A012901E8A6F8AE00
+:1035300025960FAF25971CAF860120916D0E2F5F4A
+:1035400029962FAF2997203119F429961FAE299774
+:1035500029963FAD2997E32EFF24E7FCF094809154
+:103560006C0E90E08E159F0541F40E94721E80E063
+:103570000E9438490E949C76F2CF2091A11330918D
+:10358000A2134091A3135091A413D3016D917D9187
+:103590008D919C910E9475B10E9445B169966CAF66
+:1035A0007DAF8EAF9FAF69972091A5133091A61381
+:1035B0004091A7135091A813F50160817181828118
+:1035C00093810E9475B10E9445B16D966CAF7DAF3D
+:1035D0008EAF9FAF6D972091A9133091AA134091A0
+:1035E000AB135091AC13D4016D917D918D919C9151
+:1035F0000E9475B10E9445B1A1966CAF7DAF8EAFB0
+:103600009FAFA1972091AD133091AE134091AF13AE
+:103610005091B013F20160817181828193810E9487
+:1036200075B10E9445B124966CAF7DAF8EAF9FAF50
+:1036300024978091611390916213A0916313B091CC
+:10364000641324962CAD3DAD4EAD5FAD2497281785
+:1036500039074A075B0709F4ADC0E091300A34E04E
+:10366000E39FF0011124E05CF74F2091A20230911A
+:10367000A3024091A4025091A502608171818281D0
+:1036800093810E94A0AE87FF2FC024968CAD9DAD84
+:10369000AEADBFAD24978093611390936213A09356
+:1036A0006313B0936413EFE2FEE08491882341F04A
+:1036B0009091C00095FFFCCF8093C6003196F5CF66
+:1036C000ECE9FCE18491882341F09091C00095FFE2
+:1036D000FCCF8093C6003196F5CF8091C00085FF66
+:1036E000FCCF8AE08093C6008091611390916213B1
+:1036F000A0916313B091641324962CAD3DAD4EADF3
+:103700005FAD2497281B390B4A0B5B0BCA01B9012B
+:1037100057FF07C090958095709561957F4F8F4FAB
+:103720009F4F0E9442AF6B017C0120E030E04EECE5
+:1037300053E46091AD137091AE138091AF139091EB
+:10374000B0130E9475B19B01AC01C701B6010E9484
+:10375000A3B018167CF524968CAD9DADAEADBFAD73
+:1037600024978093611390936213A0936313B09393
+:103770006413EFE2FEE08491882341F09091C00051
+:1037800095FFFCCF8093C6003196F5CFEEE7FCE1C4
+:103790008491882341F09091C00095FFFCCF8093E5
+:1037A000C6003196F5CF8091C00085FFFCCF8AE03E
+:1037B0008093C60080916D0E9DE4899F10011124B5
+:1037C000D101A259B14F1D01FD01E45BFF4F1082F1
+:1037D000209155133091561340915713509158131F
+:1037E0002BA33CA34DA35EA369964CAC5DAC6EAC21
+:1037F0007FAC6997421A530A640A750A77FE08C0BB
+:103800007094609450944094411C511C611C711C34
+:10381000D1014D925D926D927C9213972091591334
+:1038200030915A1340915B1350915C132CAB3DAB1C
+:103830004EAB5FAB6D968CAC9DACAEACBFAC6D9738
+:10384000821A930AA40AB50AB7FE08C0B094A094DD
+:1038500090948094811C911CA11CB11CD1011496E0
+:103860008D929D92AD92BC92179720915D133091ED
+:103870005E1340915F13509160132CA73DA74EA794
+:103880005FA7A196CCACDDACEEACFFACA197C21AA1
+:10389000D30AE40AF50AF7FE08C0F094E094D09445
+:1038A000C094C11CD11CE11CF11CD1011896CD9211
+:1038B000DD92ED92FC921B9720916113309162137F
+:1038C000409163135091641328AB39AB4AAB5BABA7
+:1038D00024966CAD7DAD8EAD9FAD2497621B730BAE
+:1038E000840B950B97FF07C0909580957095619517
+:1038F0007F4F8F4F9F4F0E9442AFE091300A34E0DC
+:10390000E39FF0011124E15BFD4F20813181428171
+:1039100053810E9475B10E940FAF9B01AC01A09131
+:103920005B02B0915C020E94D2B224E630E040E03B
+:1039300050E00E94A0B2D1011C962D933D934D936F
+:103940005C931F97C814D904EA04FB0414F47501AE
+:103950006401C216D306E406F50614F469017A017F
+:10396000D301C2014C145D046E047F0414F4D7012A
+:10397000C601F101808B918BA28BB38B0697A105B9
+:10398000B10508F461C7E85BFF4F80912E0A909162
+:103990002F0AAA2797FDA095BA2F80839183A2832F
+:1039A000B38369962CAD3DAD4EAD5FAD69978BA1EC
+:1039B0009CA1ADA1BEA1281739074A075B0724F0D7
+:1039C000D10190961C9203C081E0F10180A36D9615
+:1039D0002CAD3DAD4EAD5FAD6D978CA99DA9AEA947
+:1039E000BFA9281739074A075B073CF4D101909615
+:1039F0008C919097826090968C93A1962CAD3DAD62
+:103A00004EAD5FADA1978CA59DA5AEA5BFA528170E
+:103A100039074A075B073CF4D10190968C91909747
+:103A2000846090968C9324962CAD3DAD4EAD5FADE9
+:103A3000249788A999A9AAA9BBA9281739074A07D1
+:103A40005B073CF4D10190968C919097886090969A
+:103A50008C93F8018081D10191968C93452846285A
+:103A6000472809F01798F10184819581A681B781D3
+:103A7000892B8A2B8B2B09F01698F1018085918573
+:103A8000A285B385892B8A2B8B2B09F01598F10120
+:103A900084859585A685B785892B8A2B8B2B69F123
+:103AA00080913E13882319F0815080933E138091BA
+:103AB0003F13882319F0815080933F138091401366
+:103AC000882319F0815080934013D8018C91813064
+:103AD00061F030F0823089F480E28093401308C0B6
+:103AE000149880E280933E1308C080E280933F13D5
+:103AF00080913E13811101C0149AD1011C962D9121
+:103B00003D914D915C911F972D962CAF3DAF4EAFDF
+:103B10005FAF2D97232B242B252B09F5B09175131F
+:103B2000BBA3E0917613EFA3109177130091781364
+:103B30002B2F3E2F412F502F68A578AD25968FADA6
+:103B400025979CAD0E94A0AE87FD16C0F8A5FBA3EB
+:103B500028AD2FA325961FAD25970CAD0DC0309134
+:103B60008D133BA340918E134FA310918F1300919F
+:103B70009013232F342FDECF80915513909156133D
+:103B8000A0915713B091581369962CAD3DAD4EAD31
+:103B90005FAD6997281B390B4A0B5B0BCA01B90152
+:103BA0000E9442AF2091A1133091A2134091A31320
+:103BB0005091A4130E94A7AE68A779A78AA79BA7D4
+:103BC000698B7A8B8B8B9C8B6D966CAD7DAD8EAD3E
+:103BD0009FAD6D972CA93DA94EA95FA9621B730BE0
+:103BE000840B950B0E9442AF2091A5133091A61330
+:103BF0004091A7135091A8130E94A7AE4B015C01FE
+:103C00006D8B7E8B8F8B988FA1966CAD7DAD8EADBD
+:103C10009FADA1972CA53DA54EA55FA5621B730B7B
+:103C2000840B950B0E9442AF2091A9133091AA13E7
+:103C30004091AB135091AC130E94A7AE6B017C0175
+:103C4000698F7A8F8B8F9C8F24966CAD7DAD8EADF6
+:103C50009FAD249728A939A94AA95BA9621B730BB8
+:103C6000840B950B0E9442AF2091AD133091AE139F
+:103C70004091AF135091B0130E94A7AEE091300A6B
+:103C800034E0E39FF0011124E15BFD4F208131819D
+:103C9000428153810E9475B12B013C0160915B020E
+:103CA00070915C02882777FD8095982F0E9442AF23
+:103CB0009B01AC01C301B2010E9475B120E030E06C
+:103CC00048EC52E40E94A7AE6D8F7E8F8F8F98A331
+:103CD000D1012D913D914D915C91139728AF39AF52
+:103CE0004AAF5BAF263031054105510504F5149606
+:103CF0004D905D906D907C901797B6E04B165104F7
+:103D000061047104A4F4F1014084518462847384D9
+:103D1000F6E04F165104610471044CF4DC01CB0150
+:103D2000BF77F10186A797A7A0ABB1AB27C068A565
+:103D300079A58AA59BA50E9420B22B013C01C50153
+:103D4000B4010E9420B29B01AC01C301B2010E94E8
+:103D5000C7AD4B015C01C701B6010E9420B29B01B7
+:103D6000AC01C501B4010E94C7AD0E94E2B1D1010E
+:103D70009E966D937D938D939C93D197D1019E9642
+:103D80002D913D914D915C91D19728962CAF3DAFEF
+:103D90004EAF5FAF289760E070E080E89FE30E943D
+:103DA000A7AE9B01AC016BA17FA1812F902F0E9438
+:103DB00075B12B013C0190916D0E80916C0EE92F35
+:103DC000F0E0E81BF109EF70FF27FDABECABA301BE
+:103DD000920160E074E284E799E40E94A7AE0E9439
+:103DE00045B16B017C012CA93DA9223031050CF4B1
+:103DF00042C04901AA2497FCA094BA2CC501B40181
+:103E00000E9442AF20E030E040E051E40E94A0AECA
+:103E100087FF31C08091C1139091C213A091C31349
+:103E2000B091C413C816D906EA06FB0620F5BC01FA
+:103E3000CD016C197D098E099F09660F771F881FB8
+:103E4000991FA50194010E947EB2CA01B9010E9486
+:103E500040AF0E9445B16C0D7D1D8E1D9F1D0E94BF
+:103E600040AF9B01AC0160E074E284E799E40E94FA
+:103E7000A7AE2B013C01A301920128966CAD7DAD4C
+:103E80008EAD9FAD28970E9475B16CAF7DAF8EAFA0
+:103E90009FAFD10192966D937D938D939C9395974F
+:103EA00050966D917D918D919C9153970E9440AF5A
+:103EB0006BA37CA38DA39EA3A30192010E9475B165
+:103EC0000E948DAE0E9414AF6B017C01F10160AFC6
+:103ED00071AF82AF93AF8E010F5E1F4F21EB33E1C5
+:103EE00065963FAF2EAF6597AE014F5D5F4F5AA30A
+:103EF00049A3CE01019663969FAF8EAF63971FA231
+:103F00001CA690E898ABAFE3A8A7F8016191719166
+:103F1000819191918F01A30192010E9475B16396E5
+:103F2000AEADBFAD63976D937D938D939D93639677
+:103F3000BFAFAEAF63979B01AC015F7761962CAFCB
+:103F40003DAF4EAF5FAF61976596AEADBFAD6597C4
+:103F50008D909D90AD90BD906596BFAFAEAF6597CB
+:103F6000A501940161966CAD7DAD8EAD9FAD61975D
+:103F70000E94A3B01816F4F461962CAD3DAD4EAD81
+:103F80005FAD6197C501B4010E94A7AEB62EA72E02
+:103F9000982E892E262F372F482F592F6FA17CA5B9
+:103FA00088A998A50E94A0AE87FD04C0BFA2ACA6B8
+:103FB00098AA88A6E9A1FAA10E171F0709F0A5CFB4
+:103FC00020E030E040E85FE36FA17CA588A998A5D8
+:103FD0000E94A0AE87FF3DC05E01F1E1AF0EB11CB3
+:103FE0008E010F5F1F4F2FA13CA548A958A5D801EE
+:103FF0006D917D918D919C910E9475B1F8016193B5
+:104000007193819391938F01EA15FB0561F72FA1BD
+:104010003CA548A958A56CAD7DAD8EAD9FAD0E9465
+:1040200075B1D10192966D937D938D939C939597E5
+:10403000C701B6010E9440AF2FA13CA548A958A5D1
+:104040000E9475B10E9414AFF10160AF71AF82AFF1
+:1040500093AF28962CAD3DAD4EAD5FAD28976BA1CB
+:104060007CA18DA19EA10E94A7AE6B017C0128AD11
+:1040700039AD4AAD5BAD232B242B252B59F5F1012E
+:1040800084819581A681B781892B8A2B8B2B11F591
+:1040900080859185A285B385892B8A2B8B2BD1F4C2
+:1040A0002091851330918613409187135091881386
+:1040B000C701B6010E9475B10E948DAE81010C5BF3
+:1040C0001F4F0E9414AFD8016D937D938D939C93E5
+:1040D0001397F6C02091891330918A1340918B1366
+:1040E00050918C13C701B6010E9475B10E948DAE2C
+:1040F0000E9414AF81010C5B1F4FF8016083718334
+:104100008283938340906513509066136090671389
+:10411000709068130E9440AF4B015C0168AD79ADAF
+:104120008AAD9BAD0E9442AF9B01AC01C501B401B9
+:104130000E9475B12BA13CA14DA15EA10E94A7AE2A
+:104140004B015C01C301B2010E9440AF9B01AC0175
+:10415000C501B4010E94A3B0181634F4D8014D92E1
+:104160005D926D927C9213974090691350906A1300
+:1041700060906B1370906C13F80160817181828183
+:1041800093810E9440AF4B015C01D10114966D9167
+:104190007D918D919C9117970E9442AF9B01AC013C
+:1041A000C501B4010E9475B12BA13CA14DA15EA136
+:1041B0000E94A7AE4B015C01C301B2010E9440AF57
+:1041C0009B01AC01C501B4010E94A3B018162CF4E8
+:1041D000F801408251826282738240907113509044
+:1041E0007213609073137090741381010C5B1F4FF6
+:1041F000D8016D917D918D919C910E9440AF4B01B2
+:104200005C012D966CAD7DAD8EAD9FAD2D970E945E
+:1042100042AF9B01AC01C501B4010E9475B12BA155
+:104220003CA14DA15EA10E94A7AE4B015C01C30160
+:10423000B2010E9440AF9B01AC01C501B4010E94D4
+:10424000A3B018162CF4F801408251826282738266
+:1042500040906D1350906E1360906F1370907013B8
+:10426000D8016D917D918D919C910E9440AF4B0141
+:104270005C01F10160857185828593850E9442AF62
+:104280009B01AC01C501B4010E9475B12BA13CA1F9
+:104290004DA15EA10E94A7AE4B015C01C301B2011A
+:1042A0000E9440AF9B01AC01C501B4010E94A3B0C4
+:1042B000181634F4D8014D925D926D927C9213974A
+:1042C000F101EC5BFF4F60817181828193810E94DB
+:1042D00040AF4B015C01A70196010E94A7AEA596D5
+:1042E0006CAF7DAF8EAF9FAFA597F10162AB73ABA3
+:1042F00084AB95AB2DEB37E346E051E4C501B40147
+:104300000E9475B10E940FAFD1015C966D937D93B1
+:104310008D939C935F97C0908113D0908213E0900F
+:104320008313F090841320E030E040E05FE3C701A6
+:10433000B6010E9475B16BA37FA38C0129853A85D4
+:104340004B855C85A9962CAF3DAF4EAF5FAFA9976B
+:1043500080917D1390917E13A0917F13B091801373
+:104360008CAF9DAFAEAFBFAF20E030E040E05FE389
+:10437000BC01CD010E9475B1B62EA72E982E892EB4
+:10438000A9966CAD7DAD8EAD9FADA9979F772B2D76
+:104390003A2D492D582D0E94A3B018167CF42B2DD0
+:1043A0003A2D492D582D6BA17FA1C8010E94A0AEC6
+:1043B00087FD04C0BBA2AFA2092D182D2D853E8517
+:1043C0004F855889AD962CAF3DAF4EAF5FAFAD97DF
+:1043D0008091791390917A13A0917B13B0917C1303
+:1043E0002D968CAF9DAFAEAFBFAF2D9720E030E0E4
+:1043F00040E05FE3BC01CD010E9475B1B62EA72E4F
+:10440000982E892EAD966CAD7DAD8EAD9FADAD97DE
+:104410009F772B2D3A2D492D582D0E94A3B01816A9
+:104420007CF42B2D3A2D492D582D6BA17FA1C8016D
+:104430000E94A0AE87FD04C0BBA2AFA2092D182D1B
+:10444000D1019296BC91BCA7F101F3A1F8ABD101C7
+:104450009496BC91B8A7F101F5A1F8AF2CA538A9A5
+:104460004B2F5F2F6BA17FA1C8010E94A0AE87FDDB
+:1044700006C02CA52BA338A93FA308A518AD4CA9AD
+:104480005DA9423051050CF405C1509141135CAB5C
+:10449000809142132E968FAF2E9790914313629680
+:1044A0009FAF6297A09144136496AFAF649727E1E2
+:1044B00037EB41ED58E36CA9782F892F9A2F0E9492
+:1044C000A3B018160CF0E6C02091451330914613A6
+:1044D000409147135091481369817A818B819C8167
+:1044E0000E94C6AD2B013C012091491330914A1323
+:1044F00040914B1350914C136D817E818F81988533
+:104500000E94C6AD4B015C01A3019201C301B2013F
+:104510000E9475B12B013C01A5019401C501B401B4
+:104520000E9475B19B01AC01C301B2010E94C7ADED
+:104530000E94E2B14B015C01A70196010E94A3B069
+:1045400018164CF4A5019401C701B6010E94A7AE4C
+:104550005B014C0106C0A12CB12C40E8842E5FE326
+:10456000952E20914D1330914E1340914F13509141
+:104570005013A9966CAD7DAD8EAD9FADA9970E94ED
+:10458000C6AD6B017C01E894F7F82CAD3DAD4EADA6
+:104590005FADC701B6010E94A3B01816D4F4A701FD
+:1045A00096016CAD7DAD8EAD9FAD0E94A7AEF62E8F
+:1045B000E72ED82EC92E262F372F482F592FB50179
+:1045C000C4010E94A0AE87FD04C0AF2CBE2C8D2C70
+:1045D0009C2C2091511330915213409153135091C0
+:1045E0005413AD966CAD7DAD8EAD9FADAD970E9471
+:1045F000C6AD6B017C01E894F7F82D962CAD3DAD6E
+:104600004EAD5FAD2D97C701B6010E94A3B018163D
+:10461000E4F4A70196012D966CAD7DAD8EAD9FADF6
+:104620002D970E94A7AEF62EE72ED82EC92E262F44
+:10463000372F482F592FB501C4010E94A0AE87FD26
+:1046400004C0AF2CBE2C8D2C9C2C9501A4016CA514
+:1046500078A988A598AD0E9475B14B015C019B01BA
+:10466000AC016CA92E967FAD2E9762968FAD6297A6
+:1046700064969FAD64970E94A0AE87FF0EC08CA881
+:104680002E969FAC2E976296AFAC62976496BFACA5
+:10469000649703C08BA09FA05801C401D501F1010C
+:1046A00082A793A7A4A7B5A7A5966CAD7DAD8EAD47
+:1046B0009FADA59790589B01AC010E94C7AD28966D
+:1046C0002CAD3DAD4EAD5FAD28970E9475B19B01FD
+:1046D000AC016BE077ED83E29BE30E94C6AD0E94E4
+:1046E000E2B17B01D82EC92E9B01482F592FB4016E
+:1046F000C5010E94A0AE87FD03C04701AD2CBC2CB4
+:10470000C401D501F10186A397A3A0A7B1A7970182
+:104710004D2D5C2D6CA578A988A598AD0E94A0AE02
+:1047200018162CF081E0D101D7968C9302C0F101CC
+:1047300017AA81E0D101D6968C9380E1FE013196D3
+:10474000A5E4B3E101900D928A95E1F78CA598A9B3
+:10475000A8A5B8AD8093411390934213A09343133F
+:10476000B09344139C01AD016BA17FA1C8010E94CD
+:10477000A7AE6B017C012CA538A948A558ADB401A2
+:10478000C5010E94A7AEAB01BC0197018601C10122
+:104790000E946F962996BFAD2997B0936D0E6996CA
+:1047A0002CAD3DAD4EAD5FAD699720935513309361
+:1047B000561340935713509358136D968CAD9DAD7F
+:1047C000AEADBFAD6D978093591390935A13A093DC
+:1047D0005B13B0935C13A1962CAD3DAD4EAD5FADB8
+:1047E000A19720935D1330935E1340935F13509312
+:1047F000601324968CAD9DADAEADBFAD2497809374
+:10480000611390936213A0936313B09364130E9497
+:10481000249AC459DF4F0FB6F894DEBF0FBECDBF48
+:10482000DF91CF911F910F91FF90EF90DF90CF908C
+:10483000BF90AF909F908F907F906F905F904F90C0
+:104840003F902F900C94F48BC459DF4F0FB6F8941F
+:10485000DEBF0FBECDBFDF91CF911F910F91FF90B3
+:10486000EF90DF90CF90BF90AF909F908F907F9010
+:104870006F905F904F903F902F900895EF92FF922E
+:104880000F931F93CF93DF937B018A01E90120915E
+:10489000A1133091A2134091A3135091A413FC01D2
+:1048A00060817181828193810E9475B10E9445B1BE
+:1048B0006093551370935613809357139093581326
+:1048C0002091A5133091A6134091A7135091A813DE
+:1048D000F70160817181828193810E9475B10E948C
+:1048E00045B16093591370935A1380935B1390935F
+:1048F0005C132091A9133091AA134091AB135091EE
+:10490000AC13F80160817181828193810E9475B13D
+:104910000E9445B160935D1370935E1380935F13A3
+:10492000909360132091AD133091AE134091AF136B
+:104930005091B013688179818A819B810E9475B101
+:104940000E9445B160936113709362138093631367
+:104950009093641321E633E14DE553E169E573E19A
+:1049600085E593E10E944C931092411310924213FB
+:104970001092431310924413109245131092461351
+:1049800010924713109248131092491310924A1331
+:1049900010924B1310924C1310924D1310924E1311
+:1049A00010924F13109250131092511310925213F1
+:1049B0001092531310925413DF91CF911F910F91C6
+:1049C000FF90EF9008952091AD133091AE13409178
+:1049D000AF135091B013FC0160817181828193818A
+:1049E0000E9475B10E9445B1609361137093621388
+:1049F000809363139093641381E693E10C948893FE
+:104A000080916D0E90916C0E891B8F70089560934C
+:104A1000A2027093A3028093A4029093A50208952A
+:104A2000CF92DF92EF92FF920F931F93CF93DF937A
+:104A300000D01F92CDB7DEB7F1E9CF2EF3E1DF2E24
+:104A4000A1EAEA2EA3E1FA2E05E613E1F60161914F
+:104A50007191819191916F01F70121913191419172
+:104A600051917F0129833A834B835C830E9440AF3D
+:104A700029813A814B815C810E9475B10E9414AFFB
+:104A8000F80161937193819391938F01F1EACF16AD
+:104A9000F3E1DF06D9F60F900F900F900F90DF91A2
+:104AA000CF911F910F91FF90EF90DF90CF900895DD
+:104AB0008091F41390E02091F513821B91090895E1
+:104AC0002091F5138091F413281750F4E22FF0E0B1
+:104AD000EA50FC4E808190E02F5F2093F5130895FB
+:104AE0008FEF9FEF0895E091F5138091F413E8178D
+:104AF00030F4F0E0EA50FC4E808190E008958FEFB2
+:104B00009FEF08950895CF92DF92EF92FF920F9357
+:104B10001F93CF93DF937C01CB018A012091D113A6
+:104B2000222389F0EB016B01C40ED51ECC15DD05E7
+:104B300061F06991D701ED91FC910190F081E02D38
+:104B4000C7011995F3CF642F4BD0C801DF91CF91E6
+:104B50001F910F91FF90EF90DF90CF900895CF932A
+:104B6000DF931F92CDB7DEB769832091D113222343
+:104B7000D1F02091D213203240F021E030E0FC014E
+:104B80003383228380E090E014C08091D313E82F18
+:104B9000F0E0EC52FC4E998190838F5F8093D313A9
+:104BA0008093D21304C061E0CE01019619D081E058
+:104BB00090E00F90DF91CF910895FC011382128253
+:104BC00048EE53E060E070E044835583668377836A
+:104BD00086ED95E091838083089585EC93E1EDCF98
+:104BE000613298F420918314243089F4609338144E
+:104BF000FC018AE394E1DC012A2F281B261718F414
+:104C000021912D93F9CF80E0089581E0089582E00D
+:104C1000089585ED8093BC008091BC0084FDFCCF9D
+:104C200010928314089585EC8093BC001092831435
+:104C300008951F920F920FB60F9211240BB60F9288
+:104C40002F933F934F935F936F937F938F939F9394
+:104C5000AF93BF93EF93FF938091B900887F803625
+:104C600009F49CC068F5883209F45BC090F4803187
+:104C700009F454C038F4882309F4F3C0883009F4E7
+:104C80004DC0F2C0883109F44CC0803209F45DC0D7
+:104C9000EBC0803409F468C048F4803309F455C08F
+:104CA000883309F0E1C080931614A7C0803509F459
+:104CB0004FC0883509F45DC0883409F0D5C0D3C031
+:104CC000883909F4C4C0A8F4883709F467C038F4F7
+:104CD000883609F463C0803709F460C0C5C08838DD
+:104CE00009F4B5C0803909F45FC0803809F0BCC050
+:104CF0005BC0803B09F483C038F4803A09F466C095
+:104D0000883A09F47CC0B0C0803C09F4A4C0883C57
+:104D100009F4A1C0883B09F487C0A6C08091821421
+:104D200010C090915B1480915A14981770F5E0911F
+:104D30005B1481E08E0F80935B14F0E0E45AFB4E2D
+:104D400080818093BB0085EC83C0809316148BC058
+:104D5000E0915B1481E08E0F80935B148091BB0027
+:104D6000F0E0E45AFB4E808390915B1480915A14DA
+:104D70006BC0E0915B1481E08E0F80935B14809197
+:104D8000BB00F0E0E45AFB4E8083809181148111D6
+:104D90006AC081E08093801484EA5EC083E08093DF
+:104DA000831410921714CFCF80911714803208F01B
+:104DB0004EC0E091171481E08E0F809317148091FC
+:104DC000BB00F0E0E85EFB4E8083BDCF80911714FE
+:104DD000803230F4E0911714F0E0E85EFB4E108270
+:104DE00018DF6091171470E0E0917C14F0917D144D
+:104DF00088E194E119951092171415DF35C084E00D
+:104E0000809383141092391410923814E0917E1418
+:104E1000F0917F14199580913814811105C081E0BB
+:104E20008093381410923A14E091391481E08E0F77
+:104E300080933914F0E0E65CFB4E80818093BB00E8
+:104E40009091391480913814981708F47CCF85E834
+:104E50008093BC0009C085EC8093BC001092831441
+:104E600003C010921614D5DEFF91EF91BF91AF9160
+:104E70009F918F917F916F915F914F913F912F9172
+:104E80000F900BBE0F900FBE0F901F9018951F93A1
+:104E9000CF93DF93182FEB0161E003D1209711F43A
+:104EA00060E004C0CF3FD10531F461E0812FDF9194
+:104EB000CF911F912FC1E12FF0E0EA54F34E4491BE
+:104EC00050E0FA013197E131F10508F091C0E35863
+:104ED000FF4F0C94BCB284B5806884BDC7BD8DC043
+:104EE00084B5806284BDC8BD88C080918000806820
+:104EF00080938000D0938900C09388007EC0809109
+:104F00008000806280938000D0938B00C0938A00E1
+:104F100074C08091B00080688093B000C093B300EB
+:104F20006CC08091B00080628093B000C093B400E8
+:104F300064C080919000806880939000D093990025
+:104F4000C09398005AC08091900080628093900036
+:104F5000D0939B00C0939A0050C0809190008860CD
+:104F600080939000D0939D00C0939C0046C0809198
+:104F7000A00080688093A0008091A0008F7B809328
+:104F8000A000D093A900C093A80037C08091A000D2
+:104F900080628093A000D093AB00C093AA002DC084
+:104FA0008091A00088608093A000D093AD00C09352
+:104FB000AC0023C080912001806880932001D093B1
+:104FC0002901C093280119C080912001806280933B
+:104FD0002001D0932B01C0932A010FC080912001A2
+:104FE000886080932001D0932D01C0932C0105C0CF
+:104FF000C038D1050CF059CF53CFDF91CF911F911D
+:10500000089590E0FC013197E131F10508F048C0C6
+:10501000E257FF4F0C94BCB2809180008F7703C0A1
+:10502000809180008F7D80938000089584B58F7774
+:1050300002C084B58F7D84BD08958091B0008F77C4
+:1050400003C08091B0008F7D8093B000089580915F
+:1050500090008F7707C0809190008F7D03C0809172
+:105060009000877F8093900008958091A0008F77B3
+:1050700007C08091A0008F7D03C08091A000877F32
+:105080008093A0000895809120018F7707C08091C0
+:1050900020018F7D03C080912001877F80932001B4
+:1050A0000895CF93DF9390E0FC01E45FF24E2491EA
+:1050B000FC01EE59F24E8491882349F190E0880F6B
+:1050C000991FFC01E451F24EA591B4918E52924E7B
+:1050D000FC01C591D4919FB7611108C0F8948C91DF
+:1050E000209582238C93888182230AC0623051F4F8
+:1050F000F8948C91322F309583238C938881822B66
+:10510000888304C0F8948C91822B8C939FBFDF918D
+:10511000CF9108950F931F93CF93DF931F92CDB735
+:10512000DEB7282F30E0F901EA54F34E8491F901FB
+:10513000E45FF24E1491F901EE59F24E049100230E
+:10514000C1F0882319F069835CDF6981E02FF0E00A
+:10515000EE0FFF1FEE52F24EA591B4919FB7F89457
+:105160008C91611103C01095812301C0812B8C9318
+:105170009FBF0F90DF91CF911F910F910895CF9313
+:10518000DF93282F30E0F901EA54F34E8491F901BE
+:10519000E45FF24ED491F901EE59F24EC491CC2362
+:1051A00089F081112EDFEC2FF0E0EE0FFF1FE854A5
+:1051B000F24EA591B4912C912D2381E090E021F441
+:1051C00080E002C080E090E0DF91CF9108951F92CF
+:1051D0000F920FB60F9211242F933F938F939F93AB
+:1051E000AF93BF938091851490918614A0918714FA
+:1051F000B09188143091841423E0230F2D3720F4CC
+:105200000196A11DB11D05C026E8230F0296A11D20
+:10521000B11D209384148093851490938614A093D9
+:105220008714B09388148091891490918A14A09166
+:105230008B14B0918C140196A11DB11D809389141B
+:1052400090938A14A0938B14B0938C14BF91AF9158
+:105250009F918F913F912F910F900FBE0F901F90B4
+:1052600018952FB7F89460918514709186148091E9
+:105270008714909188142FBF08953FB7F8948091B8
+:10528000891490918A14A0918B14B0918C1426B536
+:10529000A89B05C02F3F19F00196A11DB11D3FBF6E
+:1052A0006627782F892F9A2F620F711D811D911DFE
+:1052B00042E0660F771F881F991F4A95D1F708951E
+:1052C000CF92DF92EF92FF92CF93DF936B017C013D
+:1052D000D4DFEB01C114D104E104F10471F0CDDF9E
+:1052E0006C1B7D0B683E7340A8F381E0C81AD1089F
+:1052F000E108F108C851DC4FEDCFDF91CF91FF906D
+:10530000EF90DF90CF9008950197009739F0880FC4
+:10531000991F880F991F02970197F1F708957894C4
+:1053200084B5826084BD84B5816084BD85B58260AA
+:1053300085BD85B5816085BDEEE6F0E08081816048
+:105340008083E1E8F0E01082808182608083808148
+:1053500081608083E0E8F0E0808181608083E1EB20
+:10536000F0E0808184608083E0EBF0E08081816008
+:105370008083E1E9F0E080818260808380818160C8
+:105380008083E0E9F0E0808181608083E1EAF0E001
+:10539000808182608083808181608083E0EAF0E0A8
+:1053A000808181608083E1E2F1E08081826080839E
+:1053B000808181608083E0E2F1E080818160808390
+:1053C000EAE7F0E08081846080838081826080836E
+:1053D0008081816080838081806880831092C10099
+:1053E00008959DDF0E94A93EC0E0D0E00E94C862FF
+:1053F0002097E1F30E940000F9CF3F924F925F9215
+:105400006F927F928F929F92AF92BF92CF92DF92D4
+:10541000EF92FF920F931F93CF93DF9300D01F92D1
+:10542000CDB7DEB78B0129013A019091A6029817FA
+:1054300021F09F3F09F0ABC204C0E6E0FEE13490EA
+:1054400004C18093A602E6E0FEE1E491EF3F09F497
+:105450009EC2E23009F480C074F5EE2309F45BC00B
+:10546000E13009F0F1C0109280001092810090911B
+:105470008100986090938100909181009160909359
+:105480008100282F30E0F901EE59F24EE491F0E06E
+:10549000EE0FFF1FEE52F24E459154915093AB1414
+:1054A0004093AA14F901E45FF24E24912093A914C9
+:1054B00033243394CCC0E43009F49EC00CF474C09F
+:1054C000E53009F0C1C010922001109221019091A5
+:1054D0002101986090932101909121019160909316
+:1054E0002101282F30E0F901EE59F24EE491F0E06D
+:1054F000EE0FFF1FEE52F24E4591549150938F14D0
+:1055000040938E14F901E45FF24E249120938D14A0
+:1055100055E0352E9CC014BC15BC94B5926094BD6A
+:1055200095B5916095BD282F30E0F901EE59F24E06
+:10553000E491F0E0EE0FFF1FEE52F24E45915491D0
+:105540005093B2144093B114F901E45FF24E2491E8
+:105550002093B014312C7BC01092B0001092B10097
+:105560009091B00092609093B0009091B1009160E2
+:105570009093B100282F30E0F901EE59F24EE491FA
+:10558000F0E0EE0FFF1FEE52F24E45915491509312
+:10559000A4144093A314F901E45FF24E24912093E4
+:1055A000A21422E0322E53C010929000109291006B
+:1055B00090919100986090939100909191009160EA
+:1055C00090939100282F30E0F901EE59F24EE491CA
+:1055D000F0E0EE0FFF1FEE52F24E459154915093C2
+:1055E0009D1440939C14F901E45FF24E24912093A2
+:1055F0009B14B3E03B2E2BC01092A0001092A10090
+:105600009091A10098609093A1009091A100916069
+:105610009093A100282F30E0F901EE59F24EE49169
+:10562000F0E0EE0FFF1FEE52F24E45915491509371
+:10563000961440939514F901E45FF24E249120935F
+:10564000941474E0372E03C03E2E37FCA0C161E0F5
+:1056500028DD4801A12CB12C832D8D7F09F0BAC023
+:1056600060E072E18AE790E0A501940169D729839F
+:105670003A834B835C8369017A0181E0C81AD108BF
+:10568000E108F1089FEFC916D104E104F10409F023
+:1056900008F495C060E472E48FE090E0A501940105
+:1056A0004FD769017A01E1E0CE1AD108E108F1088B
+:1056B000F2E03F1218C08FEFC816D104E104F104E4
+:1056C00009F008F483C060E970ED83E090E0A50183
+:1056D000940136D769017A0191E0C91AD108E1082D
+:1056E000F10883E001C082E0EFEFCE16D104E104BF
+:1056F000F10409F008F464C068E478EE81E090E019
+:10570000A50194011DD769017A01F1E0CF1AD108F2
+:10571000E108F1083320D9F082E038121AC09FEF77
+:10572000C916D104E104F10409F008F42EC164E2C1
+:1057300074EF80E090E0A501940102D769017A013D
+:10574000E1E0CE1AD108E108F10885E003C083E06A
+:1057500001C084E0FFEFCF16D104E104F10481F130
+:1057600078F162E17AE780E090E0A5019401E8D663
+:1057700069017A0181E0C81AD108E108F108311005
+:1057800002C084E001C086E09FEFC916D104E104A5
+:10579000F104B1F0A8F0C980DA80EB80FC809AE0D7
+:1057A000F594E794D794C7949A95D1F7E1E0CE1A8F
+:1057B000D108E108F108332031F087E008C081E02A
+:1057C000332011F004C085E085BD50C082E0809395
+:1057D000B1004CC060E072E18AE790E0A50194015D
+:1057E000AFD669017A01F1E0CF1AD108E108F108DA
+:1057F000C114D10481E0E806F10480F068E478EE99
+:1058000081E090E0A50194019BD669017A0191E0C5
+:10581000C91AD108E108F10893E001C091E0E1E084
+:105820003E1207C080918100887F892B8093810080
+:105830001DC0F3E03F1207C080919100887F892B43
+:105840008093910013C084E0381207C08091A100BA
+:10585000887F892B8093A10009C0E5E03E1206C035
+:1058600080912101887F892B80932101411451046B
+:105870006104710461F0D801AA0FBB1FA30192015A
+:1058800087D628EE33E040E050E038D603C02FEF53
+:105890003FEFA901F2E03F1609F443C0F315BCF055
+:1058A000332081F181E0381272C0D0928900C09219
+:1058B00088002093AC143093AD144093AE145093F1
+:1058C000AF1480916F00826080936F0060C094E09D
+:1058D000391609F448C03916A4F1E5E03E1257C064
+:1058E000D0922901C09228012093901430939114F2
+:1058F000409392145093931480917300826080932C
+:10590000730045C0C7BC2093B3143093B4144093C4
+:10591000B5145093B61480916E00826080936E002F
+:1059200036C0C092B3002093A5143093A6144093C0
+:10593000A7145093A8148091700082608093700027
+:1059400026C0D0929900C092980020939E14309364
+:105950009F144093A0145093A11480917100826011
+:105960008093710014C0D092A900C092A800209327
+:105970009714309398144093991450939A148091EB
+:10598000720082608093720002C084E020CF0F908A
+:105990000F900F900F90DF91CF911F910F91FF907B
+:1059A000EF90DF90CF90BF90AF909F908F907F90BF
+:1059B0006F905F904F903F9008958230A9F028F447
+:1059C000882349F0813051F00895843009F1E8F0DE
+:1059D000853009F1089510926E00089580916F004E
+:1059E0008D7F80936F000895809170008D7F8093EC
+:1059F000700081E08093B0008091B100887F846066
+:105A00008093B1001092B300089510927100089530
+:105A1000109272000895109273000895CF93C82FCA
+:105A20008091A6028C1307C0E6E0FEE184919FEF0F
+:105A30009093A60201C08FEFC0DF60E08C2FCF9162
+:105A400069CB1F920F920FB60F9211240BB60F92D3
+:105A50002F933F934F935F936F937F938F939F9376
+:105A6000AF93BF93EF93FF938091A5149091A614E9
+:105A7000A091A714B091A814892B8A2B8B2B51F1DC
+:105A80009091A214E091A314F091A414808189272D
+:105A900080838091A5149091A614A091A714B09131
+:105AA000A814181619061A061B06BCF48091A51432
+:105AB0009091A614A091A714B091A8140197A109E0
+:105AC000B1098093A5149093A614A093A714B09342
+:105AD000A81403C08091A602A1DFFF91EF91BF91AE
+:105AE000AF919F918F917F916F915F914F913F9176
+:105AF0002F910F900BBE0F900FBE0F901F90189517
+:105B0000CF92DF92EF92FF920F931F93CF93DF9389
+:105B10006C017A01EB01E60EF71E00E010E0CE15F5
+:105B2000DF0561F06991D601ED91FC910190F08162
+:105B3000E02DC6011995080F191FF1CFC801DF919B
+:105B4000CF911F910F91FF90EF90DF90CF9008952C
+:105B50006115710581F0DB010D900020E9F7AD01C1
+:105B600041505109461B570BDC01ED91FC9102801D
+:105B7000F381E02D199480E090E00895E9CFDC01F5
+:105B8000ED91FC910190F081E02D19945058BB27C4
+:105B9000AA270ED076C23FD230F044D220F031F4A2
+:105BA0009F3F11F41EF40FC20EF4E095E7FBDCC139
+:105BB000E92F89D280F3BA17620773078407950724
+:105BC00018F071F49EF5B8C20EF4E0950B2EBA2FC2
+:105BD000A02D0B01B90190010C01CA01A0011124F3
+:105BE000FF27591B99F0593F50F4503E68F11A169F
+:105BF000F040A22F232F342F4427585FF3CF469530
+:105C000037952795A795F0405395C9F77EF41F1651
+:105C1000BA0B620B730B840BBAF09150A1F0FF0F1B
+:105C2000BB1F661F771F881FC2F70EC0BA0F621F07
+:105C3000731F841F48F4879577956795B795F795F7
+:105C40009E3F08F0B3CF9395880F08F09927EE0F89
+:105C5000979587950895DFD158F080E891E009F491
+:105C60009EEFE0D128F040E851E059F45EEF09C022
+:105C7000AAC162C2E92FE07826D268F3092E052A6C
+:105C8000C1F3261737074807590738F00E2E07F8D3
+:105C9000E02569F0E025E0640AC0EF6307F80094AE
+:105CA00007FADB01B9019D01DC01CA01AD01EF93E7
+:105CB0005DD0E7D10AD05F91552331F02BED3FE065
+:105CC00049E450FD49EC63CF0895DF93DD27B92FF8
+:105CD000BF7740E85FE31616170648075B0710F426
+:105CE000D92F96D29F938F937F936F93A9D3EEE38F
+:105CF000F1E06CD1C6D12F913F914F915F9101D3CB
+:105D0000DD2349F09058A2EA2AED3FE049EC5FE339
+:105D1000D0785D274DDFDF91B4C1F7D180F09F3798
+:105D200040F491110EF409C260E070E080E89FE356
+:105D3000089526F01B16611D711D811D1BC135C103
+:105D4000EFD008F481E0089575D1E395ABC10CD094
+:105D500098C168D140F05FD130F021F45F3F19F075
+:105D600003C15111EAC12FC1AED198F39923C9F3F0
+:105D70005523B1F3951B550BBB27AA276217730751
+:105D8000840738F09F5F5F4F220F331F441FAA1F05
+:105D9000A9F333D00E2E3AF0E0E830D091505040C5
+:105DA000E695001CCAF729D0FE2F27D0660F771F73
+:105DB000881FBB1F261737074807AB07B0E809F055
+:105DC000BB0B802DBF01FF2793585F4F2AF09E3FEA
+:105DD000510568F0C9C0B1C15F3FECF3983EDCF3F8
+:105DE000869577956795B795F7959F5FC9F7880F63
+:105DF000911D9695879597F90895E1E0660F771FB5
+:105E0000881FBB1F621773078407BA0720F0621B45
+:105E1000730B840BBA0BEE1F88F7E095089504D03E
+:105E20006894B1118AC1089556D188F09F5790F0B7
+:105E3000B92F9927B751A0F0D1F0660F771F881FAF
+:105E4000991F1AF0BA95C9F712C0B13081F074D118
+:105E5000B1E0089571C1672F782F8827B85F39F0B6
+:105E6000B93FCCF3869577956795B395D9F73EF40E
+:105E700090958095709561957F4F8F4F9F4F0895B6
+:105E8000E89409C097FB3EF49095809570956195D4
+:105E90007F4F8F4F9F4F9923A9F0F92F96E9BB278A
+:105EA0009395F695879577956795B795F111F8CF06
+:105EB000FAF4BB0F11F460FF1BC06F5F7F4F8F4F71
+:105EC0009F4F16C0882311F096E911C0772321F067
+:105ED0009EE8872F762F05C0662371F096E8862FFF
+:105EE00070E060E02AF09A95660F771F881FDAF756
+:105EF000880F9695879597F9089507D180F09F3779
+:105F000040F491110EF019C160E070E080E89FEB61
+:105F1000089526F41B16611D711D811D2BC045C0FF
+:105F2000990F0008550FAA0BE0E8FEEF16161706AA
+:105F3000E807F907C0F012161306E407F50798F012
+:105F4000621B730B840B950B39F40A2661F0232B2B
+:105F5000242B252B21F408950A2609F4A140A695A7
+:105F60008FEF811D811D089597F99F6780E870E08C
+:105F700060E00895882371F4772321F09850872BEF
+:105F8000762F07C0662311F499270DC09051862BF8
+:105F900070E060E02AF09A95660F771F881FDAF7A5
+:105FA000880F9695879597F908959F3F31F0915006
+:105FB00020F4879577956795B795880F911D9695ED
+:105FC000879597F908959FEF80EC0895DF93CF931D
+:105FD0001F930F93FF92EF92DF927B018C016894E5
+:105FE00005C0DA2EEF018DD1FE01E894A59125912F
+:105FF000359145915591AEF3EF01DADDFE01970140
+:10600000A801DA9479F7DF90EF90FF900F911F913C
+:10601000CF91DF91089500240A94161617061806EA
+:106020000906089500240A9412161306140605069C
+:106030000895C9CF50D0E8F3E894E0E0BB279F571C
+:10604000F0F02AED3FE049EC06C0EE0FBB0F661FF3
+:10605000771F881F28F0B23A62077307840728F079
+:10606000B25A620B730B840BE3959A9572F78038E2
+:1060700030F49A95BB0F661F771F881FD2F79048A0
+:1060800096CF092E0394000C11F4882352F0BB0F15
+:1060900040F4BF2B11F460FF04C06F5F7F4F8F4F40
+:1060A0009F4F0895EF93E0FF06C0A2EA2AED3FE07C
+:1060B00049EC5FEB7DDDE5DF0F90039401FC905828
+:1060C000EBE6F1E0C7C157FD9058440F551F59F05A
+:1060D0005F3F71F04795880F97FB991F61F09F3FD5
+:1060E00079F087950895121613061406551FF2CFFE
+:1060F0004695F1DF08C0161617061806991FF1CF4E
+:1061000086957105610508940895E5DFA0F0BEE766
+:10611000B91788F4BB279F3860F41616B11D672F96
+:10612000782F8827985FF7CF869577956795B11D6B
+:1061300093959639C8F30895E894BB276627772787
+:10614000CB0197F90895ECDE08F48FEF089563DF33
+:1061500019F068DF09F037CF07CFB901CA0125CFA1
+:106160009F775F77B0DF98F39923B9F35523B9F39D
+:10617000FF27951758F4E52FE91BED3070F75E3BCC
+:1061800010F0F1E41CC09034E0F40AC0E92FE51BE4
+:10619000ED3028F79E3B10F0F1E411C0503488F444
+:1061A000F9EA88232AF09A95660F771F881FDAF795
+:1061B00044232AF05A95220F331F441FDAF79F1BFE
+:1061C0005F1BFF931F930F93FF92EF9279018A0158
+:1061D000BB27AB2F9B01AC0196D09701A801BF93C1
+:1061E0007B018C01AA27BA2FB901CA018CD0AF91CB
+:1061F0009701A801EF90FF900F911F91D9DC41DF2B
+:10620000E1D04F9140FF0895552747FD509509C0B3
+:106210009B01AC0160E070E080E89FE398CDA4CEE4
+:10622000C4CE59DFE8F39923D9F3940F511DBBF382
+:106230009150504094F059F0882332F0660F771F48
+:10624000881F91505040C1F79E3F510544F7880F79
+:10625000911D9695879597F908955F3FACF0983E0C
+:106260009CF0BB27869577956795B79508F4B16044
+:106270009395C1F7BB0F58F711F460FFE8CF6F5F3C
+:106280007F4F8F4F9F4FE3CF58CF25DF58F19E5759
+:1062900058F19851A0F0E9F0983020F5092E99278F
+:1062A000660F771F881F991F0A94D1F712C0062E18
+:1062B000672F782F8827985F11F4000C07C0993F4B
+:1062C000B4F38695779567959395D9F7611D711D00
+:1062D000811D3EF490958095709561957F4F8F4F0D
+:1062E0009F4F0895689429CF27CF0BD0CACE93DE55
+:1062F00028F098DE18F0952309F036CE64CE1124EC
+:106300001CCFE1DEA0F3959FD1F3950F50E0551F10
+:10631000629FF001729FBB27F00DB11D639FAA27FA
+:10632000F00DB11DAA1F649F6627B00DA11D661F49
+:10633000829F2227B00DA11D621F739FB00DA11D6A
+:10634000621F839FA00D611D221F749F3327A00D24
+:10635000611D231F849F600D211D822F762F6A2FC0
+:1063600011249F5750408AF0E1F088234AF0EE0F45
+:10637000FF1FBB1F661F771F881F91505040A9F752
+:106380009E3F510570F0F0CDD8CE5F3FECF3983EC4
+:10639000DCF3869577956795B795F795E7959F5FB9
+:1063A000C1F7FE2B880F911D9695879597F9089553
+:1063B0009F9340DE0F9007FCEE5F74CE11F40EF455
+:1063C00002CEF3CD88DED0F39923D9F3CEF39F57D5
+:1063D000550B87FF38D00024A0E640EA9001805892
+:1063E0005695979528F4805C660F771F881F20F0DC
+:1063F00026173707480730F4621B730B840B2029DC
+:1064000031294A2BA69517940794202531254A2730
+:1064100058F7660F771F881F20F0261737074807A1
+:1064200030F4620B730B840B200D311D411DA095C0
+:1064300081F7B901842F9158880F96958795089513
+:106440009B01AC0152CF91505040660F771F881FBF
+:10645000D2F708959F938F937F936F93FF93EF935A
+:106460009B01AC0142DFEF91FF91B0DD2F913F9195
+:106470004F915F913ACFDB018F939F9389D0BF916A
+:10648000AF91A29F800D911DA39F900DB29F900D83
+:106490001124089587FB082E062687FD819567FD48
+:1064A00061958AD00EF4919507FC81950895AA1BF9
+:1064B000BB1B51E107C0AA1FBB1FA617B70710F0EF
+:1064C000A61BB70B881F991F5A95A9F78095909521
+:1064D000BC01CD01089597FB072E16F4009406D059
+:1064E00077FD08D0E4DF07FC05D03EF49095819558
+:1064F0009F4F0895709561957F4F0895A1E21A2EE0
+:10650000AA1BBB1BFD010DC0AA1FBB1FEE1FFF1F57
+:10651000A217B307E407F50720F0A21BB30BE40BA7
+:10652000F50B661F771F881F991F1A9469F76095EE
+:106530007095809590959B01AC01BD01CF010895A8
+:10654000052E97FB16F400940FD057FD05D0D6DF2B
+:1065500007FC02D046F408C050954095309521952F
+:106560003F4F4F4F5F4F089590958095709561957F
+:106570007F4F8F4F9F4F0895EE0FFF1F0590F491AF
+:10658000E02D199425D0B7FF0895821B930B089531
+:106590001FD0A59F900DB49F900DA49F800D911DBD
+:1065A00011240895B7FFF4CFF3DF821B930B0895F6
+:1065B0000790F691E02D1994991B79E004C0991F7A
+:1065C000961708F0961B881F7A95C9F7809508954D
+:1065D000A29FB001B39FC001A39F700D811D112424
+:1065E000911DB29F700D811D1124911D08958F92F0
+:1065F0009F92AF92BF92CF92DF92EF92FF920F9352
+:106600001F93CF93DF938B016115710521F0DB019F
+:106610008C9311969C93EC015E01BFEFAB1ABB0A01
+:106620007501C8808C2D90E07BD2892B11F0E5019B
+:10663000F3CFEDE2CE1208C07E01F2E0EF0EF11CC6
+:10664000C980DD24D39409C02BE2C21205C07E01AB
+:1066500042E0E40EF11CC980D12CE701219743E010
+:1066600050E06FE07EE1CE0172D2892BB9F423961F
+:1066700045E050E06AE07EE1CE0169D2892B09F461
+:1066800025960115110519F0D801CD93DC93D11091
+:1066900000C160E070E080E89FE704C143E050E0A3
+:1066A00067E07EE1CE0153D2892B59F40115110523
+:1066B00009F4F4C0B2E0EB0EF11CF801F182E082C3
+:1066C000EDC0F70160E070E0CB01C0E0D0E07F01F9
+:1066D000A0EDAA2EAC0C29E02A1528F14D2D426020
+:1066E000B42E2D2D2870D2FE04C0211124C0219675
+:1066F00022C021112197A5E0B0E09B01AC0148DF49
+:10670000660F771F881F991F6A0D711D811D911DCE
+:106710006839A9E97A078A07A9E19A0760F0BD2DCF
+:10672000B660BB2E08C02EEFA2120AC0D3FC50C028
+:106730004D2D4860B42E3196D701CC90DB2CC7CFBD
+:106740002C2D2F7D253409F043C0A081AD3241F4BA
+:10675000BD2DB061DB2E7F0122E0E20EF11C0CC0EA
+:106760007F01AB3231F04FEFE41AF40A21E030E060
+:1067700006C0A2E0EA0EF11CA18122E030E0A053A5
+:10678000AA3018F0E21AF30A23C0F70120E030E043
+:106790002038BCE03B075CF4A901440F551F440FAF
+:1067A000551F240F351F220F331F2A0F311DAF0134
+:1067B0004F5F5F4F7A01A081A053AA3010F4FA0115
+:1067C000E7CFD4FE03C0319521953109C20FD31F05
+:1067D000D1FE09C00115110531F0E1E0EE1AF10812
+:1067E000D801ED92FC924CDB2D2D2370233019F053
+:1067F0004B015C0106C04B015C01B7FAB094B7F8DD
+:10680000B09420E030E0A901C501B40199DA8823F1
+:1068100009F43CC0D7FF06C0D195C195D10906E265
+:106820001EE102C00EE31EE16801B8E1CB1AD108F7
+:1068300090E2E92EF12CCE15DF056CF0F8012591E0
+:10684000359145915491C501B4014FDD4B015C0177
+:10685000CE19DF09F0CF04501109F594E7940C1517
+:106860001D0549F78A2D880F8B2D881F8F3F41F01A
+:1068700020E030E0A901C501B40162DA811106C04F
+:1068800082E290E09093BC148093BB14C501B401E4
+:1068900009C060E070E080E89FEF04C060E070E055
+:1068A00080EC9FE7DF91CF911F910F91FF90EF90C8
+:1068B000DF90CF90BF90AF909F908F9008952F92D0
+:1068C0003F925F926F927F928F929F92AF92BF9210
+:1068D000CF92DF92EF92FF920F931F93CF93DF93AC
+:1068E0008B01EA016115710521F0DB018C93119692
+:1068F0009C93209739F09E012250310923323105B3
+:1069000008F0F8C07C016701BFEFCB1ADB0A560123
+:10691000F7016080862D90E003D1892B11F076017C
+:10692000F2CFFDE26F120AC0570182E0A80EB11C3F
+:10693000D70111966C90772473940BC0BBE26B1255
+:1069400007C05701E2E0AE0EB11CD70111966C9062
+:10695000712CCE018F7E892B89F4B0E36B1222C09B
+:10696000F50180818F7D883541F56180F2E0AF0EC1
+:10697000B11C872D8260782EC0E1D0E0C830D105EF
+:10698000F1F04CF4C230D10511F5C12CD12CE12C21
+:10699000B0E4FB2E2EC0CA30D10531F0C031D10594
+:1069A00019F115C0209751F7CAE0D0E0ACECCA2E1F
+:1069B000DC2CEC2CACE0FA2E1CC02097F9F6C8E0D9
+:1069C000D0E0C12CD12CE12CF0E1FF2E12C060E010
+:1069D00070E080E090E89E01442737FD4095542FF9
+:1069E0008DDD69017A0105C0C12CD12CE12CE8E0D4
+:1069F000FE2EF50160E020E030E0A9014E01AA245E
+:106A000097FCA094BA2C1F0170ED572E560CA9E0EC
+:106A1000A51570F48FEB860D8A3118F499EC592E78
+:106A200006C08FE9860D8A3128F589EA582E560C62
+:106A3000852D90E08C179D07ECF467FD17C0C216FA
+:106A4000D306E406F50678F0C501B40114DD9B0118
+:106A5000AC01250D311D411D511D21303105410570
+:106A6000B0E85B0710F06FEF01C061E03196D10133
+:106A70006C90C9CF872D81700115110571F06623C7
+:106A800029F03197D801ED93FC9307C071FE19C02E
+:106A90003297D801ED93FC9314C067FF12C088238E
+:106AA00029F020E030E040E050E804C02FEF3FEF55
+:106AB0004FEF5FE782E290E09093BC148093BB14A9
+:106AC00016C0882341F050954095309521953F4F51
+:106AD0004F4F5F4F0CC057FF0AC082E290E0909387
+:106AE000BC148093BB142FEF3FEF4FEF5FE7B9016A
+:106AF000CA0104C060E070E080E090E0DF91CF91D7
+:106B00001F910F91FF90EF90DF90CF90BF90AF90CB
+:106B10009F908F907F906F905F903F902F900895FF
+:106B20009111E5C2803219F089508550D0F708954F
+:106B30009111089581548A5108F4805E855A089510
+:106B4000FB01DC0105900D920020E1F70895FB01A7
+:106B5000DC014150504088F08D9181341CF08B3520
+:106B60000CF4805E659161341CF06B350CF4605E52
+:106B7000861B611171F3990B0895881BFCCFFB01F3
+:106B8000DC014150504048F005900D920020C9F7BB
+:106B900001C01D9241505040E0F70895FB0155910E
+:106BA0005523A9F0BF01DC014D9145174111E1F7D3
+:106BB00059F4CD010590002049F04D914015411147
+:106BC000C9F3FB014111EFCF81E090E001970895F7
+:106BD000FB01DC0104C08D910190801921F441502A
+:106BE0005040C8F7881B990B0895FB01DC0102C0D7
+:106BF00001900D9241505040D8F70895DC0101C03A
+:106C00006D9341505040E0F70895FB01DC018D91F8
+:106C100081341CF08B350CF4805E619161341CF082
+:106C20006B350CF4605E861B611189F3990B089536
+:106C3000FB01DC010D900020E9F7119701900D9206
+:106C40000020E1F70895FC018191861721F0882347
+:106C5000D9F7992708953197CF010895FB01DC01F9
+:106C60008D91019080190110D9F3990B0895FB01C2
+:106C7000DC0101900D920020E1F70895FB01DC0199
+:106C80004150504030F08D910190801919F400204E
+:106C9000B9F7881B990B0895FB01DC014150504066
+:106CA00048F001900D920020C9F701C01D9241509B
+:106CB0005040E0F708950F931F93CF93DF93CDB724
+:106CC000DEB72E970FB6F894DEBF0FBECDBF0E898C
+:106CD0001F898EE08C831A8309838FEF9FE79E8341
+:106CE0008D83AE01465E5F4F688D798DCE01019632
+:106CF00010D0EF81F885E00FF11F10822E960FB6AD
+:106D0000F894DEBF0FBECDBFDF91CF911F910F91E1
+:106D100008952F923F924F925F926F927F928F923F
+:106D20009F92AF92BF92CF92DF92EF92FF920F931A
+:106D30001F93CF93DF93CDB7DEB72C970FB6F894A0
+:106D4000DEBF0FBECDBF7C016B018A01FC01178243
+:106D50001682838181FFB0C1CE0101964C01F701FB
+:106D60009381F60193FD859193FF81916F018823B3
+:106D700009F49EC1853239F493FD859193FF819189
+:106D80006F01853221F4B70190E0CAD1E8CF512CD0
+:106D9000312C20E02032A0F48B3269F030F48032C4
+:106DA00059F0833269F420612CC08D3239F0803380
+:106DB00039F4216026C02260246023C0286021C0ED
+:106DC00027FD27C030ED380F3A3078F426FF06C093
+:106DD000FAE05F9E300D1124532E13C08AE0389ED6
+:106DE000300D1124332E20620CC08E3221F426FD8A
+:106DF0005FC1206406C08C3611F4206802C088365A
+:106E000041F4F60193FD859193FF81916F0181110A
+:106E1000C1CF982F9F7D9554933028F40C5F1F4F5E
+:106E2000FFE3F9830DC0833631F0833771F083358A
+:106E300009F057C021C0F801808189830E5F1F4F80
+:106E400044244394512C540114C03801F2E06F0ED5
+:106E5000711CF801A080B18026FF03C0652D70E091
+:106E600002C06FEF7FEFC5012C874FD12C0183014A
+:106E70002C852F77222E16C03801F2E06F0E711C80
+:106E8000F801A080B18026FF03C0652D70E002C02C
+:106E90006FEF7FEFC5012C872DD12C012C85206849
+:106EA000222E830123FC19C0832D90E04816590639
+:106EB000A0F4B70180E290E033D13A94F5CFF50128
+:106EC00027FC859127FE81915F01B70190E028D1D1
+:106ED00031103A94F1E04F1A51084114510479F7F6
+:106EE000DEC0843611F0893631F5F80127FF07C07E
+:106EF00060817181828193810C5F1F4F08C0608126
+:106F00007181882777FD8095982F0E5F1F4F2F7610
+:106F1000B22E97FF09C090958095709561957F4F2F
+:106F20008F4F9F4F2068B22E2AE030E0A4012AD173
+:106F3000A82EA81843C0853729F42F7EB22E2AE048
+:106F400030E025C0F22FF97FBF2E8F36C1F018F444
+:106F5000883579F0ADC0803719F0883721F0A8C0A6
+:106F60002F2F2061B22EB4FE0DC08B2D8460B82E61
+:106F700009C024FF0AC09F2F9660B92E06C028E0E2
+:106F800030E005C020E130E002C020E132E0F8014D
+:106F9000B7FE07C060817181828193810C5F1F4FB2
+:106FA00006C06081718180E090E00E5F1F4FA401F8
+:106FB000E9D0A82EA818FB2DFF77BF2EB6FE0BC078
+:106FC0002B2D2E7FA51450F4B4FE0AC0B2FC08C0CD
+:106FD0002B2D2E7E05C07A2C2B2D03C07A2C01C0C0
+:106FE000752C24FF0DC0FE01EA0DF11D8081803358
+:106FF00011F4297E09C022FF06C07394739404C063
+:10700000822F867809F0739423FD12C020FF06C0FA
+:107010005A2C731418F4530C5718732C731460F40F
+:10702000B70180E290E02C877BD073942C85F6CF5B
+:10703000731410F4371801C0312C24FF11C0B701AC
+:1070400080E390E02C876CD02C8522FF16C021FFB6
+:1070500003C088E590E002C088E790E0B7010CC06B
+:10706000822F867851F021FD02C080E201C08BE2C0
+:1070700027FD8DE2B70190E053D0A51430F4B7019D
+:1070800080E390E04DD05A94F8CFAA94F401EA0D31
+:10709000F11D8081B70190E043D0A110F6CF3320DD
+:1070A00009F45DCEB70180E290E03AD03A94F7CF90
+:1070B000F7018681978102C08FEF9FEF2C960FB664
+:1070C000F894DEBF0FBECDBFDF91CF911F910F911E
+:1070D000FF90EF90DF90CF90BF90AF909F908F90F8
+:1070E0007F906F905F904F903F902F9008959927D9
+:1070F00088270895FC010590615070400110D8F771
+:10710000809590958E0F9F1F0895FC0161507040EF
+:1071100001900110D8F7809590958E0F9F1F0895CC
+:107120000F931F93CF93DF93182F092FEB018B81C0
+:1071300081FD03C08FEF9FEF20C082FF10C04E8102
+:107140005F812C813D81421753077CF4E881F981EE
+:107150009F012F5F3F4F39832883108306C0E88546
+:10716000F985812F1995892B29F72E813F812F5F72
+:107170003F4F3F832E83812F902FDF91CF911F911F
+:107180000F910895FA01AA27283051F1203181F199
+:10719000E8946F936E7F6E5F7F4F8F4F9F4FAF4F1F
+:1071A000B1E03ED0B4E03CD0670F781F891F9A1F32
+:1071B000A11D680F791F8A1F911DA11D6A0F711DE6
+:1071C000811D911DA11D20D009F468943F912AE0F2
+:1071D000269F11243019305D3193DEF6CF010895DA
+:1071E000462F4770405D4193B3E00FD0C9F7F6CF0B
+:1071F000462F4F70405D4A3318F0495D31FD4052D3
+:10720000419302D0A9F7EACFB4E0A6959795879568
+:1072100077956795BA95C9F7009761057105089547
+:107220009B01AC010A2E06945795479537952795F3
+:10723000BA95C9F7620F731F841F951FA01D08958B
+:107240001EE1C8E4DEE100E005C022970109FE016D
+:107250000BBFAED9CA34D10780E00807B1F7F89464
+:02726000FFCF5E
+:107262000000BD1420000A01FF3FFF3F0000803FE5
+:107272008145644325DF363E33334B410160EA00EA
+:10728200000080BB440101000000410000344200C4
+:1072920000504100004040000056430000464300B9
+:1072A20000494300000000000000001F856B3E0003
+:1072B20000803F00004040640064006400640000FD
+:1072C200803B4500803B4500007043000000000207
+:1072D200248050727573612069332072656164790C
+:1072E2002E0000000000003200FA006400DC005AA8
+:1072F20000F0006400FE0001010101015203C2011D
+:107302000E0100003E43FF00004000140054000044
+:107312001F1511151F00000C12120C0000000004B2
+:107322000A0A0A0A11110E040E1F041C00000000B2
+:1073320006191803130C00001C1F11111F00001C5A
+:1073420010181705060500000E1315110E00000097
+:1073520000C8420000C84200007A450040034400D1
+:1073620000FA430000FA43000040400000C84128F0
+:10737200230000282300001E000000102700001038
+:1073820010101010504944204175746F74756E6569
+:1073920020737461727400504944204175746F7493
+:1073A200756E65206661696C65642E204261642099
+:1073B2006578747275646572206E756D6265722E81
+:1073C2000000000000362A80AD2F0043616E6E6F10
+:1073D20074206F70656E2073756264697200534425
+:1073E2002D5052494E54494E472020202020202023
+:1073F2002020004D313132004D32323120496E763B
+:10740200616C696420657874727564657220004DE0
+:1074120032313820496E76616C6964206578747205
+:107422007564657220004D31303920496E76616C89
+:10743200696420657874727564657220004D31301C
+:107442003520496E76616C69642065787472756462
+:10745200657220004D31303420496E76616C69646A
+:1074620020657874727564657220005452494747EA
+:1074720045524544006F70656E00322E322E310047
+:107482003330302D3161005265706F7274696E67EE
+:1074920020656E6473746F70207374617475730009
+:1074A2004D32303020496E76616C696420657874A3
+:1074B200727564657220006F6B0020703A0020695B
+:1074C2003A0020643A0020633A005400496E766123
+:1074D2006C696420657874727564657200416374C6
+:1074E2006976652045787472756465723A20000089
+:1074F200000100250030001D000C0018002400319E
+:10750200001C000B00170023002F001B000A001EA6
+:107512000047000400080022002B001A0003003676
+:107522000037003500380058595A454552524F52DB
+:107532003A005072656865617420746865206E6FE8
+:107542007A7A6C6521004368616E67696E672066AE
+:10755200696C616D656E742100496E736572742089
+:1075620066696C616D656E7400416E64207072654F
+:10757200737320746865206B6E6F62004368616E7E
+:107582006765207375636365737321004C6F616473
+:10759200696E6720636F6C6F7200506C6561736512
+:1075A2002077616974004C6F6164696E6720666957
+:1075B2006C616D656E74005072696E742061626FE9
+:1075C20072746564004368616E67656420636F72FC
+:1075D200726563746C793F005965730046696C612A
+:1075E2006D656E74206E6F74206C6F6164656400EB
+:1075F200436F6C6F72206E6F7420636C65617200F2
+:107602003E0020205A0000803B4500803B450000A0
+:1076120070430000704200000000318B80AD537453
+:1076220065707261746520746F6F20686967683A6B
+:10763200200000000000AFA583A558A560A573A592
+:0276420082A51F
+:00000001FF

+ 5992 - 0
hex_files/300-RAMBo1-0a-en.hex

@@ -0,0 +1,5992 @@
+:100000000C94250F0C94560F0C94560F0C94560F0D
+:100010000C94560F0C94560F0C94560F0C94560FCC
+:100020000C94560F0C94560F0C94560F0C94560FBC
+:100030000C94560F0C9421AD0C94560F0C94560F43
+:100040000C94560F0C94FA8B0C94560F0C94560F7C
+:100050000C94560F0C94560F0C9439260C94E7A868
+:100060000C94560F0C940D890C94560F0C94560F4B
+:100070000C94560F0C94560F0C94560F0C94560F6C
+:100080000C94560F0C94560F0C94560F0C94560F5C
+:100090000C94560F0C94560F0C94560F0C9419A6F2
+:1000A0000C94560F0C94560F0C94560F0C94560F3C
+:1000B0000C94560F0C94560F0C94560F0C94560F2C
+:1000C0000C94560F0C94560F0C94560F0C94560F1C
+:1000D0000C94560F0C94560F0C94560F0C94560F0C
+:1000E0000C94560F86269426B026BE26D826E626E1
+:1000F0000027042706270A2712276BA770A775A7D2
+:100100007FA7F8A789A791A799A7A3A7ADA7B7A786
+:10011000C6A7D0A7F8A7DAA7E4A7EEA716A819A83C
+:100120000CA810A850A81DA821A827A82BA82FA864
+:1001300035A839A83DA850A843A847A84BA8084A05
+:10014000D73B3BCE016E84BCBFFDC12F3D6C7431EB
+:100150009ABD56833DDA3D00C77F11BED9E4BB4C42
+:100160003E916BAAAABE000000803F05A84CCDB20C
+:10017000D44EB93836A9020C50B9918688083CA6ED
+:10018000AAAA2ABE000000803F007C3C3E5E2B3DB8
+:100190003F2F5B5D3B2C2A225C004572723A204D5A
+:1001A000415854454D50204245440054656D70659A
+:1001B000726174757265206865617465642062653A
+:1001C00064207377697463686564206F66662E20A7
+:1001D0004D415854454D502074726967676572658A
+:1001E00064202121004572723A204D494E54454DFC
+:1001F00050003A204578747275646572207377698F
+:100200007463686564206F66662E204D494E5445C0
+:100210004D502074726967676572656420210045DE
+:1002200072723A204D415854454D50003A2045785D
+:10023000747275646572207377697463686564208D
+:100240006F66662E204D415854454D50207472699A
+:10025000676765726564202100202D20496E7661F4
+:100260006C6964206578747275646572206E756D52
+:10027000626572202100504944204175746F747585
+:100280006E652066696E69736865642120507574B7
+:1002900020746865206C617374204B702C204B694E
+:1002A00020616E64204B6420636F6E7374616E74A2
+:1002B000732066726F6D2061626F766520696E745F
+:1002C0006F20436F6E66696775726174696F6E2E19
+:1002D0006800504944204175746F74756E652066DE
+:1002E00061696C6564212074696D656F75740020A7
+:1002F000403A006F6B20543A006F6B20423A005036
+:100300004944204175746F74756E65206661696C2F
+:100310006564212054656D70657261747572652025
+:10032000746F6F206869676800204B643A20002072
+:100330004B693A2000204B703A200020436C6173D7
+:100340007369632050494420002054753A200020EE
+:100350004B753A2000206D61783A2000206D696E5F
+:100360003A200020643A200020626961733A20003C
+:1003700070012C0190012701B0012201C0011D0173
+:10038000F00118011002130130020E016002090190
+:1003900090020401C002FF000003FA004003F500D0
+:1003A0008003F000D003EB002004E6007004E100BD
+:1003B000E004DC004005D700C005D2004006CD00B7
+:1003C000D006C8008007C3003008BE00F008B9009E
+:1003D000C009B400B00AAF00B00BAA00D00CA50051
+:1003E000000EA000500F9B00C0109600501291000C
+:1003F00000148C00C0158700B0178200B0197D0072
+:10040000D01B7800001E730040206E00902269000F
+:10041000F024640040275F0090295A00E02B55002B
+:10042000102E500020304B0010324600E0334100C7
+:1004300090353C001037370070383200A0392D005D
+:10044000B03A2800A03B2300603C1E00103D19007C
+:10045000903D1400103E0F00703E0A00C03E0500A3
+:10046000003F00004D383420582059205A204500C4
+:1004700043616E6E6F7420656E7465722073756271
+:100480006469723A20004D3234004D3233202573B6
+:10049000006175746F25692E67006572726F722036
+:1004A00077726974696E6720746F2066696C650085
+:1004B0004E6F74205344207072696E74696E6700C9
+:1004C0002F005344207072696E74696E67206279E0
+:1004D000746520002E0044656C6574696F6E20663B
+:1004E00061696C65642C2046696C653A2000466938
+:1004F0006C652064656C657465643A002E006F70ED
+:10050000656E206661696C65642C2046696C653A8D
+:10051000200057726974696E6720746F2066696C79
+:10052000653A20002E006F70656E206661696C650B
+:10053000642C2046696C653A20002E006F70656E51
+:10054000206661696C65642C2046696C653A200000
+:1005500046696C652073656C65637465640020533F
+:10056000697A653A200046696C65206F70656E6532
+:10057000643A20002E006F70656E206661696C65BC
+:10058000642C2046696C653A20004E6F77206672B5
+:100590006573682066696C653A20004E6F77206449
+:1005A0006F696E672066696C653A20002220706F63
+:1005B00073002220706172656E743A2200535542B6
+:1005C000524F5554494E452043414C4C2074617262
+:1005D0006765743A2200747279696E6720746F20BF
+:1005E00063616C6C207375622D67636F6465206650
+:1005F000696C6573207769746820746F6F206D6112
+:100600006E79206C6576656C732E204D4158206C98
+:100610006576656C2069733A0053442063617264A7
+:10062000206F6B006F70656E526F6F74206661692A
+:100630006C656400766F6C756D652E696E697420EB
+:100640006661696C656400534420696E6974206654
+:1006500061696C0000002110422063308440A55085
+:10066000C660E770088129914AA16BB18CC1ADD1F8
+:10067000CEE1EFF13112100273325222B5529442A0
+:10068000F772D662399318837BB35AA3BDD39CC348
+:10069000FFF3DEE36224433420040114E664C774EC
+:1006A000A44485546AA54BB528850995EEE5CFF598
+:1006B000ACC58DD55336722611163006D776F66640
+:1006C0009556B4465BB77AA719973887DFF7FEE7E8
+:1006D0009DD7BCC7C448E5588668A778400861180C
+:1006E00002282338CCC9EDD98EE9AFF94889699938
+:1006F0000AA92BB9F55AD44AB77A966A711A500AE0
+:10070000333A122AFDDBDCCBBFFB9EEB799B588B87
+:100710003BBB1AABA66C877CE44CC55C222C033C2B
+:10072000600C411CAEED8FFDECCDCDDD2AAD0BBDD7
+:10073000688D499D977EB66ED55EF44E133E322E7F
+:10074000511E700E9FFFBEEFDDDFFCCF1BBF3AAF27
+:10075000599F788F8891A981CAB1EBA10CD12DC185
+:100760004EF16FE18010A100C230E320045025401B
+:1007700046706760B9839893FBA3DAB33DC31CD37B
+:100780007FE35EF3B1029012F322D232354214526B
+:1007900077625672EAB5CBA5A89589856EF54FE5C7
+:1007A0002CD50DC5E234C324A014810466744764BB
+:1007B00024540544DBA7FAB79987B8975FE77EF71B
+:1007C0001DC73CD7D326F2369106B016576676760B
+:1007D000154634564CD96DC90EF92FE9C899E989E7
+:1007E0008AB9ABA94458654806782768C018E1085B
+:1007F0008238A3287DCB5CDB3FEB1EFBF98BD89BBB
+:10080000BBAB9ABB754A545A376A167AF10AD01AAA
+:10081000B32A923A2EFD0FED6CDD4DCDAABD8BAD06
+:10082000E89DC98D267C076C645C454CA23C832CFA
+:10083000E01CC10C1FEF3EFF5DCF7CDF9BAFBABF5A
+:10084000D98FF89F176E367E554E745E932EB23E4A
+:10085000D10EF01E53544F505045442E200050727C
+:10086000696E7465722073746F707065642064754E
+:100870006520746F206572726F72732E20466978DE
+:1008800020746865206572726F7220616E642075D5
+:100890007365204D39393920746F20726573746126
+:1008A00072742E202854656D70657261747572655E
+:1008B0002069732072657365742E205365742069F6
+:1008C00074206166746572207265737461727469F4
+:1008D0006E6729004B494C4C45442E2000507269EC
+:1008E0006E7465722068616C7465642E206B696C2F
+:1008F0006C28292063616C6C656421006F6B005269
+:100900006573656E643A20002200556E6B6E6F77DA
+:100910006E20636F6D6D616E643A2022004D32323D
+:100920003020532569005A204F6666736574203A5B
+:1009300020007A5F6D61783A20007A5F6D696E3AC7
+:1009400020005A204F6666736574005A204F666611
+:10095000736574206F6B002200556E6B6E6F776E3F
+:1009600020636F6D6D616E643A2022007A5F6D6165
+:10097000783A20007A5F6D696E3A2000795F6D6188
+:10098000783A2000795F6D696E3A2000785F6D617A
+:10099000783A2000785F6D696E3A2000205A3A005C
+:1009A00020593A0020436F756E7420583A20002079
+:1009B000453A00205A3A0020593A00583A00464930
+:1009C000524D574152455F4E414D453A4D61726C13
+:1009D000696E2056312E302E323B20537072696E74
+:1009E0007465722F6772626C206D61736875702018
+:1009F000666F722067656E36204649524D574152E8
+:100A0000455F55524C3A68747470733A2F2F67697A
+:100A1000746875622E636F6D2F4D61726C696E46DE
+:100A200069726D776172652F4D61726C696E2050CD
+:100A3000524F544F434F4C5F56455253494F4E3AD5
+:100A4000312E30204D414348494E455F5459504561
+:100A50003A50727573612069332045585452554499
+:100A600045525F434F554E543A3120555549443A0B
+:100A700030303030303030302D303030302D30307C
+:100A800030302D303030302D30303030303030306C
+:100A9000303030300A005072757361206933204F56
+:100AA00066662E005072757361206933207265612D
+:100AB00064792E0042656420646F6E652E002042CA
+:100AC0003A0020453A00543A004265642048656186
+:100AD00074696E672E0048656174696E6720646F83
+:100AE0006E652E0020573A0020453A00543A0048DF
+:100AF000656174696E672E2E2E002042403A0020F8
+:100B0000403A00202F003A00205400202F002042BD
+:100B10003A00202F006F6B20543A002569206D6940
+:100B20006E2C2025692073656300456E642066691C
+:100B30006C65206C69737400426567696E20666934
+:100B40006C65206C697374004E6F206D6F76652E36
+:100B50000050727573612069332072656164792E6B
+:100B600000526573756D696E67207072696E7400EE
+:100B70005761697420666F7220757365722E2E2E10
+:100B800000536C6565702E2E2E00256920686F75E8
+:100B90007273202569206D696E7574657300446FEA
+:100BA0006E65207072696E74696E672066696C6527
+:100BB0000053544F505045442E20005072696E74BB
+:100BC00065722073746F707065642064756520743D
+:100BD0006F206572726F72732E2046697820746878
+:100BE00065206572726F7220616E64207573652076
+:100BF0004D39393920746F20726573746172742EA7
+:100C0000202854656D706572617475726520697312
+:100C10002072657365742E20536574206974206199
+:100C2000667465722072657374617274696E672987
+:100C3000004E6F204C696E65204E756D62657220A6
+:100C40007769746820636865636B73756D2C204CDD
+:100C5000617374204C696E653A20004E6F204368C2
+:100C600065636B73756D2077697468206C696E6558
+:100C7000206E756D6265722C204C617374204C6916
+:100C80006E653A2000636865636B73756D206D69EE
+:100C9000736D617463682C204C617374204C696EB1
+:100CA000653A20004C696E65204E756D6265722054
+:100CB0006973206E6F74204C617374204C696E658B
+:100CC000204E756D6265722B312C204C617374203F
+:100CD0004C696E653A20004D31313000446F6E65CD
+:100CE00020736176696E672066696C652E006F6B94
+:100CF000004D3239002020506C616E6E6572427575
+:100D00006666657242797465733A200020467265A2
+:100D100065204D656D6F72793A200044656320321D
+:100D200033203230313500436F6D70696C65643A41
+:100D30002000286E6F6E652C2064656661756C748A
+:100D400020636F6E6669672900207C204175746896
+:100D50006F723A20004465632032332032303135DF
+:100D60002031353A34383A333000204C61737420E6
+:100D7000557064617465643A2000312E302E320063
+:100D80004D61726C696E0020536F66747761726595
+:100D900020526573657400205761746368646F67DF
+:100DA000205265736574002042726F776E206F75F4
+:100DB00074205265736574002045787465726E61A5
+:100DC0006C20526573657400506F776572557000C2
+:100DD0007374617274002200656E717565696E6767
+:100DE0002022002200656E717565696E6720220001
+:100DF000FFFFFF0000A0400000A0400000004000F6
+:100E0000005643000046431FC54843000000000051
+:100E10000000001F856B3E00005643000046430063
+:100E200000494300000000000000001F856B3E6584
+:100E300063686F3A004572726F723A004361726480
+:100E40002072656D6F766564004361726420696E1F
+:100E50007365727465640047312045343020463133
+:100E60003030004731204536352046343030004D93
+:100E7000383300473120452D38302046343030009B
+:100E80004D3833002D2D3A2D2D002D2D2D0053449E
+:100E9000000120000120004D363030004368616EB3
+:100EA00067652066696C616D656E7400466C6F776E
+:100EB00000466C6F770046616E2073706565640054
+:100EC00046616E207370656564004265640042652A
+:100ED00064004E6F7A7A6C65004E6F7A7A6C6500AA
+:100EE0005370656564005370656564004D61696E9B
+:100EF00000436F6F6C646F776E00464C4558202D31
+:100F000020203235302F35300050502020202D2029
+:100F1000203235342F3130300048495053202D20B5
+:100F2000203232302F3130300050455420202D20D7
+:100F3000203234302F393000504C4120202D2020D9
+:100F40003232302F35300041425320202D202032C4
+:100F500038352F313030004D61696E004D38340026
+:100F60004D383420582059205A2045004D32340045
+:100F70004D323320257300052E2E004D61696E0021
+:100F800046616E2073706565640046616E20737003
+:100F90006565640042656400426564004E6F7A7A5C
+:100FA0006C65004E6F7A7A6C650053657474696E77
+:100FB000677300580059005A00457874727564656B
+:100FC00072004578747275646572004D6F766520A5
+:100FD0005A004D6F76652059004D6F766520580098
+:100FE00053657474696E67730047323800417574D5
+:100FF0006F20686F6D65004D38340044697361621D
+:101000006C652073746570706572730047323820A8
+:101010005A0043616C696272617465205A004D6FB9
+:10102000766520617869730054656D7065726174CE
+:10103000757265004D61696E005265763A203330F5
+:10104000302D316100686F77746F2E707275736127
+:1010500033642E636F6D00666F72756D2E707275DE
+:10106000736133642E636F6D0070727573613364E6
+:101070002E636F6D004669726D77617265202D2059
+:10108000322E322E31004D61696E00537570706FD3
+:1010900072740053657474696E677300556E6C6F7B
+:1010A00061642066696C616D656E74004C6F61648B
+:1010B0002066696C616D656E74004E6F205344202C
+:1010C00063617264005072696E742066726F6D2085
+:1010D00053440053746F70207072696E74005265CF
+:1010E00073756D65207072696E74005061757365FB
+:1010F000207072696E740050726568656174005486
+:10110000756E6500496E666F2073637265656E006B
+:1011100048617264636F6465642044656661756CE0
+:10112000742053657474696E6773204C6F616465D5
+:10113000640046696C616D656E74207365747469D2
+:101140006E67733A2044697361626C6564002020A5
+:10115000204D32303020440046696C616D656E74FC
+:101160002073657474696E67733A002020204D32D5
+:1011700030392053004175746F2D5265747261636C
+:10118000743A20533D3020746F2064697361626C3F
+:10119000652C203120746F20696E746572707265E1
+:1011A0007420657874727564652D6F6E6C79206D2E
+:1011B0006F766573206173207265747261637473F6
+:1011C000206F72207265636F7665726965730020A7
+:1011D00046002020204D3230382053005265636F86
+:1011E0007665723A20533D4578747261206C656E65
+:1011F00067746820286D6D2920463A5370656564D0
+:1012000020286D6D2F6D2900205A002046002020D7
+:10121000204D323037205300526574726163743A46
+:1012200020533D4C656E67746820286D6D292046FB
+:101230003A537065656420286D6D2F6D29205A3AE8
+:10124000205A4C69667420286D6D290020440020C6
+:1012500049002020204D3330312050005049442097
+:1012600073657474696E67733A00205A00205900E0
+:1012700020204D323036205800486F6D65206F6653
+:101280006673657420286D6D293A00204500205A48
+:101290000020580020420020540020204D323035DC
+:1012A000205300416476616E6365642076617269E3
+:1012B00061626C65733A20533D4D696E20666565C9
+:1012C000647261746520286D6D2F73292C20543D44
+:1012D0004D696E2074726176656C20666565647216
+:1012E00061746520286D6D2F73292C20423D6D6936
+:1012F0006E696D756D207365676D656E74207469B8
+:101300006D6520286D73292C20583D6D6178696DBD
+:10131000756D205859206A65726B20286D6D2F738A
+:10132000292C20205A3D6D6178696D756D205A20F9
+:101330006A65726B20286D6D2F73292C2020453D26
+:101340006D6178696D756D2045206A65726B202826
+:101350006D6D2F73290020540020204D3230342031
+:101360005300416363656C65726174696F6E3A2006
+:10137000533D616363656C65726174696F6E2C20A7
+:10138000543D7265747261637420616363656C655A
+:10139000726174696F6E00204500205A0020590068
+:1013A00020204D3230312058004D6178696D756DC7
+:1013B00020416363656C65726174696F6E20286D8E
+:1013C0006D2F7332293A00204500205A0020590021
+:1013D00020204D3230332058004D6178696D756D95
+:1013E0002066656564726174657320286D6D2F7366
+:1013F000293A00204500205A0020590020204D396C
+:101400003220580053746570732070657220756EB9
+:1014100069743A0045303A20005A3A2000593A207F
+:1014200000583A20004D53312C4D53322050696EF4
+:10143000730A00656E6473746F7073206869743A20
+:10144000205A00205A3A00656E6473746F707320DE
+:101450006869743A20590020593A00656E647374C3
+:101460006F7073206869743A20580020583A0065FC
+:101470006E6473746F7073206869743A200024F48A
+:10148000D43050C38E20C2A24017828B7011127AC2
+:10149000910D816CD90AA861E108C75866076151AE
+:1014A00043061E4B5D05C145A7041A411104093DC1
+:1014B0009803713931034036DB0265339102D43031
+:1014C0005402802E1D02632CEE01752AC501B0283E
+:1014D000A001102781018F2564012B244B01E022FC
+:1014E0003401AC211F018D200D01801FFC00841EE2
+:1014F000ED00971DDF00B81CD200E61BC600201BC4
+:10150000BC00641AB200B219A8000A19A0006A1837
+:101510009900D117910040178B00B5168400311641
+:101520007E00B31579003A157300C7146F00581484
+:101530006A00EE1366008813630025135E00C7126D
+:101540005B006C12570015125400C111510070114C
+:101550004F0021114B00D61049008D104700461056
+:10156000440002104200C00F4000800F3E00420FB6
+:101570003C00060F3B00CB0E3800930E37005C0E8C
+:101580003500270E3400F30D3200C10D3100900DEF
+:101590003000600D2E00320D2D00050D2C00D90CF1
+:1015A0002B00AE0C2900850C29005C0C2700350CA3
+:1015B00027000E0C2600E80B2400C40B2400A00B0F
+:1015C00023007D0B23005A0B2100390B2100180B3F
+:1015D0002000F80A1F00D90A1E00BB0A1E009D0A3F
+:1015E0001D00800A1D00630A1C00470A1B002C0A0C
+:1015F0001B00110A1A00F7091A00DD091900C409B5
+:101600001900AB091900920917007B09180063093A
+:1016100017004C09160036091600200916000A09A1
+:101620001500F5081500E0081400CC081400B808EF
+:101630001400A4081400900813007D0812006B0821
+:10164000130058081200460812003408110023083D
+:1016500011001208110001081100F0071000E00746
+:101660001000D0071000C0071000B0070F00A1073E
+:10167000100091070E0083070F0074070F00650725
+:101680000E0057070E0049070E003B070D002E07FE
+:101690000E0020070D0013070D0006070D00F906C8
+:1016A0000C00ED060D00E0060C00D4060C00C80688
+:1016B0000C00BC060C00B0060C00A4060B0099063A
+:1016C0000C008D060B0082060B0077060B006C06E3
+:1016D0000B0061060A0057060B004C060A00420682
+:1016E0000A0038060A002E060A0024060A001A0616
+:1016F0000A001006090007060A00FD050900F405A6
+:101700000900EB050900E2050900D9050900D0052B
+:101710000900C7050900BE050900B5050800AD05AB
+:101720000800A50509009C050800940508008C0523
+:101730000800840508007C050800740508006C0595
+:101740000700650508005D050700560508004E0501
+:101750000700470507004005080038050700310568
+:1017600007002A050700230507001C0506001605CB
+:1017700007000F0507000805060002050700FB0427
+:101780000600F5040700EE040600E8040600E20483
+:101790000700DB040600D5040600CF040600C904D8
+:1017A0000600C3040600BD040600B7040600B10429
+:1017B0000500AC040600A6040600A00405009B0476
+:1017C000060095040500900406008A0405008504BF
+:1017D0000500800406007A04050075040500700405
+:1017E00005006B04050066040500610405005C0447
+:1017F000050057040500520405004D040500480487
+:101800000500430405003E0404003A0405003504C5
+:101810000500300404002C04050027040400230400
+:1018200005001E0404001A04040016040500110437
+:1018300004000D040400090405000404040000046D
+:101840000400FC030400F8030400F4030400F003A4
+:101850000400EC030400E8030400E4030400E003D4
+:101860000400DC030400D8030400D4030400D00304
+:101870000400CC030400C8030300C503030024F4E0
+:1018800004D9201BC40C5C0E9804C4095F026507D0
+:101890007101F405F900FB04B30048048700C1039B
+:1018A00069005803550003034500BE023A00840254
+:1018B000310053022A002902250004022000E4011D
+:1018C0001C00C8011900AF01170098011400840121
+:1018D0001300710110006101100051010E0043015D
+:1018E0000D0036010B002B010B0020010B00150130
+:1018F00009000C01090003010800FB000800F300C7
+:101900000800EB000700E4000600DE000600D80037
+:101910000600D2000600CC000500C7000500C2008A
+:101920000500BD000400B9000400B5000400B100CA
+:101930000400AD000400A9000400A5000300A200FB
+:1019400003009F0004009B00030098000300950023
+:10195000020093000300900003008D0002008B0042
+:10196000030088000200860002008400030081005A
+:1019700002007F0002007D0002007B00020079006F
+:10198000020077000100760002007400020072007D
+:101990000100710002006F0002006D0001006C0088
+:1019A00002006A0001006900020067000100660091
+:1019B0000100650001006400020062000100610096
+:1019C0000100600001005F0002005D0001005C009A
+:1019D00001005B0001005A0001005900010058009D
+:1019E000010057000100560001005500010054009D
+:1019F000010053000000530001005200010051009B
+:101A00000100500001004F0001004E0000004E0098
+:101A100001004D0001004C0001004B0000004B0094
+:101A200001004A0001004900010048000000480090
+:101A3000010047000100460000004600010045008B
+:101A40000000450001004400010043000000430085
+:101A5000010042000000420001004100000041007E
+:101A60000100400001003F0000003F0001003E0077
+:101A700000003E0001003D0000003D0001003C0070
+:101A800000003C0000003C0001003B0000003B0067
+:101A900001003A0000003A0001003900000039005E
+:101AA0000100380000003800000038000100370055
+:101AB000000037000100360000003600000036004C
+:101AC0000100350000003500000035000100340041
+:101AD0000000340000003400010033000000330037
+:101AE000000033000100320000003200000032002C
+:101AF0000100310000003100000031000100300021
+:101B0000000030000000300001002F0000002F0016
+:101B100000002F0000002F0001002E0000002E000A
+:101B200000002E0001002D0000002D0000002D00FF
+:101B300000002D0001002C0000002C0000002C00F3
+:101B400000002C0001002B0000002B0000002B00E7
+:101B500000002B0001002A0000002A0000002A00DB
+:101B600000002A00010029000000290000002900CF
+:101B700000002900000029000100280000002800C2
+:101B800000002800000028000000280001002700B5
+:101B900000002700000027000000270000002700A9
+:101BA000010026000000260000002600000026009C
+:101BB000000026000100250000002500000025008F
+:101BC0000000250000002500000025000100240081
+:101BD0000000240000002400000024000000240075
+:101BE0000100230000002300000023000000230068
+:101BF0000000230000002300000023000100220059
+:101C0000000022000000220000002200000022004C
+:101C1000000022000100210000002100000021003E
+:101C20000000210000002100000021000000210030
+:101C30000100200000002000000020000000200023
+:101C40000000200000002000000020000000200014
+:101C500001001F0000001F0000001F0000001F0007
+:101C600000001F0000001F0000001F0001001E00F8
+:101C700000001E0000001E0000001E000000207476
+:101C80006F6F206C6F6E6720657874727573696F03
+:101C90006E2070726576656E7465640020636F6C8B
+:101CA0006420657874727573696F6E2070726576E2
+:101CB000656E746564000000090A02080B0C0D07CC
+:101CC0000603040100000000000000000000000006
+:101CD0000000000000000000000000000000000004
+:101CE000000011100F0000000000000000000000C4
+:101CF00000000000000000000000000000000000E4
+:101D000000000000000000000000000001021020A0
+:101D10002008081020401020408002010201080421
+:101D200002010102040810204080804020100804B5
+:101D3000020180040201804020100804020108040E
+:101D40000201010204081020408001020408102052
+:101D5000408010080408801020400440801020407B
+:101D600004800505050507050808080802020202A7
+:101D70000A0A080804040404010101010101010127
+:101D80000303030303030303040707070C0C0C0CF2
+:101D90000C0C0C0C020202020606060606060606DB
+:101DA0000B0B0B0B0B0B0B0B07070A0A0A0A0A0A91
+:101DB000050505040404080800002000230026008F
+:101DC00029002C002F003200000100000301060151
+:101DD000090100002200250028002B002E00310000
+:101DE000340002010000050108010B010000210080
+:101DF000240027002A002D003000330001010000DC
+:101E0000040107010A01024E414E494E4954594905
+:101E10004E46CDCCCC3D0AD7233C17B7D13877CC32
+:101E20002B329595E6241FB14F0A00002041000097
+:101E3000C84200401C4620BCBE4CCA1B0E5AAEC550
+:101E40009D749D63FF7DEDA5A16311241FBECFEF9F
+:101E5000D1E2DEBFCDBF00E00CBF15E0A0E0B2E0F4
+:101E6000E2E6F2E701E00BBF02C007900D92A23E4E
+:101E7000B107D9F724E1A2EEB5E001C01D92AD3B58
+:101E8000B207E1F71EE1C8E4DEE100E006C02297F8
+:101E90000109FE010BBF0E94D8B2C234D10780E015
+:101EA0000807A9F70E94F1A90C9420B90C9400002E
+:101EB000CF93DF93EC019C012C5F3F4F41E050E05A
+:101EC00060E070E0898D9A8D0E94FA19882399F05C
+:101ED0004D895E896F89788D452B462B472B59F4A8
+:101EE0004C815D816E817F814D8B5E8B6F8B788F96
+:101EF000998190689983DF91CF910895CF92DF9275
+:101F0000EF92FF920F931F93CF93DF93EC01898998
+:101F10009A89AB89BC89803E9F4FAF41B10510F0D3
+:101F200080E06BC0CE01C4DF8823D1F30E940E187D
+:101F3000182F8823A9F3E98DFA8DCC80DD80EE80FF
+:101F4000FF8032E0C31AD108E108F108058404C01B
+:101F5000CC0CDD1CEE1CFF1C0A94D2F786859785FD
+:101F6000A089B189C80ED91EEA1EFB1E81E08093AC
+:101F7000E805C092EB07D092EC07E092ED07F092F3
+:101F8000EE0780E092E0EBEEF5E0DF019C011D92B0
+:101F900021503040E1F701E0E98DFA8D8481081786
+:101FA00090F42BEE35E0B701A601400F511D611DE5
+:101FB000711D8091E9059091EA050E94E73B882315
+:101FC000E1F00F5FE9CFC12C82E0D82EE12CF12C9B
+:101FD000058404C0CC0CDD1CEE1CFF1C0A94D2F757
+:101FE00049895A896B897C894C0D5D1D6E1D7F1D49
+:101FF000498B5A8B6B8B7C8B812FDF91CF911F91FB
+:102000000F91FF90EF90DF90CF900895CF93DF93E3
+:10201000EC0141E0611101C040E06C857D858E8559
+:102020009F850E944E18882341F0888920E2829F74
+:10203000C001112485519A4F02C080E090E0DF91E9
+:10204000CF91089530E020E04EE2DC015C91503207
+:1020500071F0383029F4FB01E20FF11D40832F5F4E
+:10206000FB01E20FF11DDC015C9150832F5F3F5FAC
+:1020700001963B3051F7FB01E20FF11D10820895EC
+:10208000CF93DF93EB01FC012381211102C080E09B
+:102090000EC02250223020F48FE28883198206C0BD
+:1020A00060E0B4DF009799F3BE01CCDF81E0DF91FF
+:1020B000CF910895FB012BE030E231932150E9F7F5
+:1020C000DC0190E027E03A2FEB2F8D9181110AC0BF
+:1020D000DA013C931196EC9381E0FB019081903200
+:1020E00039F525C08F32A1F38E3219F0EAE8F1E01C
+:1020F00008C02A30E1F098E02AE0E5CF31963817A1
+:10210000B1F034913111FACF291788F03FED380F33
+:102110003E3568F431E0390FFB01E90FF11D9FE90D
+:10212000980F9A3108F480528083932FCCCF80E0AF
+:1021300008950F931F93CF93DF93EC018B018B8155
+:10214000882311F080E042C0FB018789803139F19A
+:102150008032C1F783E08B83F801428D538D648D0B
+:10216000758D4D8B5E8B6F8B788F9E012F5E3F4FF1
+:10217000C8010E940519882329F31A8F098F81E06D
+:1021800089831C821D821E821F82188619861A86E8
+:102190001B861C861D861E861F86188A17C082E035
+:1021A0008B831D8A1E8A1F8A188EFB01408D518DDC
+:1021B00060E070E095E0440F551F661F771F9A9509
+:1021C000D1F7498B5A8B6B8B7C8BD7CFDF91CF911B
+:1021D0001F910F9108952F923F924F925F926F92AD
+:1021E0007F928F929F92AF92BF92CF92DF92EF92A7
+:1021F000FF920F931F93CF93DF93EC015B016A0172
+:102200008B81811103C08FEF9FEFC7C0898180FF51
+:10221000FACF49895A896B897C8988859985AA85ED
+:10222000BB852601612C712C8A019B01081B190BAF
+:102230002A0B3B0B401651066206730618F06A0122
+:10224000C81AD90A76013E0124E0620E711CE1141D
+:10225000F10409F476C0488559856A857B854A0171
+:1022600081E098222B811A012B01E9E056944794D2
+:1022700037942794EA95D1F7898D9A8DFC01223005
+:1022800049F4628D738D848D958D620D731D841D4F
+:10229000951D3CC014811150122181149104C1F488
+:1022A000111116C0452B462B472B49F48D899E8969
+:1022B000AF89B88D8C839D83AE83BF8309C04C8169
+:1022C0005D816E817F81930121D7882309F49BCFA3
+:1022D000E98DFA8D6C817D818E819F8162507109BB
+:1022E00081099109058404C0660F771F881F991F13
+:1022F0000A94D2F72685378540895189620F731F6A
+:10230000841F951F610F711D811D911D20E032E01A
+:102310002819390987012E153F0508F4890101158F
+:10232000F2E01F0769F52091EB073091EC0740912F
+:10233000ED075091EE07621773078407950719F4AC
+:102340001FC0C6012AC09501AB01BC018091E905FF
+:102350009091EA050E94723B882309F454CFA00EA5
+:10236000B11E88859985AA85BB85800F911FA11D07
+:10237000B11D88879987AA87BB87E01AF10A67CFC2
+:1023800040E08CD6882309F43ECFB40165517A4FE2
+:10239000A801C5010E94F5B5E2CFDF91CF911F9151
+:1023A0000F91FF90EF90DF90CF90BF90AF909F90F4
+:1023B0008F907F906F905F904F903F902F900895F7
+:1023C000CF93DF931F92CDB7DEB741E050E0BE015F
+:1023D0006F5F7F4F00DF019719F4898190E002C0A1
+:1023E0008FEF9FEF0F90DF91CF910895CF92DF9203
+:1023F000EF92FF920F931F93CF93DF936C01EB014A
+:102400007A01FC018381823060F00085118522858C
+:1024100033850F71112722273327012B022B032B22
+:1024200011F08FEF5CC04115510511F0F7011082DA
+:102430001DE040E250E0BE01C601CDDE80329105D4
+:1024400039F021E0892B09F420E0822F819547C0E3
+:1024500028812223C1F0253E61F32E3251F33B85C2
+:102460003F733F3061F4E114F10449F04A8D5B8D14
+:10247000452B29F42F713FEF320F343030F02B858C
+:1024800023FDD7CF2CC080E02AC030E02150310995
+:10249000129FC001139F900D1124F701E80FF91F3F
+:1024A000298120832B8121832D8122832F812383E6
+:1024B000298524832E852583288926832A892783B5
+:1024C0002C8920872E892187288D22872C8D238790
+:1024D0002E8D2487288126FFD2CF1586D0CFDF917D
+:1024E000CF911F910F91FF90EF90DF90CF900895C3
+:1024F0001F93CF93DF93EC018B81823018F480E03F
+:1025000090E023C0488559856A857B85A5E076954E
+:10251000679557954795AA95D1F7142F1F70CE014F
+:102520004FDF97FDECCF488559856A857B85415EF5
+:102530005F4F6F4F7F4F488759876A877B8720E2BD
+:10254000129FC001112485519A4FDF91CF911F91A5
+:1025500008954F925F926F927F92AF92BF92CF9207
+:10256000DF92EF92FF920F931F93CF93DF93EC01D3
+:102570006A017B012B81222349F089899A89AB89E1
+:10258000BC8984179507A607B70710F480E06BC0D5
+:10259000223009F463C0C114D104E104F10449F408
+:1025A0001C821D821E821F82188619861A861B862F
+:1025B00059C088859985AA85BB85E98DFA8DE58501
+:1025C000F0E03996AC01BD01415051096109710932
+:1025D0000E2E04C076956795579547950A94D2F7C5
+:1025E00097018601015011092109310904C036956E
+:1025F000279517950795EA95D2F70417150726072B
+:10260000370720F0892B8A2B8B2B49F48D899E89E3
+:10261000AF89B88D8C839D83AE83BF8304C0041BB8
+:10262000150B260B370B280139015E0184E0A80E3B
+:10263000B11C411451046104710481F04C815D812D
+:102640006E817F819501898D9A8D60D591E0491ABF
+:102650005108610871088111ECCF05C0C886D98680
+:10266000EA86FB8681E0DF91CF911F910F91FF9069
+:10267000EF90DF90CF90BF90AF907F906F905F9082
+:102680004F9008950F931F93CF93DF93EC018B81AD
+:102690008823D1F1898187FF32C061E0CE01B6DCA9
+:1026A0008C01009789F1FC018081853E69F18B8165
+:1026B000823040F449895A896B897C89448F558FCF
+:1026C000668F778F4D895E896F89788DF801538F7A
+:1026D000428F758B648BE091E205F091E3053097B2
+:1026E00059F0B8016A5E7F4FC80148961995F80104
+:1026F000808D918D938B828B89818F778983DF91F8
+:10270000CF911F910F918AC481E0888380E0DF918F
+:10271000CF911F910F910895CF93DF93EC01B2DF1A
+:102720001B82DF91CF910895FC0123812111F4CF09
+:1027300008954F925F926F927F92AF92BF92CF9225
+:10274000DF92EF92FF920F931F93CF93DF9300D00E
+:102750001F92CDB7DEB75C016A017B01FC0183816A
+:102760008130E9F4818181FF1AC0F5018189928964
+:10277000A389B48984179507A607B70780F0892B2A
+:102780008A2B8B2B09F472C0F5014084518462843A
+:102790007384B701A601C501DCDE811102C080E0AF
+:1027A00066C0F501818D928DC114D104E104F1045C
+:1027B00069F4458956896789708D25D7882379F30F
+:1027C000F501158A168A178A108E37C0F5014481E3
+:1027D0005581668177819E012F5F3F4F97D4882373
+:1027E000F1F249815A816B817C81F501818D928D55
+:1027F000FC012789203139F4483FFFEF5F0761056D
+:102800007105D8F407C0483F2FEF520762072FE049
+:10281000720798F4F8D6882309F4C1CFF5014481F2
+:102820005581668177810FEF1FEF2FEF3FE0818D9C
+:10283000928D51D5882309F4B2CFF501C18AD28A8D
+:10284000E38AF48A818180688183C5011BDF882344
+:1028500009F4A5CFB701A6014C145D046E047F04F2
+:1028600010F4B301A201C50174DE01C081E00F9034
+:102870000F900F900F90DF91CF911F910F91FF90CC
+:10288000EF90DF90CF90BF90AF907F906F905F9070
+:102890004F900895FF920F931F93CF93DF93EC0116
+:1028A000F42E80E2689FF0011124E551FA4F8385F0
+:1028B000817121F0842F827109F04EC08091EB0765
+:1028C0009091EC07A091ED07B091EE078C879D8762
+:1028D000AE87BF87688B4489558960E070E0BA0194
+:1028E00055274427028D138D20E030E0402B512BDB
+:1028F000622B732B4D8B5E8B6F8B788F83858871EA
+:1029000051F4048D158D268D378D098B1A8B2B8BE9
+:102910003C8B81E00BC08031F9F49E012F5E3F4F6C
+:10292000898D9A8D72D48823B9F084E08B838F2DA2
+:102930008F7089831C821D821E821F8218861986D1
+:102940001A861B86F4FE0BC040E050E0BA01CE01AF
+:10295000F0DE811104C011C01B8280E00EC0F5FEC4
+:102960000BC049895A896B897C89CE01DF91CF914F
+:102970001F910F91FF90EDCD81E0DF91CF911F91DD
+:102980000F91FF900895AF92BF92CF92DF92EF9296
+:10299000FF920F931F93CF93DF937C01EB016A01AA
+:1029A000B22E898D9A8DF701928F818F40E050E091
+:1029B000BA01CE01CEDDA12C088519852A853B857B
+:1029C00089899A89AB89BC89081719072A073B07A7
+:1029D000A0F585E036952795179507958A95D1F747
+:1029E0000F70CE0185DD009709F481C0FC012081C4
+:1029F000222311F0253EB9F4A1100EC04091EB073F
+:102A00005091EC076091ED077091EE07F701448754
+:102A1000558766877787008BFC018081AA24A39461
+:102A20008111CACF0AC04BE050E0BC01C6010E9430
+:102A3000E8B5892B09F0C0CF58C08B2D8274823441
+:102A400009F055C0AA2049F0F701008961E0C701EB
+:102A5000DDDAEC01009769F44AC08B81823009F419
+:102A600046C0CE014BDA882309F441C0CBEED5E055
+:102A700000E080E2FE0111928A95E9F78BE0F60111
+:102A8000DE0101900D928A95E1F7E091E205F09167
+:102A9000E305309739F0BE01625F7F4FCE0140966B
+:102AA000199508C081E298E2998B888B80E098E0C4
+:102AB0009F878E87888999899B8B8A8B998F888F2E
+:102AC0008E859F859F8B8E8BA9D2882381F04B2D7D
+:102AD000602FC701DF91CF911F910F91FF90EF9071
+:102AE000DF90CF90BF90AF90D5CEB7FEF0CF80E013
+:102AF000DF91CF911F910F91FF90EF90DF90CF90DA
+:102B0000BF90AF9008953F924F925F926F927F92E5
+:102B10008F929F92AF92BF92CF92DF92EF92FF92ED
+:102B20000F931F93CF93DF93CDB7DEB7C354D10973
+:102B30000FB6F894DEBF0FBECDBF5C016B012496CB
+:102B40005FAF4EAF2497522E1C8E1F8E19821C82AF
+:102B50006115710511F410E073C0FC0183818111CE
+:102B6000FACF2496EEADFFAD249780818F3211F01D
+:102B700076011DC02496EEADFFAD249780818F3283
+:102B800031F431962496FFAFEEAF2497F3CFF601E0
+:102B900083818250823060F3F601618D728DCE01A7
+:102BA0000196C7DA8823B9F2CE0101967C018E0125
+:102BB000045E1F4F3801FE0131964F01402E312E29
+:102BC00019C08823A9F121E0AE01495C5F4FB7012C
+:102BD000C801D9DE882309F4BECFEC14FD0411F03E
+:102BE000C7019ADD0615170501F1942D832D780193
+:102BF000092F182FAE014E5B5F4FBE01695C7F4FFE
+:102C000024968EAD9FAD249755DA882309F4A3CF7F
+:102C10002496EEADFFAD249780818F3291F63196E8
+:102C20002496FFAFEEAF2497F3CF982D892DDFCFF9
+:102C3000252DAE01495C5F4FB701C501A4DE182FF9
+:102C4000CE01019671DDCE014C966EDD812FCD5BFC
+:102C5000DF4F0FB6F894DEBF0FBECDBFDF91CF912F
+:102C60001F910F91FF90EF90DF90CF90BF90AF90AA
+:102C70009F908F907F906F905F904F903F900895BE
+:102C8000CF93DF93EC0140E050E0BA0152DD88239E
+:102C900061F061E0CE01BAD9009739F025EEFC0170
+:102CA00020831B82DF91CF91B9C180E0DF91CF916A
+:102CB00008951F93CF93DF93CDB7DEB76B970FB611
+:102CC000F894DEBF0FBECDBFAB0119821C8222E09B
+:102CD000BC01CE01019617DF182F882321F0CE0109
+:102CE0000196CEDF182FCE0101961EDD812F6B9647
+:102CF0000FB6F894DEBF0FBECDBFDF91CF911F910D
+:102D000008952F923F924F925F926F927F928F928F
+:102D10009F92AF92BF92CF92DF92EF92FF920F936A
+:102D20001F93CF93DF9300D01F921F92CDB7DEB7D2
+:102D30008C015B013A01DC0113968C911397813071
+:102D4000C1F411968C9181FF14C082FF18C0F80164
+:102D5000418952896389748980859185A285B3856B
+:102D600084179507A607B70751F0C801F2DB811158
+:102D700006C081E0F80180838FEF9FEF37C16301C8
+:102D800083C0D80159968D919C915A97FC01F4818A
+:102D9000F1501A012B0169E0569447943794279417
+:102DA0006A95D1F7F221FD834A0121E09222FF23A7
+:102DB00009F476C080E092E08819990976018C15B3
+:102DC0009D0508F47C01D8015996ED91FC915A9724
+:102DD00014962D903D904D905C901797B2E02B1A71
+:102DE000310841085108058404C0220C331C441CDE
+:102DF000551C0A94D2F786859785A089B189280E3B
+:102E0000391E4A1E5B1EED812E0E311C411C511CC9
+:102E1000E114F2E0FF0609F089C08091EB07909180
+:102E2000EC07A091ED07B091EE0782159305A4057C
+:102E3000B50569F41092E8058FEF9FEFDC018093F0
+:102E4000EB079093EC07A093ED07B093EE07950185
+:102E5000B201A1018091E9059091EA050E94E73B4A
+:102E6000882309F486CFF80180859185A285B385F2
+:102E70008E0D9F1DA11DB11D80879187A287B387ED
+:102E8000AE0CBF1CCE18DF08D80118964D915D918D
+:102E90006D917C911B97C114D10409F072CF7AC057
+:102EA0008114910409F086CF14964D915D916D9136
+:102EB0007C911797411551056105710559F4559697
+:102EC0008D919D910D90BC91A02D0097A105B1050C
+:102ED00039F520C09E012F5F3F4F18D1882309F498
+:102EE00048CF89819A81AB81BC81F801218D328DD7
+:102EF000F9012789203139F4883FFFEF9F07A105A9
+:102F0000B10540F40DC0883F2FEF9207A2072FE0D4
+:102F1000B20730F0C8010E94580F81114BCF29CF62
+:102F2000F80184839583A683B78344CF81149104E9
+:102F300011F5D80118964D915D916D917C911B977B
+:102F400051968D919D910D90BC91A02D48175907D8
+:102F50006A077B0780F062D0882309F40ACF81E0FA
+:102F60008093E8052092EB073092EC074092ED0742
+:102F70005092EE0707C041E0C201B1018FD0882313
+:102F800009F4F7CEA701B501C40185519A4F0E94FB
+:102F9000F5B569CF51968D919D910D90BC91A02D65
+:102FA000F801218184179507A607B70738F4418BEC
+:102FB000528B638B748B206821830CC08091E20557
+:102FC0009091E305892B31F06114710419F02068A8
+:102FD000F8012183D80111968C9183FD02C0C301B1
+:102FE00005C0C8014FDB8111FACFC3CE0F900F90FF
+:102FF0000F900F900F90DF91CF911F910F91FF9045
+:10300000EF90DF90CF90BF90AF909F908F907F9088
+:103010006F905F904F903F902F900895CF93809145
+:10302000E8058823B9F14091EB075091EC076091D6
+:10303000ED077091EE072BEE35E08091E905909158
+:10304000EA050E94E73BC82F811102C0C0E023C0FF
+:103050004091E4055091E5056091E6057091E70522
+:10306000411551056105710591F02BEE35E0809118
+:10307000E9059091EA050E94E73B882339F3109215
+:10308000E4051092E5051092E6051092E70510920E
+:10309000E80501C0C1E08C2FCF910895CF92DF9257
+:1030A000EF92FF92CF936B017C01C42F8091EB07CD
+:1030B0009091EC07A091ED07B091EE078C159D055E
+:1030C000AE05BF05C9F0AADF811102C080E018C0BB
+:1030D0002BEE35E0B701A6018091E9059091EA0554
+:1030E0000E94723B882391F3C092EB07D092EC07C9
+:1030F000E092ED07F092EE0781E0C1118093E805C0
+:10310000CF91FF90EF90DF90CF9008958F929F9294
+:10311000AF92BF92CF92DF92EF92FF920F931F93E5
+:10312000CF93DF93EC016A017B01890189859A8540
+:10313000AB85BC850196A11DB11D84179507A60717
+:10314000B70710F480E054C08F89803129F49927A3
+:10315000872F762F652F0BC08032A1F7CB01BA01E4
+:1031600027E096958795779567952A95D1F78B886F
+:103170009C88AD88BE88680D791D8A1D9B1D809036
+:10318000EB079090EC07A090ED07B090EE07681564
+:1031900079058A059B0581F48F89803191F4DD24BE
+:1031A000EE24FF24F601EE0FFF1FE551FA4F808158
+:1031B0009181A0E0B0E016C040E070DF8111ECCF5B
+:1031C000C1CFE894C7F8DD24EE24FF24F601EE0F0A
+:1031D000FF1FEE0FFF1FE551FA4F80819181A28101
+:1031E000B381BF70F80180839183A283B38381E0B0
+:1031F000DF91CF911F910F91FF90EF90DF90CF90D3
+:10320000BF90AF909F908F9008954F925F926F9272
+:103210007F92AF92BF92CF92DF92EF92FF920F9385
+:103220001F93CF93DF9300D01F92CDB7DEB78C01F1
+:1032300049835A836B837C835901C12CD12C76013D
+:10324000412C42E0542E612C712C49815A816B81B2
+:103250007C819E012F5F3F4FC80158DF882341F1D9
+:10326000D301C201F801058404C0880F991FAA1F69
+:10327000BB1F0A94D2F7C80ED91EEA1EFB1E498155
+:103280005A816B817C818789803139F481E0483FA4
+:103290005F4F6105710538F4D8CF81E0483F5F4F3B
+:1032A0006F4F7F4090F2F501C082D182E282F382BB
+:1032B0000F900F900F900F90DF91CF911F910F9172
+:1032C000FF90EF90DF90CF90BF90AF907F906F9086
+:1032D0005F904F9008954F925F926F927F928F927E
+:1032E0009F92AF92BF92CF92DF92EF92FF920F9395
+:1032F0001F93CF93DF93EC014A015B012801390151
+:10330000423051056105710508F462C049855A854E
+:103310006B857C854F5F5F4F6F4F7F4F4815590519
+:103320006A057B0508F454C08F89803129F4FF2495
+:10333000EB2CDA2CC92C0CC0803209F049C0750185
+:10334000640177E0F694E794D794C7947A95D1F71F
+:103350004B895C896D897E89C40ED51EE61EF71ED9
+:1033600041E0C701B6019ADE882391F19F8990312F
+:1033700059F49924AA24BB24F401EE0FFF1FE55150
+:10338000FA4F5182408210C0E89487F89924AA2409
+:10339000BB24F401EE0FFF1FEE0FFF1FE551FA4FA4
+:1033A00040825182628273829A89923090F04D817C
+:1033B0005E816F8178854C0D5D1D6E1D7F1D409374
+:1033C000E4055093E5056093E6057093E70501C0B9
+:1033D00080E0DF91CF911F910F91FF90EF90DF90F0
+:1033E000CF90BF90AF909F908F907F906F905F90A5
+:1033F0004F9008952F923F924F925F926F927F92DB
+:103400008F929F92AF92BF92CF92DF92EF92FF92F4
+:103410000F931F93CF93DF93CDB7DEB72F970FB6E0
+:10342000F894DEBF0FBECDBF1C014C875D876E8751
+:103430007F873B872A87DC0119960D911D912D917D
+:103440003C911C970F5F1F4F2F4F3F4F0D831E83E3
+:103450002F833887EA85FB8580809180A280B380A6
+:1034600081149104A104B10431F0FFEF8F1A9F0A77
+:10347000AF0ABF0A10C0DC018D909D90AD90BC904A
+:10348000B1E0B9870C851D852E853F85013011057A
+:103490002105310509F0198675016401412C512C73
+:1034A0003201F10181859285A385B48548165906BC
+:1034B0006A067B0608F04EC00D811E812F8138857B
+:1034C0000C151D052E053F0550F4F2E0CF2ED12C32
+:1034D000E12CF12CA2E08A2E912CA12CB12C9E0182
+:1034E0002F5F3F4FB701A601C10110DE882391F184
+:1034F00049815A816B817C81D701C6010196A11D4A
+:10350000B11D452B462B472B19F04C015D010FC017
+:10351000AC01BD01481959096A097B090C851D8553
+:103520002E853F85401751076207730741F01FEF53
+:10353000411A510A610A710A6C017D01B2CF0FEF85
+:103540001FEF2FEF3FE0B701A601C101C4DE8D835D
+:10355000811113C01D823DC02601370121E0421AAE
+:1035600051086108710897018601B301A201C101E8
+:10357000B2DE882379F3730162018C149D04AE04DA
+:10358000BF0450F3AA85BB854D915D916D917C91EF
+:103590004115510561057105A9F4EA85FB85808215
+:1035A0009182A282B382F985FF2399F00FEF801AEE
+:1035B000900AA00AB00AD1018D929D92AD92BC9260
+:1035C000139707C095018401C10185DE8111E5CF04
+:1035D000C1CF8D812F960FB6F894DEBF0FBECDBF41
+:1035E000DF91CF911F910F91FF90EF90DF90CF90DF
+:1035F000BF90AF909F908F907F906F905F904F9013
+:103600003F902F900895AF92BF92CF92DF92EF92AA
+:10361000FF920F931F93CF93DF9300D01F92CDB7EC
+:10362000DEB75C016A017B0182E090E0A0E0B0E0DF
+:10363000F50180839183A283B3839E012F5F3F4F67
+:10364000B701A601C50162DD811102C080E023C07F
+:1036500000E010E09801B701A601C5013CDE882317
+:10366000A9F3C980DA80EB80FC80F501878980317D
+:1036700049F481E0F8EFCF16FFEFDF06E104F10433
+:1036800050F4DBCF81E098EFC9169FEFD906E90629
+:103690009FE0F90690F20F900F900F900F90DF913E
+:1036A000CF911F910F91FF90EF90DF90CF90BF903F
+:1036B000AF9008957F928F929F92AF92BF92CF92D8
+:1036C000DF92EF92FF920F931F93CF93DF93EC0162
+:1036D000142F7093EA056093E9051F8A82E090E059
+:1036E000A0E0B0E088839983AA83BB831092E805A9
+:1036F0001092E4051092E5051092E6051092E70598
+:103700008FEF9FEFDC018093EB079093EC07A09382
+:10371000ED07B093EE07442349F1453008F0DEC0D1
+:1037200040E060E070E0CB01B9DC882309F4D6C04A
+:1037300020E1129FF0011124E756F84F80818F7726
+:1037400009F0CCC084859585A685B785843691051A
+:10375000A105B10508F4C2C0C084D184E284F38419
+:10376000C114D104E104F10421F4B8C0C12CD12C5E
+:10377000760140E0C701B60191DC782E882309F478
+:10378000ADC08091F6059091F7058115924009F042
+:10379000A5C03091FB05332309F4A0C08091F90541
+:1037A0009091FA05892B09F499C02091F8052223FC
+:1037B00009F494C03A8B2C831D8630E041E050E040
+:1037C0006D85062FCA01062E02C0880F991F0A9424
+:1037D000E2F72817390731F081E0860F8D876830CE
+:1037E00078F37CC020910106309102062115310545
+:1037F00019F040E050E008C020910F06309110060B
+:1038000040911106509112062D833E834F835887B5
+:103810008091F9059091FA0546015701880E991E8D
+:10382000A11CB11C8B8A9C8AAD8ABE8AE091FC05E2
+:10383000F091FD05F98FE88FA091FB05B0E00E94A3
+:10384000C8B2680D791D8A1D9B1D6A8F7B8F8C8F76
+:103850009D8FB5E0EE0FFF1FBA95E1F7E150FE4FE7
+:10386000EF2FFF27E695DC01CB018E0F9F1FA11DD7
+:10387000B11D8E879F87A88BB98B8090FE05909095
+:10388000FF058114910419F0A12CB12C08C080907F
+:103890000B0690900C06A0900D06B0900E06A701A6
+:1038A0009601281B390B4A0B5B0BDA01C901880D05
+:1038B000991DAA1DBB1D04C0B695A7959795879520
+:1038C0000A95D2F789879A87AB87BC87853F3FE007
+:1038D0009307A105B10520F48CE08F8B712C15C0E6
+:1038E000853F9F4FA105B10510F480E10DC0809187
+:1038F000170690911806A0911906B0911A068A8FA2
+:103900009B8FAC8FBD8F80E28F8B872DDF91CF9106
+:103910001F910F91FF90EF90DF90CF90BF90AF90ED
+:103920009F908F907F9008954F925F926F927F92B9
+:103930008F929F92AF92BF92CF92DF92EF92FF92BF
+:103940000F931F93CF93DF932C0124E733E081E0A3
+:1039500090E0F90145915491441655060CF062C06F
+:10396000AC0141505109DA01AA0FBB1FAA0FBB1FBE
+:10397000AE58BC4FFD0165917491440F551F440F23
+:10398000551F40595C4FFA0165907490FC01EE0F91
+:10399000FF1FEE0FFF1FEE58FC4FA590B490FD01E6
+:1039A00005911491F901C591D491FA0185909490F3
+:1039B000882777FD8095982F0E9442AF6B017C018C
+:1039C000B20166197709882777FD8095982F0E94A4
+:1039D00042AF2B013C01B501601B710B882777FDBD
+:1039E0008095982F0E9442AF9B01AC01C301B201A8
+:1039F0000E9475B12B013C01BE0168197909882725
+:103A000077FD8095982F0E9442AF9B01AC01C301C6
+:103A1000B2010E94A7AE9B01AC01C701B6010E9492
+:103A2000C7AD11C001962C5F3F4F8D33910509F052
+:103A300090CFE2E6F4E065917491882777FD809558
+:103A4000982F0E9442AFDF91CF911F910F91FF906D
+:103A5000EF90DF90CF90BF90AF909F908F907F902E
+:103A60006F905F904F9008954F925F926F927F9208
+:103A70008F929F92AF92BF92CF92DF92EF92FF927E
+:103A80000F931F93CF93DF932C01662371F1E5E32E
+:103A9000FEE08491882341F09091C00095FFFCCF17
+:103AA0008093C6003196F5CF70E04AE050E08CE993
+:103AB0009DE00E945A8AE9E5F2E08491882341F072
+:103AC0009091C00095FFFCCF8093C6003196F5CF52
+:103AD0008091C00085FFFCCF8AE08093C6000E94E1
+:103AE000224560E070E0CB017EC024E733E081E056
+:103AF00090E0F90145915491441655060CF062C0CE
+:103B0000AC0141505109DA01AA0FBB1FAA0FBB1F1C
+:103B1000AE58BC4FFD0165917491440F551F440F81
+:103B2000551F40595C4FFA0165907490FC01EE0FEF
+:103B3000FF1FEE0FFF1FEE58FC4FA590B490FD0144
+:103B400005911491F901C591D491FA018590949051
+:103B5000882777FD8095982F0E9442AF6B017C01EA
+:103B6000B20166197709882777FD8095982F0E9402
+:103B700042AF2B013C01B501601B710B882777FD1B
+:103B80008095982F0E9442AF9B01AC01C301B20106
+:103B90000E9475B12B013C01BE0168197909882783
+:103BA00077FD8095982F0E9442AF9B01AC01C30125
+:103BB000B2010E94A7AE9B01AC01C701B6010E94F1
+:103BC000C7AD11C001962C5F3F4F8D33910509F0B1
+:103BD00090CFE2E6F4E065917491882777FD8095B7
+:103BE000982F0E9442AFDF91CF911F910F91FF90CC
+:103BF000EF90DF90CF90BF90AF909F908F907F908D
+:103C00006F905F904F90089560E08091440890918C
+:103C100045082ADF6093400870934108809342086A
+:103C20009093430880913E0890913F087DDE609319
+:103C30003A0870933B0880933C0890933D088FB7F7
+:103C4000F894109232088FBF089520911402309199
+:103C50001502409116025091170260E070E08FE764
+:103C600093E40E94A7AE60931208709313088093A8
+:103C7000140890931508089597FF03C080913908A0
+:103C800004C0FC01E45FF74F808190E00895CF937A
+:103C9000DF93D82FC62FC19561E00E9451A86C2FE9
+:103CA0008D2F0E948AA86C2F70E08D2FDF91CF910D
+:103CB0000C9447A7CF93C1E020E030E048E452E401
+:103CC00060914008709141088091420890914308AA
+:103CD0000E94A3B018160CF0C0E06C2F86E090E0B4
+:103CE000CF91D5CF2F923F924F925F926F927F925A
+:103CF0008F929F92AF92BF92CF92DF92EF92FF92FC
+:103D00000F931F93CF93DF93CDB7DEB728970FB6EE
+:103D1000F894DEBF0FBECDBF80913208882309F42E
+:103D2000F8C172DF8090400890904108A09042084E
+:103D3000B09043080091480810914908B8018827BD
+:103D400077FD8095982F0E9442AFA50194010E94B3
+:103D5000C6AD6B017C0160931A0870931B088093B9
+:103D60001C0890931D0820E030E040E251E40E94DE
+:103D7000A3B0181624F481E080931108F7C020E066
+:103D800030E040E251ECC701B6010E94A0AE87FDD1
+:103D900002C0012B21F481E0809311080CC18091B5
+:103DA0001108882351F010922E0810922F081092BB
+:103DB00030081092310810921108209118023091A9
+:103DC000190240911A0250911B02C701B6010E94CC
+:103DD00075B169837A838B839C8360932608709383
+:103DE0002708809328089093290820912E08309165
+:103DF0002F084091300850913108C701B6010E9448
+:103E0000C7AD2B013C012090160830901708109187
+:103E10001808009119089101412F502F0E94A0AE5F
+:103E200087FD14C0209012083090130810911408D8
+:103E3000009115089101412F502FB201C3010E943A
+:103E4000A3B018161CF01201162D072DC101A12FC9
+:103E5000B02F80932E0890932F08A0933008B09332
+:103E600031082091140230911502409116025091B0
+:103E70001702B101812F902F0E9475B16D837E834F
+:103E80008F83988760932208709323088093240877
+:103E90009093250820912A0830912B0840912C08F6
+:103EA00050912D08C501B4010E94C6AD20911002A9
+:103EB0003091110240911202509113020E9475B18B
+:103EC00020ED3CEC4CE45DE30E9475B12B013C011C
+:103ED00023E333E343E75FE360911E0870911F081B
+:103EE00080912008909121080E9475B19B01AC013E
+:103EF000C301B2010E94C7AD2B013C0160931E08B3
+:103F000070931F0880932008909321082D813E8193
+:103F10004F81588569817A818B819C810E94C7ADD0
+:103F2000A30192010E94C6AD2B013C0120E030E0CC
+:103F30004FE753E40E94A3B020E030E0A901181637
+:103F4000E4F4C701B6010E94A3B018167CF4A701DF
+:103F50009601B101812F902F0E94C6AD60932E086B
+:103F600070932F088093300890933108412C512C86
+:103F70009FE7692E93E4792E21C0C301B2010E940C
+:103F8000A0AE87FF1BC020E030E0A901C701B60149
+:103F90000E94A0AE87FF0FC0A7019601B101812F3B
+:103FA000902F0E94C6AD60932E0870932F088093C7
+:103FB000300890933108412C512C320180922A080C
+:103FC00090922B08A0922C08B0922D0860910408C2
+:103FD00070910508882777FD8095982F0E9442AF41
+:103FE0009B01AC01C501B4010E94A3B01816DCF41A
+:103FF0006091080270910902882777FD8095982FBB
+:104000000E9442AF9B01AC01C501B4010E94A0AE69
+:1040100087FF09C0C301B2010E940FAF7595679574
+:1040200060930C0802C010920C080E9431A9009104
+:1040300008081091090820910A0830910B08601BAC
+:10404000710B820B930B653C79408105910558F00B
+:1040500031DE0E9431A960930808709309088093AB
+:104060000A0890930B080E9431A900910D08109145
+:104070000E0820910F0830911008601B710B820B05
+:10408000930B683873418105910508F442C00E9482
+:1040900031A960930D0870930E0880930F089093D8
+:1040A0001008C0903A08D0903B08E0903C08F0908F
+:1040B0003D0820E030E040E751E4C701B6010E942E
+:1040C000A3B018161CF520E030E046E153E4C70128
+:1040D000B6010E94A0AE87FF19C06091460870919A
+:1040E0004708882777FD8095982F0E9442AF9B0153
+:1040F000AC01C701B6010E94A3B087FD03C01092B6
+:10410000390807C08FE78093390803C01092390837
+:10411000A59828960FB6F894DEBF0FBECDBFDF91ED
+:10412000CF911F910F91FF90EF90DF90CF90BF90B4
+:10413000AF909F908F907F906F905F904F903F9047
+:104140002F900895CF93DF931092160810921708BE
+:10415000109218081092190820911402309115023B
+:10416000409116025091170260E070E08FE793E4EF
+:104170000E94A7AE609312087093130880931408EE
+:10418000909315086D9A80910101806180930101DF
+:104190009D9A8091010180628093010187ED809357
+:1041A0007A0010927E0010927D0080917E008160E6
+:1041B00080937E0080917E00826080937E0080915B
+:1041C0007E00846080937E0080E888BD80916E00D0
+:1041D000846080936E006AEF70E080E090E00E945F
+:1041E00060A98FE090E0909305088093040860E058
+:1041F00080910A0290910B0237DC20E030E040E72A
+:1042000051E40E94A0AE87FF0AC080910A029091FB
+:104210000B02409790930B0280930A02E8CF8BE346
+:1042200091E0909309028093080260E08091060873
+:104230009091070819DC20E030E84DE953E40E9432
+:10424000A3B0181654F48091060890910708409680
+:104250009093070880930608E8CFC0910208D09198
+:104260000308CE0161DB20E030E046E153E40E9428
+:10427000A3B0181634F46096D0930308C0930208D4
+:10428000ECCFDF91CF9108950895109249081092D4
+:104290004808109247081092460810920C0875982A
+:1042A000109247081092460810923908A598089570
+:1042B0002F923F924F925F926F927F928F929F9236
+:1042C000AF92BF92CF92DF92EF92FF920F931F9324
+:1042D000CF93DF93CDB7DEB7AE970FB6F894DEBFBE
+:1042E0000FBECDBF6B8F7C8F8D8F292E5A8749874C
+:1042F0003CA72BA70E9431A96F8F78A389A39AA30B
+:104300000E9431A96FA378A789A79AA729853A8522
+:10431000121613061CF0E4E2F3E017C0E7E3F3E043
+:104320008191882339F09091C00095FFFCCF809354
+:10433000C600F6CF8091C00085FFFCCF1BC29091D4
+:10434000C00095FFFCCF8093C60081918111F7CF0B
+:104350008091C00085FFFCCF8AE08093C60095DF86
+:1043600049855A858FE7452B99F1809339088F8DC0
+:1043700098A1A9A1BAA1898B9A8BAB8BBC8B8D8795
+:104380009E87AF87B88B1D8290E4988FACE1A98F90
+:10439000B6E4BA8F1DA61D8A1E8A1F8A2FE730E059
+:1043A00040E050E029833A834B835C83EFE74E2E55
+:1043B000512C612C712C1BA21CA21DA21EA231E04B
+:1043C0003E8F1C861B86312C00E010E01EA605C027
+:1043D00080930C08CCCF0E949C7680913208882371
+:1043E00009F4F6C011DC49855A85452B51F030900F
+:1043F0003A0800913B0810913C0850913D085EA797
+:1044000009C0309040080091410810914208809105
+:1044100043088EA7232D302F412F5EA56DA57D89E2
+:104420008E899F890E94A3B018162CF03DA60D8B93
+:104430001E8B9EA59F8B232D302F412F5EA56D8156
+:10444000788D898D9A8D0E94A0AE87FD05C03D8232
+:10445000088F198FAEA5AA8F0E9431A92FA138A568
+:1044600049A55AA5621B730B840B950B653C7940DB
+:104470008105910538F01EDC0E9431A96FA378A751
+:1044800089A79AA74E8D442309F44FC02B8D3C8DEC
+:104490004D8D522D632D702F812F9EA50E94A3B0AC
+:1044A00018160CF095C00E9431A929893A894B89C8
+:1044B0005C89621B730B840B950B69387341810512
+:1044C000910508F485C0D301C20129813A814B814D
+:1044D0005C81821B930BA40BB50B49855A85B5955E
+:1044E000A79597958795452B19F08093390802C0B9
+:1044F00080930C080E9431A96D877E878F87988BE7
+:10450000DC01CB0129893A894B895C89821B930B99
+:10451000A40BB50B8BA39CA3ADA3BEA33B8D3DA762
+:104520004C8D4D8B5D8D5E8B2F8A2B8D3C8D4D8DF3
+:10453000522D632D702F812F9EA50E94A0AE87FF64
+:10454000EEC20E9431A92D853E854F855889621B98
+:10455000730B840B950B693873418105910508F441
+:10456000DEC20E9431A9698B7A8B8B8B9C8BDC011C
+:10457000CB012D853E854F855889821B930BA40B5B
+:10458000B50B4B855C85452B09F010C189819A815B
+:10459000AB81BC81840D951DA61DB71D29853A856B
+:1045A000B595A79597958795232B09F4B5C2809368
+:1045B00039084B855C854F5F5F4F5C874B875B8D10
+:1045C0005D838C8D888F9D8D998F2A8EA1E0AE8F13
+:1045D00020E030E040EA51E46B8D7C8D8D8D922D92
+:1045E0000E94C7AD9B01AC01632D702F812F9EA54A
+:1045F0000E94A3B0181694F4EFEFF2E084918823A0
+:1046000041F09091C00095FFFCCF8093C600319699
+:10461000F5CF8091C00085FFFCCFACC00E9431A9CE
+:104620002F8D38A149A15AA1621B730B840B950BE6
+:10463000613D77408105910508F44FC049855A8551
+:10464000452B81F0E0903908F12CE9EFF2E08491FC
+:104650008823C1F09091C00095FFFCCF8093C600E5
+:104660003196F5CFE0900C08F12CE3EFF2E0849165
+:10467000882341F09091C00095FFFCCF8093C60045
+:104680003196F5CF22E030E0432D502F612F7EA5EB
+:104690008CE99DE00E94308BEFEEF2E0849188235C
+:1046A00041F09091C00095FFFCCF8093C6003196F9
+:1046B000F5CF4AE050E0B7018CE99DE00E945A8AAC
+:1046C0008091C00085FFFCCF8AE08093C6000E94E5
+:1046D00031A96F8F78A389A39AA30E9431A96B0196
+:1046E0007C010E9431A989889A88AB88BC882D8575
+:1046F0003E854F855889820E931EA41EB51EC8188C
+:10470000D908EA08FB08C60ED71EE81EF91E31E8D4
+:10471000C3163FE4D30632E1E306F10490F0E2ED84
+:10472000F2E08491882341F09091C00095FFFCCF86
+:104730008093C6003196F5CF8091C00085FFFCCFF5
+:1047400019C04B855C858BA59CA5841795070CF03B
+:1047500042CEE6E7F2E08491882341F09091C000D8
+:1047600095FFFCCF8093C6003196F5CF8091C000B5
+:1047700085FFFCCF8AE08093C600AE960FB6F89412
+:10478000DEBF0FBECDBFDF91CF911F910F91FF9084
+:10479000EF90DF90CF90BF90AF909F908F907F90E1
+:1047A0006F905F904F903F902F9008958BA09CA0AA
+:1047B000ADA0BEA0880E991EAA1EBB1E2BA13CA1B7
+:1047C0004DA15EA1281B390B4A0B5B0BCA01B90135
+:1047D00029813A814B815C810E943BB2A501940101
+:1047E0000E94A0B2240D351D461D571D24313105F0
+:1047F0004105510504F129013A013CEE43165104EB
+:10480000610471042CF06BEE462E512C612C712C3E
+:1048100040E84416510461047104DCF08EEF90E02E
+:10482000A0E0B0E084199509A609B70989839A83A5
+:10483000AB83BC8312C054E1452E512C612C712CEA
+:1048400024E130E040E050E029833A834B835C83ED
+:1048500004C049825A826B827C82E8E6F3E084914C
+:10486000882341F09091C00095FFFCCF8093C60053
+:104870003196F5CF2AE030E0B301A2018CE99DE04A
+:104880000E94378AE3E6F3E08491882341F0909117
+:10489000C00095FFFCCF8093C6003196F5CF2AE08B
+:1048A00030E049815A816B817C818CE99DE00E94D6
+:1048B000378AECE5F3E08491882341F09091C000C1
+:1048C00095FFFCCF8093C6003196F5CF22E030E013
+:1048D0004D81588D698D7A8D8CE99DE00E94308BD9
+:1048E000E5E5F3E08491882341F09091C00095FFC5
+:1048F000FCCF8093C6003196F5CF22E030E04DA585
+:104900005D896E897F898CE99DE00E94308B809162
+:10491000C00085FFFCCF8AE08093C6002B853C85D4
+:10492000233031050CF432CE69817A818B819C81F0
+:104930000E9442AF20E030E040E850E40E9475B1B0
+:104940006B017C012D81388D498D5A8D6DA57D8936
+:104950008E899F890E94C6AD20ED3FE049E450E476
+:104960000E9475B120E030E040E05FE30E9475B145
+:104970009B01AC01C701B6010E94A7AE6B017C018F
+:10498000C501B4010E9442AF20E030E04AE754E4A0
+:104990000E94A7AE4B015C01EFE4F3E08491882311
+:1049A00041F09091C00095FFFCCF8093C6003196F6
+:1049B000F5CF22E030E0B701A6018CE99DE00E942E
+:1049C000308BE9E4F3E08491882341F09091C000BA
+:1049D00095FFFCCF8093C6003196F5CF22E030E002
+:1049E000B501A4018CE99DE00E94308B8091C0004C
+:1049F00085FFFCCF8AE08093C6002AE939E949E1C6
+:104A00005FE3C701B6010E9475B16B017C019B0198
+:104A1000AC010E94C7ADA50194010E94A7AE6D83B1
+:104A20007E838F839887A5019401C701B6010E94F8
+:104A300075B120E030E040E05EE30E9475B14B01CB
+:104A40005C01EBE3F3E08491882341F09091C00096
+:104A500095FFFCCF8093C6003196F5CF8091C000C2
+:104A600085FFFCCF8AE08093C600E5E3F3E0849104
+:104A7000882341F09091C00095FFFCCF8093C60041
+:104A80003196F5CF22E030E0B701A6018CE99DE038
+:104A90000E94308B8091C00085FFFCCF8AE080931C
+:104AA000C600EFE2F3E08491882341F09091C000CA
+:104AB00095FFFCCF8093C6003196F5CF22E030E021
+:104AC0004D815E816F8178858CE99DE00E94308BFD
+:104AD0008091C00085FFFCCF8AE08093C600E9E2A8
+:104AE000F3E08491882341F09091C00095FFFCCFC2
+:104AF0008093C6003196F5CF22E030E0B501A401E5
+:104B00008CE99DE00E94308B8091C00085FFFCCF36
+:104B10008AE08093C6003ACD80930C084ACD1E8E61
+:104B200057CDCF93C82FB1DB0E94E949811134C022
+:104B3000E5E3FEE09491992341F08091C00085FF68
+:104B4000FCCF9093C6003196F5CF6C2F70E04AE011
+:104B500050E08CE99DE00E945A8A8091C00085FF58
+:104B6000FCCF8AE08093C600ECE2F2E084918823D7
+:104B700041F09091C00095FFFCCF8093C600319624
+:104B8000F5CF8091C00085FFFCCF8AE08093C600FE
+:104B90008FE192E00E940D76CF910C94AA49CF93B9
+:104BA000C82F73DB0E94E949811134C0E5E3FEE0C0
+:104BB0009491992341F08091C00085FFFCCF9093A0
+:104BC000C6003196F5CF6C2F70E04AE050E08CE9DA
+:104BD0009DE00E945A8A8091C00085FFFCCF8AE048
+:104BE0008093C600E2EFF1E08491882341F0909138
+:104BF000C00095FFFCCF8093C6003196F5CF809121
+:104C0000C00085FFFCCF8AE08093C60085EE91E06E
+:104C10000E940D76CF910C94AA49A5980E94E9496B
+:104C2000811125C0E5E3FEE08491882341F0909155
+:104C3000C00095FFFCCF8093C6003196F5CFEBEA1C
+:104C4000F1E08491882341F09091C00095FFFCCF62
+:104C50008093C6003196F5CF8091C00085FFFCCFD0
+:104C60008AE08093C6008AE991E00E940D760C9458
+:104C7000AA491F920F920FB60F9211240BB60F92F2
+:104C80000F931F932F933F934F935F936F937F9354
+:104C90008F939F93AF93BF93CF93DF93EF93FF9344
+:104CA00080910702811112C080910C088093010845
+:104CB000882311F0759A01C0759880913908809306
+:104CC0000008882311F0A59A01C0A59890910108C9
+:104CD00080910702981708F47598909100088091C8
+:104CE0000702981708F4A598809107028F5F8F77C5
+:104CF000809307028091060290E08B30910508F0C6
+:104D000093C0FC01EE58FF4F0C94BCB210927B0094
+:104D100080E480937C0080917A00806480937A00A4
+:104D20000E94167681E019C02091780030917900B8
+:104D30008091FC079091FD07A091FE07B091FF07BD
+:104D4000820F931FA11DB11D8093FC079093FD0757
+:104D5000A093FE07B093FF0782E08093060264C031
+:104D600010927B0082E480937C0080917A008064C2
+:104D700080937A000E94167683E0EFCF209178002E
+:104D8000309179008091F8079091F907A091FA0786
+:104D9000B091FB07820F931FA11DB11D8093F807EF
+:104DA0009093F907A093FA07B093FB0784E0D5CF5F
+:104DB00010927B0081E480937C0080917A00806473
+:104DC00080937A000E94167685E0C7CF2091780004
+:104DD000309179008091F4079091F507A091F60742
+:104DE000B091F707820F931FA11DB11D8093F407A7
+:104DF0009093F507A093F607B093F70786E0ADCF41
+:104E00000E94167687E0A9CF88E0A7CF0E94167689
+:104E100089E0A3CF109206028091F3078F5F809301
+:104E2000F30702C0109206028091F307803108F464
+:104E300063C080913208811110C08091FC0790916D
+:104E4000FD0790934508809344088091F80790915E
+:104E5000F90790933F0880933E0881E080933208E1
+:104E60001092F3071092FC071092FD071092FE07B4
+:104E70001092FF071092F4071092F5071092F607B0
+:104E80001092F7071092EF071092F0071092F107B7
+:104E90001092F2071092F8071092F9071092FA0791
+:104EA0001092FB0720914408309145088091060834
+:104EB000909107088217930714F080E032DE20916A
+:104EC00044083091450880910A0290910B022817FE
+:104ED000390714F080E063DE20913E0830913F08EE
+:104EE0008091020890910308821793072CF010928A
+:104EF00047081092460891DE00E010E0E801CC0F70
+:104F0000DD1FCD5CD74F888199811816190644F4AE
+:104F100061E0802F0E94D59388819981019709C013
+:104F2000892B49F060E0802F0E94D5938881998178
+:104F30000196998388830F5F1F4F03301105F1F6A7
+:104F4000FF91EF91DF91CF91BF91AF919F918F91A1
+:104F50007F916F915F914F913F912F911F910F9191
+:104F60000F900BBE0F900FBE0F901F9018952CEA5C
+:104F700035EC47E25EE30C9475B12CEA35EC47E280
+:104F80005EE30C94A7AE2CEA35EC47E25EE30C94AA
+:104F9000A7AE2CEA35EC47E25EE30C9475B1CF93F3
+:104FA000DF93EC0160E08E810E948AA881E090E0AE
+:104FB0000E9484A961E08E810E948AA881E090E02D
+:104FC0000E9484A960E08E810E948AA884E690E015
+:104FD000DF91CF910C9484A9CF92DF92EF92FF9250
+:104FE0000F931F93CF93DF937C01C0E0D0E0C62ED8
+:104FF000D12C87010C0F1D1F61E0F80187810E94F1
+:1050000051A8B6010C2E02C0759567950A94E2F777
+:105010006170F80187810E948AA82196C430D10569
+:1050200041F7C701DF91CF911F910F91FF90EF9052
+:10503000DF90CF90B4CFCF92DF92EF92FF920F9399
+:105040001F93CF93DF937C01C0E0D0E0C62ED12C1C
+:1050500087010C0F1D1F61E0F80187810E9451A894
+:10506000B6010C2E02C0759567950A94E2F761703F
+:10507000F80187810E948AA82196C830D10541F79E
+:10508000C701DF91CF911F910F91FF90EF90DF90BB
+:10509000CF9085CF1F93CF93DF93EC01162F642F12
+:1050A0008C810E948AA88D818F3F19F060E00E9458
+:1050B0008AA88F85612F84FF05C0CE01DF91CF9133
+:1050C0001F91B9CF70E084E0759567958A95E1F7F7
+:1050D000CE0182DF612FCE01DF91CF911F917CCF76
+:1050E00040E0D8CF61E0FCDF80E496E00C9484A936
+:1050F00062E0F6DF80E496E00C9484A9CF93DF931E
+:10510000CDB7DEB728970FB6F894DEBF0FBECDBF80
+:1051100028E0E7EAF2E0DE01119601900D922A956F
+:10512000E1F7FC012389421710F04FEF420FFE0117
+:105130003196E40FF11DE40FF11D2081260F206848
+:10514000622F28960FB6F894DEBF0FBECDBFDF9159
+:10515000CF91C6CFFC016089262F2460208B6C6024
+:10516000BFCFCF93DF93EC01423018F08F8588607A
+:105170008F874B8B1C8A222329F0413019F48F85AD
+:1051800084608F8780E593EC0E9484A960E08C8125
+:105190000E948AA860E08E810E948AA88D818F3F3C
+:1051A00019F060E00E948AA86F8564FD19C063E071
+:1051B000CE0112DF84E991E10E9484A963E0CE016F
+:1051C0000BDF84E991E10E9484A963E0CE0104DF52
+:1051D00086E990E00E9484A962E0CE01FDDE13C062
+:1051E0006062CE017DDF84E991E10E9484A96F8530
+:1051F0006062CE0175DF86E990E00E9484A96F8528
+:105200006062CE016DDF6F856062CE0169DF84E090
+:10521000888BCE019FDFCE0165DF82E0898B66E05F
+:10522000CE01DF91CF915CCF6F927F928F92AF9240
+:10523000CF92EF920F931F93CF93DF93CDB7DEB74B
+:105240003C01162F842F5E854F8538899989F3019B
+:10525000848325830683E782C086A186828653875E
+:1052600044873587968761E00E9451A8F3018581C4
+:105270008F3F19F061E00E9451A861E0F30186813F
+:105280000E9451A8112319F0F301178603C080E191
+:10529000F301878720E041E060E1C301DF91CF9116
+:1052A0001F910F91EF90CF90AF908F907F906F9064
+:1052B00058CF8F92AF92CF92EF920F93DC0113965B
+:1052C0001C921E921297E5E6F3E0ED93FC931F9279
+:1052D0001F921F921F928C2CAE2CC02EE22E042FF8
+:1052E0002FEF462F61E0A0DF0F900F900F900F90EF
+:1052F0000F91EF90CF90AF908F900895CF93DF9361
+:10530000EC01423018F08F8588608F874B8B1C8AA8
+:10531000222329F0413019F48F8584608F8780E53E
+:1053200093EC0E9484A960E08C810E948AA860E0CE
+:105330008E810E948AA88D818F3F19F060E00E94C3
+:105340008AA86F8564FD19C063E0CE0145DE84E95B
+:1053500091E10E9484A963E0CE013EDE84E991E1FF
+:105360000E9484A963E0CE0137DE86E990E00E94C6
+:1053700084A962E0CE0130DE13C06062CE01B0DEEF
+:1053800084E991E10E9484A96F856062CE01A8DE64
+:1053900086E990E00E9484A96F856062CE01A0DE5C
+:1053A0006F856062CE019CDE84E0888BCE01D2DE08
+:1053B000CE019EDE82E0898B66E0CE0191DE40E088
+:1053C00068E0CE019BDE6EE873E0CE010E94BEADC8
+:1053D00041E068E0CE0192DE6EE873E0CE010E940B
+:1053E000BEAD42E066E0CE0189DE6CE873E0CE013E
+:1053F000DF91CF910C94BEADCF92DF92EF92FF92EE
+:105400000F931F93CF93DF931F921F92CDB7DEB7F9
+:105410008C01677088E0689FB00111246064C80146
+:1054200049835A835DDE4981C42E5A81D52EE12CF1
+:10543000F12CD6016D916D01D801ED91FC91019097
+:10544000F081E02DC8011995BFEFEB1AFB0AE8E0E7
+:10545000EE16F10471F70F900F90DF91CF911F912D
+:105460000F91FF90EF90DF90CF90089541E012DE12
+:1054700081E090E008952F923F924F925F926F9259
+:105480007F928F929F92AF92BF92CF92DF92EF92D4
+:10549000FF920F931F93CF93DF93CDB7DEB7CF5417
+:1054A000D1090FB6F894DEBF0FBECDBF1C017E8FB1
+:1054B0006D8F4A012FAB09AF2896EFAE28972C9637
+:1054C000ACAEBDAECEAEDFAE2C9734E0239F500124
+:1054D0001124FC01EA0DFB1D80819181A281B38121
+:1054E000898F9A8FAB8FBC8FDA01AA0DBB1DBCAF21
+:1054F000ABAF4D905D906D907C90A3019201698D52
+:105500007A8D8B8D9C8D0E94C7AD21966CAF7DAF3F
+:105510008EAF9FAF2197B4E00B9F80011124F10162
+:10552000E00FF11F20813181428153812F8F38A3F9
+:1055300049A35AA3A401400F511F23965FAF4EAF5A
+:105540002397DA01CD90DD90ED90FC90A7019601B4
+:105550006F8D78A189A19AA10E94C7AD27966CAFE3
+:105560007DAF8EAF9FAF27972896EFAD2897B4E019
+:10557000EB9FC0011124F101E80FF91F2081318157
+:10558000428153812BA33CA34DA35EA3ED8DFE8DE1
+:10559000E80FF91F60817181828193810E94C6ADFD
+:1055A0006FA378A789A79AA7AD8DBE8D1C968D9104
+:1055B0009D910D90BC91A02D60968CAF9DAFAEAF2C
+:1055C000BFAF6097D1011C962D913D914D915C919B
+:1055D0001F972BA73CA74DA75EA7A3019201505888
+:1055E0002D8B3E8B4F8B588FD701C601B058898BBE
+:1055F0009A8BAB8BBC8BED8DFE8DEA0DFB1D208154
+:105600003181428153812FA738AB49AB5AAB2196E8
+:105610002CAD3DAD4EAD5FAD21976FA578A989A9A1
+:105620009AA90E94C6AD6B017C01ED8DFE8DE00F45
+:10563000F11F80819181A281B3818BAB9CABADAB1B
+:10564000BEAB27962CAD3DAD4EAD5FAD2797BC01EF
+:10565000CD010E94C6AD4B015C01A70196016D8989
+:105660007E898F89988D0E9475B12B013C01A5011F
+:10567000940169897A898B899C890E9475B19B0103
+:10568000AC01C301B2010E94C7AD2B013C01A501D1
+:1056900094016D897E898F89988D0E9475B14B0127
+:1056A0005C01A701960169897A898B899C890E948E
+:1056B00075B19B01AC01C501B4010E94C6ADA30147
+:1056C00092010E943AAE6B017C0120E030E0A9011A
+:1056D0000E94A0AE87FF0AC02BED3FE049EC50E4EA
+:1056E000C701B6010E94C7AD6B017C01AA968FADC0
+:1056F000AA97882351F02BED3FE049EC50E4C70115
+:10570000B6010E94C6AD6B017C012FA538A949A93D
+:105710005AA9698D7A8D8B8D9C8D0E94A0AE8111C6
+:105720001FC02BA93CA94DA95EA96F8D78A189A1A5
+:105730009AA10E94A0AE811113C020E030E0A9011F
+:10574000C701B6010E94A0AE81110AC02BED3FE057
+:1057500049EC50E4C701B6010E94C7AD6B017C0162
+:10576000A9962CAD3DAD4EAD5FADA997C701B60171
+:105770000E9475B12FA138A549A55AA55F770E944F
+:10578000B0B04B015C012FE632E143E85AE30E94DE
+:10579000A0AE87FDC8C1C501B4010E947DAF0E94C3
+:1057A00014AF7A8F698FDB01AB2B21F4E1E0F0E0DD
+:1057B000FA8FE98F298D3A8DB90180E090E00E943F
+:1057C00040AF4B015C019B01AC01C701B6010E94D7
+:1057D000A7AE2B013C01A50194016FA178A589A575
+:1057E0009AA50E94A7AE6FA778AB89AB9AAB2BA501
+:1057F0003CA54DA55EA560966CAD7DAD8EAD9FAD13
+:1058000060970E94C6ADA50194010E94A7AE6BAB44
+:105810007CAB8DAB9EAB20E030E040E05FE3C301AA
+:10582000B2010E9475B1A30192010E9475B19B0162
+:10583000AC0160E070E080E89FE30E94C6AD6FA31A
+:1058400078A789A79AA7CE010196FC0128964FADAB
+:10585000289734E0439FE00DF11D11242BA13CA1BA
+:105860004DA15EA120833183428353832BA53CA5A8
+:105870004DA55EA52D873E874F87588BB12C41E003
+:1058800050E058A34F8F1C01BFA9A4E0BA9F800D20
+:10589000911D112498AF8FAB910159AD44E0549FF5
+:1058A000200D311D11243AAF29AFFCA7EBA74F8D76
+:1058B00058A1898D9A8D4817590708F01AC188E1B7
+:1058C0008B150CF444C02FA138A549A55AA56989A8
+:1058D0007A898B899C890E9475B16B017C01A30137
+:1058E00092016D897E898F89988D0E9475B1A7017B
+:1058F00096010E94C7ADA62E172F982E892E2FA194
+:1059000038A549A55AA56D897E898F89988D0E94F1
+:1059100075B16B017C01A301920169897A898B8938
+:105920009C890E9475B19B01AC01C701B6010E9420
+:10593000C6AD6D8B7E8B8F8B988FB3948A2D912FF4
+:10594000A92DB82D898B9A8BAB8BBC8B6CC0AF8D7E
+:10595000B8A1BD0180E090E00E9440AFA301920198
+:105960000E9475B16B017C010E94A4AE698B7A8B99
+:105970008B8B9C8BC701B6010E94D8B14B015C0197
+:10598000EBADFCADC080D180E280F380F7FAF094FB
+:10599000F7F8F0942396AEADBFAD23972D913D91CE
+:1059A0004D915C912BA33CA34DA35EA329893A8919
+:1059B0004B895C89C701B6010E9475B16D8B7E8BE6
+:1059C0008F8B988FA50194016BA17CA18DA19EA1C5
+:1059D0000E9475B19B01AC016D897E898F89988D7C
+:1059E0000E94C7AD6D8B7E8B8F8B988FA501940124
+:1059F000C701B6010E9475B16B017C0129893A8902
+:105A00004B895C896BA17CA18DA19EA10E9475B17F
+:105A10009B01AC01C701B6010E94C6AD698B7A8BB0
+:105A20008B8B9C8BB12C2D893E894F89588D21966B
+:105A30006CAD7DAD8EAD9FAD21970E94C7ADEFA936
+:105A4000F8AD608371838283938329893A894B8976
+:105A50005C8927966CAD7DAD8EAD9FAD27970E947A
+:105A6000C7ADA9ADBAAD6D937D938D939C931397FC
+:105A70002FA538A949A95AA9EBA5FCA56081718178
+:105A8000828193810E94C7ADABA5BCA56D937D9328
+:105A90008D939C9313972BA93CA94DA95EA96D8565
+:105AA0007E858F8598890E94C7AD6D877E878F8799
+:105AB000988BC1010E946A41FE01E659FF4F6F01B8
+:105AC0002C96ECACFDAC0EAD1FAD2C979E01235F68
+:105AD0003F4FAE01475F5F4FBE016B5F7F4FC1011C
+:105AE0000E94779A2F8D38A12F5F3F4F38A32F8FB9
+:105AF000DECE2D8D3E8D245F3F4F4D8D5E8D485FF8
+:105B00005F4F6D8D7E8D6C5F7F4FDE01A659BF4F5D
+:105B10006D012C96ECACFDAC0EAD1FAD2C978D8DB0
+:105B20009E8D0E94779AC15BDF4F0FB6F894DEBF5F
+:105B30000FBECDBFDF91CF911F910F91FF90EF90DE
+:105B4000DF90CF90BF90AF909F908F907F906F909D
+:105B50005F904F903F902F900895FC011482178220
+:105B6000138212828AEB95E09183808308952AEB59
+:105B700035E0FC01318320832781222319F004962C
+:105B80000C948C130895CF92DF92EF92FF920F93B3
+:105B90001F93CF93DF93EC01875B9F4FDEDFCE0136
+:105BA00086599F4FDADF7E0129E8E20EF11C87015A
+:105BB0006E0131E4C31A3EEFD30AC801CEDF015EA5
+:105BC0001F4F0C151D05C9F7FE01EF53FE4F89E16C
+:105BD000818314823596178ACE018C519E4FBDDF8A
+:105BE000FE01EB56FD4F108211821282138238960D
+:105BF00010821182128213821A821B8218821982E9
+:105C00006E0187E6C81A8DEFD80AF601108211825C
+:105C100012821382F80111821082FE01ED5FFD4FA6
+:105C2000108286E391E0F7019C01119221503040EF
+:105C3000E1F7FE01EF55FD4F81E08083C95BDF4F47
+:105C4000198218820E9431A968577C4E8F4F9F4F4E
+:105C5000F6016083718382839383DF91CF911F91DB
+:105C60000F91FF90EF90DF90CF900895FC0120E01E
+:105C70003EE2DB014C91403241F0283011F4308398
+:105C80003196DB014C91408331962F5F6F5F7F4FE0
+:105C90002B3079F7108208952F923F924F925F92A6
+:105CA0006F927F928F929F92AF92BF92CF92DF922C
+:105CB000EF92FF920F931F93CF93DF93CDB7DEB791
+:105CC000CA58D1090FB6F894DEBF0FBECDBF8C0104
+:105CD0006B017A014901CA57DF4F1882C658D0407C
+:105CE00084E0E80EF11C180191E1290E311CF80145
+:105CF000EA5BFF4FC957DF4FF983E883C758D040AD
+:105D00003801FEE56F1AFDEF7F0A58018CE5A81AED
+:105D10008DEFB80A80E4482E512C4C0E5D1E94E0A5
+:105D2000490E511CA101BE016F5F7F4FC7010E9448
+:105D3000F61118160CF03CC12C85322F3871303119
+:105D400009F09EC0F301808191810197029708F4C8
+:105D500097C0BE016F5F7F4FCE0187589F4F86DF90
+:105D6000A0961FAEA097F6018081811107C069E659
+:105D700073E0CE01815A9F4F0E9418B6B601CE0142
+:105D8000815A9F4F0E9418B6BE0167587F4FCE01BF
+:105D9000815A9F4F0E9418B669E673E0CE01815A7E
+:105DA0009F4F0E9418B6CE01805C9F4FD6DE21E047
+:105DB000AE0147585F4FB701C2010E9483158111A0
+:105DC00039C0F30180819181892BA1F5EFE2FEE0DA
+:105DD0008491882341F09091C00095FFFCCF80937F
+:105DE000C6003196F5CFEBE6F3E08191882339F0D8
+:105DF0009091C00095FFFCCF8093C600F6CF8091B4
+:105E0000C00085FFFCCF8AE08093C600FE01E75802
+:105E1000FF4F8191882339F09091C00095FFFCCF0E
+:105E20008093C600F6CF8091C00085FFFCCF8AE04A
+:105E30008093C6008BE1FE01EC5BFF4FDE0195967F
+:105E400001900D928A95E1F724968EAD9FAD24972F
+:105E50009CA38BA38AEB95E09AA389A320E030E072
+:105E6000AE014F5D5F4FBE01615A7F4FC80114DF25
+:105E7000CE0181967CDECE01805C9F4F78DE52CFD2
+:105E80008981882309F494C08E3209F44BCF8F3571
+:105E900009F448CFF80181898E3209F443CF8F3558
+:105EA00009F440CF23FD3ECF81E0303109F080E09E
+:105EB000C957DF4FE881F981C758D04080838111ED
+:105EC00008C08985873409F02DCF8A858E3709F47B
+:105ED00029CF98012C5F3F4FBE016F5F7F4FC901F3
+:105EE000C757DF4F2883C958D040C657DF4F388384
+:105EF000CA58D040BBDEF30180819181C757DF4F84
+:105F00002881C958D040C657DF4F3881CA58D04081
+:105F10000097F1F4F6018191882339F09091C00047
+:105F200095FFFCCF8093C600F6CFF90181918823BD
+:105F300039F09091C00095FFFCCF8093C600F6CF5A
+:105F40008091C00085FFFCCF8AE08093C600EACE36
+:105F50008130910539F4F501808191810196918319
+:105F60008083E0CE029709F0DDCE8114910439F0F0
+:105F7000B901C4010E9405B6892B71F419C0CA5732
+:105F8000DF4FF881C658D0402F2F30E0F5018081D7
+:105F900091812817390761F0CA57DF4FF881C65839
+:105FA000D040FF5FCA57DF4FF883C658D040BACE03
+:105FB000C657DF4F0FB6F894DEBF0FBECDBFDF91DF
+:105FC000CF911F910F91FF90EF90DF90CF90BF90F6
+:105FD000AF909F908F907F906F905F904F903F9089
+:105FE0002F9008950F931F93CF93DF93CDB7DEB714
+:105FF0006F970FB6F894DEBF0FBECDBF8C01FC01CA
+:10600000EE55FD4F1182108240E050E0BA01835BF3
+:106010009F4F0E94A912C801875B9F4F2BE1FC0193
+:106020003496DE01159601900D922A95E1F7FC0158
+:10603000828193819C838B838AEB95E09A83898309
+:1060400020E030E0AE014F5F5F4F62E973E0C801CE
+:1060500023DECE0101968BDD6F960FB6F894DEBF7E
+:106060000FBECDBFDF91CF911F910F9108952BE10E
+:10607000FB013496DC01149601900D922A95E1F70C
+:10608000FB0122813381FC01338322830895EF9247
+:10609000FF920F931F93CF93DF93EC011B82FC01C0
+:1060A000E05BFF4F8081882329F0CE01835B9F4F07
+:1060B0000E948C137E018FE3E81A8EEFF80A45E305
+:1060C00060E0C7010E94BF3A81111FC0EFE2FEE00D
+:1060D0008491882341F09091C00095FFFCCF80937C
+:1060E000C6003196F5CFE7E4F6E08491882341F0CD
+:1060F0009091C00095FFFCCF8093C6003196F5CFFC
+:106100008091C00085FFFCCF77C08E010A531E4FDF
+:1061100041E0B701C8010E945A1B811126C040E02E
+:10612000B701C8010E945A1B81111FC0E5E3FEE0C0
+:106130008491882341F09091C00095FFFCCF80931B
+:10614000C6003196F5CFE4E3F6E08491882341F070
+:106150009091C00095FFFCCF8093C6003196F5CF9B
+:106160008091C00085FFFCCF47C0B801CE01835BA2
+:106170009F4F0E94991081111FC0E5E3FEE08491BA
+:10618000882341F09091C00095FFFCCF8093C6001A
+:106190003196F5CFE4E2F6E08491882341F09091C6
+:1061A000C00095FFFCCF8093C6003196F5CF80915B
+:1061B000C00085FFFCCF20C081E08B83EFE2FEE0D2
+:1061C0008491882341F09091C00095FFFCCF80938B
+:1061D000C6003196F5CFE9E1F6E08491882341F0DD
+:1061E0009091C00095FFFCCF8093C6003196F5CF0B
+:1061F0008091C00085FFFCCF8AE08093C6008E01AD
+:10620000075B1F4FB801CE0186599F4F30DFC85939
+:10621000DF4F19830883DF91CF911F910F91FF907A
+:10622000EF900895FC01128213820895FC012381EE
+:10623000222311F021E022830895FC012281211103
+:1062400012820895AF92BF92CF92DF92EF92FF92A7
+:106250000F931F93CF93DF931F92CDB7DEB78C01BF
+:106260008FE2FB0181935F01D12C41E07801F1E4E1
+:10627000EF1AFEEFFF0A9FE1C92E2D2D30E0F70146
+:106280008081918128173907D8F4C29EC001C39E2E
+:10629000900D112483579F4FB501800F911F4983A3
+:1062A0000E944010C50149815C010196F5012081E1
+:1062B000222321F04D3810F44F5FF6CFD394DDCF79
+:1062C00047FD11C0B501C80188519E4F0F90DF9165
+:1062D000CF911F910F91FF90EF90DF90CF90BF90E3
+:1062E000AF900C944010F50110820F90DF91CF9188
+:1062F0001F910F91FF90EF90DF90CF90BF90AF90E4
+:1063000008953F924F925F926F927F928F929F92E9
+:10631000AF92BF92CF92DF92EF92FF920F931F93B3
+:10632000CF93DF93CDB7DEB7AC970FB6F894DEBF4F
+:106330000FBECDBF7C015B01FC018381882309F482
+:1063400008C1C70188519E4F0E948C13F701128229
+:10635000CE0101966C0101DC270198E6490E511C23
+:10636000C701875B9F4FF20191838083F501808194
+:106370008F3209F084C06FE270E0C5010E9423B63D
+:106380008C010F5F1F4F2AE0322E0115110509F411
+:106390007CC06FE270E0C8010E9423B64C010097F8
+:1063A00009F474C00817190708F070C03C01601A9E
+:1063B000710AA301B801CE0180960E944CB6E0E2BA
+:1063C000F0E0EC0FFD1FE60DF71D1082FE01B09608
+:1063D0008191882339F09091C00095FFFCCF809384
+:1063E000C600F6CF8091C00085FFFCCF3092C6007A
+:1063F000F201608171816115710519F06C5F7F4F49
+:1064000002C060E070E021E0AE01405E5F4FCE016F
+:1064100005960E94831581112BC0EEEFF4E0849164
+:10642000882341F09091C00095FFFCCF8093C60077
+:106430003196F5CFFE01B0968191882339F0909185
+:10644000C00095FFFCCF8093C600F6CFECEFF4E0E0
+:106450008491882341F09091C00095FFFCCF8093F8
+:10646000C6003196F5CF8091C00085FFFCCF6CC08F
+:10647000F201D182C08284010F5F1F4F86CFC70116
+:1064800086599F4FF201918380838501F2018081BB
+:106490009181009711F0049602C080E090E0B8016D
+:1064A0000E945916882339F1EEEEF4E08491882396
+:1064B00041F09091C00095FFFCCF8093C6003196CB
+:1064C000F5CFF8018191882339F09091C00095FFB4
+:1064D000FCCF8093C600F6CF8091C00085FFFCCF33
+:1064E0008AE08093C600F701E356FD4F10821182C7
+:1064F000128213822CC0E6EDF4E08491882341F0EF
+:106500009091C00095FFFCCF8093C6003196F5CFE7
+:10651000F8018191882339F09091C00095FFFCCF5C
+:106520008093C600F6CFE4EDF4E08491882341F037
+:106530009091C00095FFFCCF8093C6003196F5CFB7
+:106540008091C00085FFFCCF8AE08093C600C60121
+:106550000EDBAC960FB6F894DEBF0FBECDBFDF9159
+:10656000CF911F910F91FF90EF90DF90CF90BF9050
+:10657000AF909F908F907F906F905F904F903F90E3
+:106580000895CF93DF93EC018B818823C1F1E2EC76
+:10659000F4E08491882341F09091C00095FFFCCFF6
+:1065A0008093C6003196F5CFFE01E356FD4F408142
+:1065B0005181628173812AE030E08CE99DE00E9484
+:1065C000868AE0ECF4E08491882341F09091C00049
+:1065D00095FFFCCF8093C6003196F5CFCB56DD4FAB
+:1065E000488159816A817B812AE030E08CE99DE015
+:1065F0000E94868A8091C00085FFFCCF11C0E0EB2D
+:10660000F4E08491882341F09091C00095FFFCCF85
+:106610008093C6003196F5CF8091C00085FFFCCFF6
+:106620008AE08093C600DF91CF910895AF92BF9228
+:10663000CF92DF92EF92FF920F931F93CF93DF934E
+:106640005C01EB01FB0101900020E9F78F01015093
+:106650001109061B170B6C01F8E1CF1AFEEFDF0AD8
+:10666000F60110826EE470E0CE010E9423B67C0138
+:10667000009729F4F8013197EC0FFD1F0DC060E27F
+:1066800070E00E9423B6EC0121966AE270E0C70137
+:106690000E9423B6FC0131978DE081838AE08283DA
+:1066A0001382BE01C5018C519E4F0E94438BF6019F
+:1066B0008081882309F1E5E3FEE08491882341F09D
+:1066C0009091C00095FFFCCF8093C6003196F5CF26
+:1066D000EAE9F4E08491882341F09091C00095FFAD
+:1066E000FCCF8093C6003196F5CF8091C00085FF26
+:1066F000FCCF8AE08093C600DF91CF911F910F916C
+:10670000FF90EF90DF90CF90BF90AF9008952F92C1
+:106710003F924F925F926F927F928F929F92AF9231
+:10672000BF92CF92DF92EF92FF920F931F93CF937E
+:10673000DF93CDB7DEB7CC55D1090FB6F894DEBFE5
+:106740000FBECDBF4C018C010F551D4F662339F094
+:10675000F8011082F401838181111DC015C0F80178
+:106760008081882309F4AFC0F401E756FD4FC08053
+:10677000D180E280F3800E9431A9C616D706E806D0
+:10678000F90608F4A0C0E4CFC40181DCF4018381E0
+:10679000882309F498C07401F7E4EF0EF11CF701A7
+:1067A00081818F9380818F9381E994E09F938F9370
+:1067B0008E01015C1F4F1F930F930E945BB60F90D9
+:1067C0000F900F900F900F900F90B12CF801019047
+:1067D0000020E9F73197E01BF10BBE1684F4680145
+:1067E000CB0CD11CB7FCDA94F6018081992787FD88
+:1067F00090950E9498B5F6018083B394E7CFFDE4AD
+:106800008F0E911C40E050E0BA01C4010E94A91211
+:10681000512CCE0101966C013AE8632E34E0732EC0
+:106820005E0191E2A90EB11C40E050E0B601C40146
+:106830000E94F6111816DCF5412CF601019000209B
+:10684000E9F73197EC19FD094E1674F41601240C82
+:10685000311C47FC3A94F101808190E00E9498B588
+:10686000F10180834394E9CF8A858E37E9F245E0D0
+:1068700050E0B801C6010E943EB6892BA9F61F93CD
+:106880000F937F926F92BF92AF920E945BB6C50149
+:106890000E94C03D86E894E00E94333E0F900F9026
+:1068A0000F900F900F900F9055245394BDCF51101F
+:1068B00004C08FEF9FEFF70104C0F7018081918141
+:1068C000019691838083C45ADF4F0FB6F894DEBFE0
+:1068D0000FBECDBFDF91CF911F910F91FF90EF9031
+:1068E000DF90CF90BF90AF909F908F907F906F90F0
+:1068F0005F904F903F902F9008950F931F93CF93E9
+:10690000DF93EC018C0108511E4FC8010E94421315
+:10691000C8010E948C1318821982DF91CF911F91B8
+:106920000F910895CF92DF92EF92FF920F931F93F2
+:10693000CF93DF93CDB7DEB76F970FB6F894DEBF76
+:106940000FBECDBF8C016A017C0188E6E80EF11C08
+:10695000C80186599F4FF70191838083E65CFD4F04
+:1069600022E030E03183208332967183608340E0FF
+:1069700050E0BA0104960E94A912F701808191812A
+:106980002BE1FC013496DE01159601900D922A95BB
+:10699000E1F7FC01828193819C838B838AEB95E0F4
+:1069A0009A8389839601AE014F5F5F4F62E973E07E
+:1069B000C80172D9CE010196DAD86F960FB6F89455
+:1069C000DEBF0FBECDBFDF91CF911F910F91FF9022
+:1069D000EF90DF90CF9008952F923F924F925F9269
+:1069E0006F927F928F929F92AF92BF92CF92DF92DF
+:1069F000EF92FF920F931F93CF93DF93CDB7DEB744
+:106A0000AC970FB6F894DEBF0FBECDBF8C016B0103
+:106A1000342EDC0113968C91882309F4EEC2F80120
+:106A2000E551FE4F8081882309F4F5C02111C1C0D2
+:106A30007801BDEFEB1AFB0AF7018081882361F131
+:106A4000E5E3FEE08491882341F09091C00095FF3A
+:106A5000FCCF8093C6003196F5CFE6EDF5E084914A
+:106A6000882341F09091C00095FFFCCF8093C60031
+:106A70003196F5CF4AE050E061E070E08CE99DE0AE
+:106A80000E945A8A8091C00085FFFCCF8AE08093E3
+:106A9000C6000E942245B1C2EFE2FEE08491882345
+:106AA00041F09091C00095FFFCCF8093C6003196D5
+:106AB000F5CFEDEBF5E08491882341F09091C00093
+:106AC00095FFFCCF8093C6003196F5CFF6018191FA
+:106AD000882339F09091C00095FFFCCF8093C600C9
+:106AE000F6CFE2EBF5E08491882341F09091C0006D
+:106AF00095FFFCCF8093C6003196F5CFD7018C91DE
+:106B00005DE8B52EB801B89E600D711D1124685F57
+:106B10007D4FC80197DBF7018081F801B89EE00D39
+:106B2000F11D1124E85FFD4F8191882339F0909188
+:106B3000C00095FFFCCF8093C600F6CFECEAF5E0ED
+:106B40008491882341F09091C00095FFFCCF809301
+:106B5000C6003196F5CF5801F3E6AF1AFDEFBF0A34
+:106B6000D5014D915D916D917C912AE030E08CE9E9
+:106B70009DE00E94868A8091C00085FFFCCF8AE05C
+:106B80008093C600F7012081F80184E0289FE00D82
+:106B9000F11D1124EC5FFD4FD5014D915D916D917B
+:106BA0007C9140835183628373832F5FF70120833D
+:106BB0002CC0EFE2FEE08491882341F09091C00068
+:106BC00095FFFCCF8093C6003196F5CFEBE9F5E059
+:106BD0008491882341F09091C00095FFFCCF809371
+:106BE000C6003196F5CFF6018191882339F0909156
+:106BF000C00095FFFCCF8093C600F6CF8091C00007
+:106C000085FFFCCF8AE08093C600C80188519E4F63
+:106C10000E948C1330C0F801ED5FFD4F1082EFE24F
+:106C2000FEE08491882341F09091C00095FFFCCF55
+:106C30008093C6003196F5CFEAE8F5E08491882389
+:106C400041F09091C00095FFFCCF8093C600319633
+:106C5000F5CFF6018191882339F09091C00095FF1E
+:106C6000FCCF8093C600F6CF8091C00085FFFCCF9B
+:106C70008AE08093C600D80112961C92FE013196DC
+:106C80005F01CF010E94AD2D2801F8E64F0E511C87
+:106C9000C801875B9F4FD2018D939C93F601808141
+:106CA0008F3209F084C06FE270E0C6010E9423B603
+:106CB00001967C014AE0242EE114F10409F47DC020
+:106CC0006FE270E0C7010E9423B64C01009709F4FF
+:106CD00075C0E816F90608F071C03C016E187F080F
+:106CE000A301B701CE0180960E944CB6E0E2F0E02D
+:106CF000EC0FFD1FE60DF71D1082FE01B09681918D
+:106D0000882339F09091C00095FFFCCF8093C60096
+:106D1000F6CF8091C00085FFFCCF2092C600D20143
+:106D20006D917C916115710519F06C5F7F4F02C008
+:106D300060E070E021E0AE01405E5F4FCE0105965D
+:106D40000E94831581112BC0E6E7F5E0849188232A
+:106D500041F09091C00095FFFCCF8093C600319622
+:106D6000F5CFFE01B0968191882339F09091C00053
+:106D700095FFFCCF8093C600F6CFE4E7F5E0849161
+:106D8000882341F09091C00095FFFCCF8093C6000E
+:106D90003196F5CF8091C00085FFFCCF02C1F20192
+:106DA000B182A0827401FFEFEF1AFF0A85CFC801FC
+:106DB00086599F4FD2018D939C937601F801E8513B
+:106DC000FE4F4F01332009F4B1C0D2016D917C9187
+:106DD0006115710519F06C5F7F4F02C060E070E0D3
+:106DE00021E0A701C4010E948315882309F474C01F
+:106DF000F40181899289A389B489F801EB56FD4F8A
+:106E000080839183A283B383E6E6F5E08491D80181
+:106E1000AB56BD4F882349F09091C00095FFFCCF41
+:106E20008093C60031968491F5CFF7018191882334
+:106E300039F09091C00095FFFCCF8093C600F6CF4B
+:106E4000EEE5F5E08491882341F09091C00095FF34
+:106E5000FCCF8093C6003196F5CF4D915D916D9139
+:106E60007C912AE030E08CE99DE00E94868A809146
+:106E7000C00085FFFCCF8AE08093C600F801E3568E
+:106E8000FD4F1082118212821382E0E5F5E08491B9
+:106E9000882341F09091C00095FFFCCF8093C600FD
+:106EA0003196F5CF8091C00085FFFCCF8AE08093BA
+:106EB000C600A70160E070E0C80134DDD80151963A
+:106EC0008C91882319F0C801419601C0C7010E9426
+:106ED00048728EE793E08CC0ECE3F5E08491882360
+:106EE00041F09091C00095FFFCCF8093C600319691
+:106EF000F5CFF7018191882339F09091C00095FF7B
+:106F0000FCCF8093C600F6CFEAE3F5E084918823B6
+:106F100041F09091C00095FFFCCF8093C600319660
+:106F2000F5CF8091C00085FFFCCF3BC0F2016081AE
+:106F300071816115710519F06C5F7F4F02C060E0CF
+:106F400070E026E5A701C4010E94831581112DC0C0
+:106F5000E6E2F5E08491882341F09091C00095FF2E
+:106F6000FCCF8093C6003196F5CFF701819188233D
+:106F700039F09091C00095FFFCCF8093C600F6CF0A
+:106F8000E4E2F5E08491882341F09091C00095FF00
+:106F9000FCCF8093C6003196F5CF8091C00085FF6D
+:106FA000FCCF8AE08093C60025C081E0D8018C9395
+:106FB000E2E1F5E08491882341F09091C00095FFD3
+:106FC000FCCF8093C6003196F5CFF60181918823DE
+:106FD00039F09091C00095FFFCCF8093C600F6CFAA
+:106FE0008091C00085FFFCCF8AE08093C600C70176
+:106FF0000E944872C5010E94B72DAC960FB6F89456
+:10700000DEBF0FBECDBFDF91CF911F910F91FF90DB
+:10701000EF90DF90CF90BF90AF909F908F907F9038
+:107020006F905F904F903F902F90089521E0FC016A
+:10703000218340E0D1CCCF92DF92EF92FF920F9369
+:107040001F93CF93DF93CDB7DEB76F970FB6F8944A
+:10705000DEBF0FBECDBF8C016C0128E6C20ED11C75
+:1070600086599F4FF60191838083E65CFD4F21E0B6
+:1070700030E0318320837801FCE5EF1AFDEFFF0A51
+:10708000F7011182108240E050E0BA0104960E949C
+:10709000A912F601808191812BE1FC013496DE0179
+:1070A000159601900D922A95E1F7FC01828193815A
+:1070B0009C838B838AEB95E09A83898320E030E080
+:1070C000AE014F5F5F4F62E973E0C8010E944C2E32
+:1070D000CE0101960E94B72DF701808191816F96B4
+:1070E0000FB6F894DEBF0FBECDBFDF91CF911F91D9
+:1070F0000F91FF90EF90DF90CF900895AF92BF92E5
+:10710000CF92DF92EF92FF920F931F93CF93DF9373
+:10711000CDB7DEB76F970FB6F894DEBF0FBECDBF09
+:107120008C017B01CE0101960E94AD2DF801EF5834
+:10713000FF4F80816801811104C029E4C20ED11C77
+:1071400003C08AE6C80ED11C21E0A701B6016C5F1E
+:107150007F4FCE0105960E94831581112DC0EFE26D
+:10716000FEE08491882341F09091C00095FFFCCF10
+:107170008093C6003196F5CFE0E7F4E08491882350
+:1071800041F09091C00095FFFCCF8093C6003196EE
+:10719000F5CFF7018191882339F09091C00095FFD8
+:1071A000FCCF8093C600F6CF8091C00085FFFCCF56
+:1071B0008AE08093C60036C0F801E154FE4F80811A
+:1071C00091818A30910530F59C012F5F3F4F3183CB
+:1071D00020832FE1289F7001299FF00C112429E8BA
+:1071E000E20EF11CE00EF11E5C01B701C7014F96E3
+:1071F0000E94373081E0A81AB1082FE1E21AF108A5
+:107200008FEFA816B80689F7B601C80187579F4FB8
+:107210000E943730BE016F5F7F4FC80186599F4F74
+:107220000E943730CE0101960E94B72D6F960FB69F
+:10723000F894DEBF0FBECDBFDF91CF911F910F91AC
+:10724000FF90EF90DF90CF90BF90AF900895EF92B6
+:10725000FF920F931F93CF93DF93EC01C154DE4F46
+:107260002881398121153105F9F0215031093983FF
+:1072700028838C0107571F4FB80186599F4F0E94E2
+:107280003730C80100E010E07C012FE1E20EF11C74
+:10729000288139810217130738F40F5F1F4FB70198
+:1072A0000E943730C701F0CFDF91CF911F910F912E
+:1072B000FF90EF900895EF92FF920F931F93CF935B
+:1072C000DF93EC010E943D938E010D5F1D4FF8018D
+:1072D00080819E0128513E4F79018823A1F1C90187
+:1072E0000E948C13F801808181508083BE01FDE8EB
+:1072F0008F9F600D711D1124685F7D4F21E041E07B
+:10730000CE016ADBF8018081FE0124E0829FE00D5E
+:10731000F11D1124EC5FFD4F408151816281738129
+:10732000FE01E356FD4F4083518362837383C7019F
+:107330000E94A912CE01DF91CF911F910F91FF9072
+:10734000EF900C9416310E94B393C7010E948C13E6
+:107350001A8284E694E0DF91CF911F910F91FF9004
+:10736000EF9081C48FEF8EBD0DB407FEFDCF8EB5BB
+:1073700008958EBD0DB407FEFDCF089561E0FC01B8
+:1073800080810C948AA8FC012281322F306A3695C4
+:107390003CBD20FD06C031E0263009F430E0232F4B
+:1073A00001C020E02DBD60E0FC0180810C948AA822
+:1073B000CF92DF92EF92FF920F931F93CF93DF93C1
+:1073C000EC018B017A010E9431A96B01CBDF8B8329
+:1073D0008F3F49F40E9431A96C197D096D327140CB
+:1073E000A8F381E144C08E3F11F08FE040C0E1146A
+:1073F000F104D9F0C70101972FEF2EBDF8014FEF2F
+:107400009F01201B310B2817390738F40DB407FEF4
+:10741000FDCF2EB521934EBDF3CF0DB407FEFDCFAA
+:107420002EB5F801E80FF91F2083D801E00EF11EF8
+:10743000C12CD12CAE15BF0579F08D91ED2DFF2714
+:10744000E827EE0FFF1FEC5AF94F85919491DC2C41
+:10745000CC24C826D926EECF85DF082F10E0102FC8
+:10746000002780DF082BC016D10631F080E2898327
+:10747000CE0184DF80E003C0CE0180DF81E0DF91B8
+:10748000CF911F910F91FF90EF90DF90CF900895D3
+:107490000F931F93CF93DF93EB010E9431A98B01D0
+:1074A00061DF8F3F49F00E9431A9601B710B6C179F
+:1074B0007D07B0F380E001C081E0DF91CF911F91A3
+:1074C0000F910895CF92DF92FF920F931F93CF9366
+:1074D000DF9300D01F92CDB7DEB76C01F62E298363
+:1074E0003A834B835C834FDF6CE271E0C601D0DFEF
+:1074F0008F2D80643EDF08E110E05C814B813A8192
+:107500002981DA01C901002E04C0B695A795979587
+:1075100087950A94D2F729833A834B835C8329DFCA
+:107520000850110929813A814B815C81083F8FEF16
+:10753000180739F7FF2029F0E8E0FE1621F08FEF59
+:1075400003C085E901C087E814DFFCE0FF1201C039
+:1075500009DF10E007DFF601838387FF04C01F3FC8
+:1075600011F01F5FF7CF0F900F900F900F90DF91EA
+:10757000CF911F910F91FF90DF90CF900895BF9210
+:10758000CF92DF92EF92FF920F931F93CF93DF93EF
+:10759000EC01B62E1C82198248830E9431A98B010E
+:1075A00061E088810E9451A8CE01E8DE60E082E3BC
+:1075B0000E9451A861E083E30E9451A861E084E346
+:1075C0000E9451A861E085E30E9451A861E085E333
+:1075D0000E948AA885E08A8382E58CBD1DBC6AE092
+:1075E000F62E8FEFC6DEFA94E1F720E030E0A90135
+:1075F00060E0CE0167DFF82E8B8381E0F81649F05A
+:107600000E9431A9601B710B613D774070F381E0EE
+:1076100046C02AEA31E040E050E068E0CE0152DFA7
+:1076200082FF02C0FC820CC054E0F52E9BDE8B83EF
+:10763000FA94E1F78A3A11F082E031C082E08C835B
+:107640008C81823031F4C12CD12CE12C40E4F42E19
+:1076500003C0C12CD12C760120E030E0A90167E302
+:10766000CE0130DFA701960169E2CE012BDF8B83CB
+:10767000882349F00E9431A9601B710B613D77405E
+:1076800058F38AE00CC08C818230B1F420E030E005
+:10769000A9016AE3CE0116DF882329F088E08983F7
+:1076A000CE016CDE14C05EDE807C803C11F483E091
+:1076B0008C8358DE57DE56DECE0160DE86E08B1509
+:1076C00018F488E1898303C0BA8281E001C080E0B8
+:1076D000DF91CF911F910F91FF90EF90DF90CF90AE
+:1076E000BF900895AF92BF92CF92DF92EF92FF9238
+:1076F0000F931F93CF93DF93EC016A017B01890104
+:107700008C81833039F0F9E0CC0CDD1CEE1CFF1CC1
+:10771000FA95D1F773E0B72EE4E0AE2EBA94A70144
+:10772000960161E1CE01CEDE882311F0A98207C067
+:1077300040E052E0B801CE013BDE81110EC0CE0127
+:10774000BB2049F01BDE20E030E0A9016CE0CE0157
+:10775000B9DE1982E3CF12DE80E0DF91CF911F9175
+:107760000F91FF90EF90DF90CF90BF90AF90089572
+:10777000CF93DF93EC016EBD20E030E00DB407FE47
+:10778000FDCFFA01E20FF31F80818EBD0DB407FE1D
+:10779000FDCF81818EBD2E5F3F4F211582E03807DE
+:1077A00069F70DB407FEFDCF8FEFE3DD8FEFE1DD6D
+:1077B000D9DD8B838F71853031F083E18983CE01F0
+:1077C000DDDD80E001C081E0DF91CF9108950F936E
+:1077D0001F93CF93DF93EC0189018C81833039F0C3
+:1077E000B9E0440F551F661F771FBA95D1F79A016C
+:1077F000AB0168E1CE0166DE882311F086E01EC091
+:10780000A8016EEFCE01B4DF8823C9F068E572E00D
+:10781000CE013EDE182F811102C087E10FC020E0AB
+:1078200030E0A9016DE0CE014DDE811106C09ADD88
+:10783000811103C0CE01A2DD05C086E18983CE019E
+:107840009DDD10E0812FDF91CF911F910F91089561
+:10785000FC01659175918591949108952F923F92C5
+:107860004F925F926F927F928F929F92AF92BF9250
+:10787000CF92DF92EF92FF920F931F93CF93DF93FC
+:1078800000D000D0CDB7DEB71C01FC01E051F24FB3
+:1078900014919C01220F331F220F331F3E832D832F
+:1078A0002C5B354F4901F90110821182128213823B
+:1078B00020E53AE04CE45AE068E47AE084E49AE0B7
+:1078C0000E943EA48D819E818150924FC1DF6B0149
+:1078D0007C01612F772767FD7095872F972F0E9476
+:1078E00042AF2B013C012D813E81215F354F590173
+:1078F00020E030E040EC5FE3C701B6010E9475B1C3
+:10790000A30192010E9475B1F501608371838283A6
+:1079100093832D813E81215A3D4F3C832B83F90176
+:107920006081718182819381609321027093220230
+:10793000809323029093240220E030E040E752E459
+:107940000E94A7AE20E3C22E2AE0D22E7B018C013A
+:107950002BE13AE047E15AE063E17AE08FE09AE018
+:107960000E94779A0E943D93F40110821182128244
+:10797000138220E53AE04CE45AE068E47AE084E4DB
+:107980009AE00E943EA42D813E812D50324F3A83D1
+:107990002983C9015DDF9058A30192010E9475B14E
+:1079A000F501608371838283938320E030E040E7B8
+:1079B00052E4609121027091220280912302909101
+:1079C00024020E94A7AE7B018C012BE13AE047E143
+:1079D0005AE063E17AE08FE09AE00E94779A0E9491
+:1079E0003D9389819A8134DF9B01AC010E94C7AD30
+:1079F000A30192010E9475B1F501608371838283B6
+:107A0000938320E030E040E05FE3EB81FC81608124
+:107A10007181828193810E9475B16093210270937C
+:107A20002202809323029093240220E030E040E77A
+:107A300052E40E94A7AE7B018C012BE13AE047E1C2
+:107A40005AE063E17AE08FE09AE00E94779A0E9420
+:107A50003D938D819E81855F914FFADE0D811E8160
+:107A6000085C154FF80120813181428153810E94C9
+:107A7000C7ADF40160837183828393838D819E817E
+:107A80008D5D914FE5DE2D813E812D5B3D4F79016E
+:107A9000F80120813181428153810E94C7ADF701F5
+:107AA00060837183828393838D819E81895E914FF0
+:107AB000CFDE2D813E81295C3D4F7901F801208187
+:107AC0003181428153810E94C7ADF7016083718388
+:107AD00082839383F40180819181A281B381F50136
+:107AE00080839183A283B383109221021092220299
+:107AF00010922302109224020E94EA8BF101EB5CA7
+:107B0000F54F81E0808326960FB6F894DEBF0FBE56
+:107B1000CDBFDF91CF911F910F91FF90EF90DF903C
+:107B2000CF90BF90AF909F908F907F906F905F901D
+:107B30004F903F902F900895FC012491222341F013
+:107B40003091C00035FFFCCF2093C6000196F4CFE2
+:107B500022E030E08CE99DE00C94308BFC01249114
+:107B6000222341F03091C00035FFFCCF2093C600A6
+:107B70000196F4CF2AE030E08CE99DE00C94868AEF
+:107B80002091640830916508243031050CF06AC0FA
+:107B9000409166085091670860E6649F9001659F78
+:107BA000300D1124BC01C9018259974F0E9437B68C
+:107BB000EFE2FEE08491882341F09091C00095FFB0
+:107BC000FCCF8093C6003196F5CFE5EEFDE08491C1
+:107BD000882341F09091C00095FFFCCF8093C600B0
+:107BE0003196F5CF809166089091670820E6289F2E
+:107BF000F001299FF00D1124E259F74F819188235C
+:107C000039F09091C00095FFFCCF8093C600F6CF6D
+:107C1000E3EEFDE08491882341F09091C00095FF50
+:107C2000FCCF8093C6003196F5CF8091C00085FFD0
+:107C3000FCCF8AE08093C600809166089091670827
+:107C4000019664E070E00E946BB2909367088093A5
+:107C50006608809164089091650801969093650884
+:107C60008093640808952091640830916508243059
+:107C700031050CF06AC0409166085091670860E6D3
+:107C8000649F9001659F300D1124BC01C901825988
+:107C9000974F0E94A0B5EFE2FEE08491882341F067
+:107CA0009091C00095FFFCCF8093C6003196F5CF30
+:107CB000E8EDFDE08491882341F09091C00095FFAC
+:107CC000FCCF8093C6003196F5CF809166089091E5
+:107CD000670820E6289FF001299FF00D1124E25942
+:107CE000F74F8191882339F09091C00095FFFCCF28
+:107CF0008093C600F6CFE6EDFDE08491882341F045
+:107D00009091C00095FFFCCF8093C6003196F5CFCF
+:107D10008091C00085FFFCCF8AE08093C6008091EF
+:107D2000660890916708019664E070E00E946BB26B
+:107D30009093670880936608809164089091650825
+:107D40000196909365088093640808959B9AA39880
+:107D50000895FCDF40E052EC61E070E08CE99DE0CA
+:107D60000E944689E0EDFDE08491882341F09091E6
+:107D7000C00095FFFCCF8093C6003196F5CF80916F
+:107D8000C00085FFFCCF8AE08093C6008FE29EE0B2
+:107D9000FC012491222341F03091C00035FFFCCF3B
+:107DA0002093C6003196F5CF24B720FF14C0E8EC2D
+:107DB000FDE03491332341F04091C00045FFFCCFFA
+:107DC0003093C6003196F5CF3091C00035FFFCCF1F
+:107DD0003AE03093C60021FF14C0E8EBFDE0349197
+:107DE000332341F04091C00045FFFCCF3093C600E3
+:107DF0003196F5CF3091C00035FFFCCF3AE030939B
+:107E0000C60022FF14C0E7EAFDE03491332341F0BD
+:107E10004091C00045FFFCCF3093C6003196F5CFAE
+:107E20003091C00035FFFCCF3AE03093C60023FF0D
+:107E300014C0E7E9FDE03491332341F04091C000E4
+:107E400045FFFCCF3093C6003196F5CF3091C0008E
+:107E500035FFFCCF3AE03093C60025FF14C0E7E8B9
+:107E6000FDE02491222341F03091C00035FFFCCF8A
+:107E70002093C6003196F5CF2091C00025FFFCCF9E
+:107E80002AE02093C60014BEE0E8FDE024912223FE
+:107E900041F03091C00035FFFCCF2093C6003196F1
+:107EA000F5CFEAE7FDE02491222341F03091C000B4
+:107EB00035FFFCCF2093C6003196F5CF2091C0004E
+:107EC00025FFFCCF2AE02093C600FC012491EFE2BD
+:107ED000FEE0222349F03091C00035FFFCCF209313
+:107EE000C60031962491F5CFEAE6FDE024912223E5
+:107EF00041F03091C00035FFFCCF2093C600319691
+:107F0000F5CFE5E5FDE02491222341F03091C0005A
+:107F100035FFFCCF2093C6003196F5CFE9E4FDE0B4
+:107F20002491222341F03091C00035FFFCCF2093F3
+:107F3000C6003196F5CFE2E3FDE02491222341F023
+:107F40003091C00035FFFCCF2093C6003196F5CFAD
+:107F50002091C00025FFFCCF2AE02093C600E7E275
+:107F6000FDE02491222341F03091C00035FFFCCF89
+:107F70002093C6003196F5CFEBE1FDE0249122235A
+:107F800041F03091C00035FFFCCF2093C600319600
+:107F9000F5CF2091C00025FFFCCF2AE02093C6003A
+:107FA000FC018491EFE2FEE0882349F09091C0004B
+:107FB00095FFFCCF8093C60031968491F5CFECE01D
+:107FC000FDE08491882341F09091C00095FFFCCFA3
+:107FD0008093C6003196F5CF0E9458964AE050E053
+:107FE000BC018CE99DE00E945A8AE5EFFCE0849197
+:107FF000882341F09091C00095FFFCCF8093C6008C
+:108000003196F5CF4AE050E060ED74E08CE99DE0F8
+:108010000E945A8A8091C00085FFFCCF8AE080933D
+:10802000C60010926A0810926B0810926C081092A9
+:108030006D080E9467870E9439830E94A2200E94D7
+:10804000279A0E9446950E947076FFEF23ED80E309
+:10805000F15020408040E1F700C000000895809179
+:108060005E0890915F0860E070E001960C94F7B2B2
+:1080700080915E0890915F084AE050E060E070E017
+:1080800001960C945FB4682F772767FD7095209157
+:1080900068083091690840E6429FC001439F900DF7
+:1080A00011248259974F0E9423B690935F088093C2
+:1080B0005E0821E0892B09F420E0822F08950E94B8
+:1080C00031A960935A0870935B0880935C08909381
+:1080D0005D0808950E9431A960935A0870935B0867
+:1080E00080935C0890935D08E0916808F0916908BE
+:1080F000E659F74F8081811114C0ECEFF8E08491CC
+:10810000882341F09091C00095FFFCCF8093C6007A
+:108110003196F5CF8091C00085FFFCCF8AE0809337
+:10812000C60008958CE99DE00E949889EFEFF8E081
+:108130008491882341F09091C00095FFFCCF8093FB
+:10814000C6003196F5CF4091F3095091F409609142
+:10815000F5097091F6094F5F5F4F6F4F7F4F2AE02F
+:1081600030E08CE99DE00E94378A8091C00085FF55
+:10817000FCCF8AE08093C600ADCF8F929F92AF92E2
+:10818000BF92CF92DF92EF92FF920F931F93CF9304
+:10819000DF9337ECE32E34E0F32E04E41AE0CFE073
+:1081A000DAE049E5C42E4AE0D42EF70181917F013F
+:1081B0006ADF882311F153DF4B015C01F6018081F6
+:1081C000811103C06091EE0901C061E070E080E0C0
+:1081D00090E00E9442AFF8012081318142815381B9
+:1081E0000E9475B19B01AC01C501B4010E94C7ADED
+:1081F000688379838A839B8309C0F8018081918198
+:10820000A281B38188839983AA83BB830C5F1F4FAC
+:108210002496FFEFCF1ADF0A8BECE81684E0F8060D
+:1082200021F686E430DF8823D1F019DF6B017C0171
+:108230006093FF097093000A8093010A9093020AE9
+:1082400020E030E0A9010E94A3B0181644F4C092C7
+:108250002102D0922202E0922302F0922402DF91C6
+:10826000CF911F910F91FF90EF90DF90CF90BF9033
+:10827000AF909F908F90089580DF89E404DF88237A
+:1082800051F0EDDE6093030A7093040A8093050AAF
+:108290009093060A08C01092030A1092040A1092E2
+:1082A000050A1092060A8AE4EEDE882351F0D7DE32
+:1082B0006093070A7093080A8093090A90930A0A48
+:1082C00008951092070A1092080A1092090A109253
+:1082D0000A0A0895CF92DF92EF92FF92CF93DF9335
+:1082E000EC01C0904302D0904402E0904502F0902F
+:1082F0004602A7019601688179818A819B810E944B
+:10830000A0AE87FF04C0C882D982EA82FB82C090F7
+:108310004702D0904802E0904902F0904A02A7013B
+:1083200096016C817D818E819F810E94A0AE87FF26
+:1083300004C0CC82DD82EE82FF8220E030E0A90121
+:1083400060914B0270914C0280914D0290914E02CF
+:108350000E94C7AD6B017C019B01AC0168857985EA
+:108360008A859B850E94A0AE87FF04C0C886D986F7
+:10837000EA86FB86C0903702D0903802E09039023E
+:10838000F0903A02A7019601688179818A819B81E8
+:108390000E94A3B0181624F4C882D982EA82FB8214
+:1083A000C0903B02D0903C02E0903D02F0903E0233
+:1083B000A70196016C817D818E819F810E94A3B06F
+:1083C000181624F4CC82DD82EE82FF82C0903F0238
+:1083D000D0904002E0904102F0904202A701960145
+:1083E000688579858A859B850E94A3B0181624F438
+:1083F000C886D986EA86FB86DF91CF91FF90EF9001
+:10840000DF90CF900895CF92DF92EF92FF920F937B
+:108410001F938FE09AE05EDF0E9431A960935A08B3
+:1084200070935B0880935C0890935D0820910F0A1D
+:108430003091100A4091110A5091120A6091440A39
+:108440007091450A8091460A9091470A0E94A0AE19
+:10845000811179C02091130A3091140A4091150AB4
+:108460005091160A6091480A7091490A80914A0A0F
+:1084700090914B0A0E94A0AE811165C020E030E0CF
+:1084800040E752E460912102709122028091230220
+:10849000909124020E94A7AE50E3C52E5AE0D52E3B
+:1084A0007B018C012BE13AE047E15AE063E17AE09D
+:1084B0008FE09AE00E94779A80910F0A9091100ABB
+:1084C000A091110AB091120A8093440A9093450A30
+:1084D000A093460AB093470A8091130A9091140A18
+:1084E000A091150AB091160A8093480A9093490A00
+:1084F000A0934A0AB0934B0A8091170A9091180AE8
+:10850000A091190AB0911A0A80934C0A90934D0ACF
+:10851000A0934E0AB0934F0A80911B0A90911C0AB7
+:10852000A0911D0AB0911E0A8093500A9093510A9F
+:10853000A093520AB093530A1F910F91FF90EF90AE
+:10854000DF90CF90089560915D0270915E02882760
+:1085500077FD8095982F0E9442AF209121023091A3
+:10856000220240912302509124020E9475B120E022
+:1085700030E040E752E40E94A7AE20E030E048EC53
+:1085800052E488CFCF92DF92EF92FF92CF93C62F23
+:10859000E091300AF0E0882309F4C2C0DF01A45D55
+:1085A000B54F8C91811196C18091440A9091450AF2
+:1085B000A091460AB091470A80930F0A9093100A3F
+:1085C000A093110AB093120A8091480A9091490A27
+:1085D000A0914A0AB0914B0A8093130A9093140A0F
+:1085E000A093150AB093160A80914C0A90914D0AF7
+:1085F000A0914E0AB0914F0A8093170A9093180ADF
+:10860000A093190AB0931A0AC090500AD090510A48
+:10861000E090520AF090530AC0921B0AD0921C0AB2
+:10862000E0921D0AF0921E0AEE0FFF1FEE0FFF1FD1
+:10863000E15BFD4F2081318142815381CC2349F0A0
+:1086400060912F027091300280913102909132023C
+:1086500008C060913302709134028091350290918C
+:1086600036020E94A7AE9B01AC01C701B6010E9471
+:10867000C7AD6093500A7093510A8093520A909349
+:10868000530A80E59AE00E94E3A4C0902102D090B2
+:108690002202E0902302F090240220E030E040E744
+:1086A00052E460912B0270912C0280912D029091E6
+:1086B0002E020E9475B16093210270932202809372
+:1086C000230290932402E091300AF0E0E45DF54F3C
+:1086D00081E0808398DE2091280A3091290A409118
+:1086E0002A0A50912B0A60914C0A70914D0A809190
+:1086F0004E0A90914F0A0E94C6AD60934C0A709347
+:108700004D0A80934E0A90934F0A20E53AE04CE4DC
+:108710005AE068E47AE084E49AE00E943EA4D1C082
+:10872000E45DF54F8081882309F4D4C08091440A28
+:108730009091450AA091460AB091470A80930F0A8A
+:108740009093100AA093110AB093120A8091480ADC
+:108750009091490AA0914A0AB0914B0A8093130A5A
+:108760009093140AA093150AB093160A60914C0ACC
+:1087700070914D0A80914E0A90914F0A6093170AAA
+:108780007093180A8093190A90931A0AC090500A9D
+:10879000D090510AE090520AF090530AC0921B0AFE
+:1087A000D0921C0AE0921D0AF0921E0A2091280A1B
+:1087B0003091290A40912A0A50912B0A0E94C7AD94
+:1087C00060934C0A70934D0A80934E0A90934F0A1F
+:1087D00020E53AE04CE45AE068E47AE084E49AE088
+:1087E0000E943EA4F090300ACC2389F02091200A08
+:1087F0003091210A4091220A5091230A60912F0260
+:1088000070913002809131029091320210C020911B
+:10881000240A3091250A4091260A5091270A609136
+:1088200033027091340280913502909136020E9499
+:10883000C7AD24E0F29EF0011124E15BFD4F2081E1
+:108840003181428153810E94A7AE9B01AC016091AE
+:10885000500A7091510A8091520A9091530A0E94D5
+:10886000C6AD6093500A7093510A8093520A909358
+:10887000530A80E59AE00E94E3A4C0902102D090C0
+:108880002202E0902302F090240220E030E040E752
+:1088900052E4609127027091280280912902909100
+:1088A0002A020E9475B16093210270932202809384
+:1088B000230290932402E091300AF0E0E45DF54F4A
+:1088C0001082A1DDC0922102D0922202E092230206
+:1088D000F0922402CF91FF90EF90DF90CF90089517
+:1088E000AF92BF92CF92DF92EF92FF920F931F93BE
+:1088F000CF93DF93D82F2091070A3091080A409137
+:10890000090A50910A0A6091030A7091040A809141
+:10891000050A9091060A0E94B0B0C62F172F082FA3
+:10892000F92E60915D0270915E02882777FD809537
+:10893000982F0E9442AF2091210230912202409153
+:108940002302509124020E9475B120E030E040E7FC
+:1089500052E40E94A7AE20E030E048EC52E40E94CE
+:10896000A7AE2091300A2F93DF93FF920F931F93AE
+:10897000CF935B016C0172E0E72E01E020E043E061
+:108980005AE06FE07AE084E49AE00E943B2A80910A
+:108990000F0A9091100AA091110AB091120A8093C7
+:1089A000440A9093450AA093460AB093470A8091DF
+:1089B000130A9091140AA091150AB091160A809397
+:1089C000480A9093490AA0934A0AB0934B0A8091AF
+:1089D000170A9091180AA091190AB0911A0A809367
+:1089E0004C0A90934D0AA0934E0AB0934F0A80917F
+:1089F0001B0A90911C0AA0911D0AB0911E0A809337
+:108A0000500A9093510AA093520AB093530A0E94BD
+:108A100031A960935A0870935B0880935C08909327
+:108A20005D080F900F900F900F900F900F90DF91B7
+:108A3000CF911F910F91FF90EF90DF90CF90BF905B
+:108A4000AF900895F8940E944521179A1092350A24
+:108A5000169A1092360A159A1092370A149A60E004
+:108A600087E40E9451A8E5E3FEE08491882341F069
+:108A70009091C00095FFFCCF8093C6003196F5CF52
+:108A8000EDEDF8E08491882341F09091C00095FFCE
+:108A9000FCCF8093C6003196F5CF8091C00085FF52
+:108AA000FCCF8AE08093C60084ED98E00E940D76AA
+:108AB0007894C6E0D0E02197209749F068EC70E008
+:108AC00080E090E00E9460A90E949C76F4CFF89428
+:108AD000FFCF2F923F924F925F926F927F928F9231
+:108AE0009F92AF92BF92CF92DF92EF92FF920F933D
+:108AF0001F93CF93DF93CDB7DEB76E970FB6F89481
+:108B0000DEBF0FBECDBFB0E6BB2E14E0E12EF12CD0
+:108B10000BEBC02E0BE0D02E8AE0A82E9924939464
+:108B200080911D0E90911E0E20911F0E3091200EEF
+:108B3000821B930B8F779927892B09F41AC2809196
+:108B400064089091650804970CF013C28CE99DE0CD
+:108B50000E947C89809363082091610830916208AB
+:108B60008A3061F08D3051F08A3321F490916008A1
+:108B7000992321F02F3531050CF41DC12115310544
+:108B800009F437C18091660890916708B89E30015A
+:108B9000B99E700C1124F301E20FF31FE259F74F55
+:108BA000108220916008211101C110926008FC011F
+:108BB000E659F74F108283010259174F6EE470E0B7
+:108BC000C8010E9423B60097F1F190935F0880934B
+:108BD0005E08801B910B860D971D4AE050E060E017
+:108BE00070E08159974F0E945FB46093F7097093CA
+:108BF000F8098093F9099093FA094090F30950908D
+:108C0000F4096090F5097090F6092FEF421A520AA4
+:108C1000620A720A0091660810916708641575056A
+:108C20008605970509F4E8C0B09EC001B19E900D7D
+:108C3000112467ED7CE08259974F0E94CEB5892BB5
+:108C400009F0DAC069C16AE270E0C8010E9423B687
+:108C5000892B09F444C0E5E3FEE08491882341F0C8
+:108C60009091C00095FFFCCF8093C6003196F5CF60
+:108C7000E1E3FCE08491882341F09091C00095FFEE
+:108C8000FCCF8093C6003196F5CF4091F309509107
+:108C9000F4096091F5097091F6092AE030E08CE959
+:108CA0009DE00E94378A8091C00085FFFCCF8AE05A
+:108CB0008093C6001092620810926108C0C2809131
+:108CC000F7099091F809A091F909B091FA098093F8
+:108CD000F3099093F409A093F509B093F6098091F4
+:108CE000660890916708B89E8001B99E100D112406
+:108CF000C8018259974F3C0167E470E00E9423B697
+:108D0000009781F190935F0880935E088619970918
+:108D1000800F911F60E070E08159974F0E94F7B279
+:108D20000E940FAF64307105E8F480914C088823ED
+:108D3000C9F0F6018491EBEBFBE0882349F09091B8
+:108D4000C00095FFFCCF8093C60031968491F5CF8B
+:108D50008091C00085FFFCCFA092C60081EB9BE014
+:108D60000E9400760091660810916708B09EC001CD
+:108D7000B19E900D112463E973E08259974F0E94D0
+:108D80002EB6892B09F45EDEC8010196B7010E9458
+:108D90006BB2909367088093660880916408909105
+:108DA00065080196909365088093640810926208A4
+:108DB00010926108B5CE8B3311F4909260089091B7
+:108DC00060089111ADCE4091660850916708B901D5
+:108DD0006F5F7F4F7093620860936108B49EF001EB
+:108DE000B59EF00D1124E20FF31FE259F74F808377
+:108DF00097CE1092600823C2B09E3001B19E700CD5
+:108E00001124C3018259974F1C016AE270E00E944D
+:108E100023B6009789F5E5E3FEE08491882341F0CD
+:108E20009091C00095FFFCCF8093C6003196F5CF9E
+:108E3000EBE5FCE08491882341F09091C00095FF20
+:108E4000FCCF8093C6003196F5CF4091F309509145
+:108E5000F4096091F5097091F6092AE030E08CE997
+:108E60009DE00E94378A8091C00085FFFCCF8AE098
+:108E70008093C60057D91ECF20E010E0F301E20F27
+:108E8000F11DE259F74F30813A3219F02F5F132765
+:108E9000F5CF90935F0880935E0882199309860D41
+:108EA000971D60E070E08159974F0E94F7B20E94D1
+:108EB0000FAF212F30E02617370709F400CFE5E385
+:108EC000FEE08491882341F09091C00095FFFCCF93
+:108ED0008093C6003196F5CFE5E8FCE084918823C5
+:108EE00041F09091C00095FFFCCF8093C600319671
+:108EF000F5CF4091F3095091F4096091F509709113
+:108F0000F6092AE030E08CE99DE00E94378A8091E2
+:108F1000C00085FFFCCFABCFE5E3FEE08491882362
+:108F200041F09091C00095FFFCCF8093C600319630
+:108F3000F5CFE4EAFCE08491882341F09091C000F1
+:108F400095FFFCCF8093C6003196F5CF4091F30991
+:108F50005091F4096091F5097091F6092AE030E02A
+:108F60008CE99DE00E94378A8091C00085FFFCCF8C
+:108F70007ECF80915F0A882309F461C180916108E6
+:108F800090916208892B09F05AC1809164089091F0
+:108F90006508892B11F410924A08F8EE2F2EF3E0A1
+:108FA0003F2E412C512CACE3CA2ED12CE12CF12CBC
+:108FB0008E010F5F1F4FE0E66E2E77247394409171
+:108FC000FA0C5091FB0C6091FC0C7091FD0C80919F
+:108FD000F20C9091F30CA091F40CB091F50C4817A1
+:108FE00059076A077B0708F02AC1809164089091AD
+:108FF000650804970CF023C180914A0881111FC1B4
+:1090000080914D0C90914E0CA0914F0CB091500C52
+:109010008093FA0C9093FB0CA093FC0CB093FD0C86
+:1090200085E49CE00E94E011482F809363088A3019
+:10903000B9F04D30A9F0433229F420916008222381
+:1090400079F002C04A33C9F3209161083091620877
+:109050002F3531052CF48F3FFFEF9F0709F0D1C06A
+:109060004091FA0C5091FB0C6091FC0C7091FD0C3E
+:109070008091F20C9091F30CA091F40CB091F50C4E
+:10908000481759076A077B0708F481C0EEE9FBE03F
+:109090008491882341F09091C00095FFFCCF80938C
+:1090A000C6003196F5CF8091C00085FFFCCFFAE075
+:1090B000F093C6000E9431A960934E0870934F0848
+:1090C00080935008909351088090520890905308D4
+:1090D000A0905408B0905508681979098A099B092D
+:1090E000A20191010E947EB249015A01CA01B9014F
+:1090F000A70196010E947EB2CA01B901A70196019B
+:109100000E947EB27F936F93C501B40120E13EE0DF
+:1091100040E050E00E947EB23F932F93AAE8BBE06C
+:10912000BF93AF931F930F930E945BB6EFE2FEE0F5
+:1091300084910FB6F894DEBF0FBECDBF882349F0EF
+:109140009091C00095FFFCCF8093C600319684912A
+:10915000F5CFF8018191882339F09091C00095FFF7
+:10916000FCCF8093C600F6CF8091C00085FFFCCF76
+:109170003AE03093C600C8010E9448728DE59AE03B
+:109180000E945B3961E08DE59AE00E94873380910F
+:109190006308833211F470924A082091610830917B
+:1091A00062082115310509F424CE8091660890915A
+:1091B0006708689EF001699EF00D1124E20FF31F0D
+:1091C000E259F74F1082FC01E659F74F7082209167
+:1091D0006408309165082F5F3F4F309365082093F6
+:1091E0006408019664E070E00E946BB29093670897
+:1091F00080936608109260081092620810926108CD
+:10920000DECE4B3311F4709260084091600841113A
+:10921000D2CE4091660850916708B9016F5F7F4FC9
+:109220007093620860936108649EF001659EF00D82
+:109230001124E20FF31FE259F74F8083C0CE6E96E0
+:109240000FB6F894DEBF0FBECDBFDF91CF911F9157
+:109250000F91FF90EF90DF90CF90BF90AF909F90D5
+:109260008F907F906F905F904F903F902F900895D8
+:10927000CF92DF92EF92FF920F931F93CF93C82F5D
+:10928000809164089091650803970CF422DC0E9499
+:1092900031A9009156081091570820915808309133
+:1092A0005908C0905A08D0905B08E0905C08F09094
+:1092B0005D086C197D098E099F0906171707280795
+:1092C000390728F4012B022B032B09F0BBDB40915B
+:1092D0001D0250911E0260911F0270912002452BC9
+:1092E000462B472B19F10E9431A900915A08109181
+:1092F0005B0820915C0830915D08601B710B820B4C
+:10930000930B00911D0210911E0220911F023091BB
+:109310002002061717072807390740F490916D0EB1
+:1093200080916C0E981302C0CC2349F0CF911F910D
+:109330000F91FF90EF90DF90CF900C945B9A179A6B
+:109340001092350A169A1092360A159A1092370A18
+:10935000149AECCF0E94452180914C08811138C0AD
+:1093600081E080934C088091F3099091F409A091D9
+:10937000F509B091F6098093EF099093F009A09355
+:10938000F109B093F209E5E3FEE08491882341F00E
+:109390009091C00095FFFCCF8093C6003196F5CF29
+:1093A000EEE5F8E08491882341F09091C00095FFAC
+:1093B000FCCF8093C6003196F5CF8091C00085FF29
+:1093C000FCCF8AE08093C60084E598E00C94007698
+:1093D000089580914C080895CF93DF93EC0180911C
+:1093E000300A80934D0884E50E944340811102C0F9
+:1093F00080E075C00E942F400E9414AF60934D081A
+:109400006623B1F3EFE2FEE08491882341F090916E
+:10941000C00095FFFCCF8093C6003196F5CFCD36C6
+:10942000D105B9F054F4C836D105B1F0C936D1052B
+:1094300009F045C0EDEDF3E021C0CA3DD10531F0A2
+:10944000CD3DD105E1F5E8E9F3E036C0EFEAF3E020
+:1094500029C0E6ECF3E01CC0E4EFF3E0819188233F
+:1094600071F19091C00095FFFCCF8093C600F6CFBC
+:109470009091C00095FFFCCF8093C600819181112F
+:10948000F7CF1DC09091C00095FFFCCF8093C60020
+:1094900081918111F7CF13C09091C00095FFFCCF4F
+:1094A0008093C60081918111F7CF09C09091C000CF
+:1094B00095FFFCCF8093C60081918111F7CF40E0EA
+:1094C00050E060914D088CE99DE00E94918A809166
+:1094D000C00085FFFCCF8AE08093C60081E0DF9169
+:1094E000CF910895CF92DF92EF92FF922091540A8C
+:1094F0002223F1F020E030E040E05FE30E9475B10C
+:109500006B017C0120E030E0A9010E94A0AE88231D
+:1095100079F0A7019601C701B6010E9475B12BED44
+:109520003FE049E450E40E9475B19B01AC0104C0E6
+:1095300020E030E040E85FE360E070E080E89FE337
+:109540000E94A7AEFF90EF90DF90CF9008956091BA
+:109550005302709154028091550290915602C2DFDD
+:1095600060934F0270935002809351029093520285
+:1095700008953F924F925F926F927F928F929F9247
+:10958000AF92BF92CF92DF92EF92FF920F931F9311
+:10959000CF93DF93CDB7DEB7E9970FB6F894DEBF70
+:1095A0000FBECDBF80E50E9443408823B1F186E421
+:1095B0000E9443408823A9F0EAE1F4E081918823E6
+:1095C00039F09091C00095FFFCCF8093C600F6CF94
+:1095D0008091C00085FFFCCF8AE08093C6000C9488
+:1095E000F46082E50E944340882311F40C94F460F7
+:1095F000E0E2F4E08191882339F09091C00095FF7A
+:10960000FCCF8093C600F6CF8091C00085FFFCCFD1
+:109610008AE08093C6000C94F46087E40E94434083
+:10962000882309F44CC20E942F400E940FAF6A3079
+:10963000710509F4AFC09CF46230710509F44CC0A7
+:1096400024F477FF25C00C94F4606330710509F4AD
+:109650004EC06430710509F455C00C94F4606A354D
+:10966000710509F4D8C154F46B30710509F498C040
+:109670006C31710509F49AC00C94F4606B35710576
+:1096800009F4CDC16C35710509F4CEC10C94F460B8
+:1096900080914C0881110C94F4600E94BD4080912F
+:1096A0002D0A8823A9F088E50E944340811110C04B
+:1096B00089E50E94434081110BC08AE50E94434026
+:1096C000811106C085E40E94434081110C94F7602B
+:1096D0000E9403420C94F46080914C0881110C9418
+:1096E000F4600E943C4181E0FBD80C94F4608091CE
+:1096F0004C0881110C94F4600E943C4180E0F0D849
+:109700000C94F46081E89BE00E94007680E50E9462
+:109710004340882339F00E942F400E9414AF4B0130
+:109720005C0103C0812C912C540183E50E944340CD
+:10973000882361F00E942F4020E030E04AE754E4A3
+:109740000E9475B10E9414AF4B015C010E943D93D1
+:109750000E9431A96B017C01C80CD91CEA1CFB1CBE
+:109760000E9431A960935A0870935B0880935C084B
+:1097700090935D080E9431A96C157D058E059F05AB
+:1097800010F00C94F4600E94721E80E071DD0E9463
+:109790009C76F0CF60E081E00E94C2420C94F460BD
+:1097A00060E080E00E94C2420C94F460809121024B
+:1097B00090912202A0912302B09124028093FB0990
+:1097C0009093FC09A093FD09B093FE0980915D027E
+:1097D00090915E029093580A8093570A84E690E035
+:1097E00090935E0280935D020E9431A960935A08B3
+:1097F00070935B0880935C0890935D0881E00E9401
+:10980000F18B8091440A9091450AA091460AB0914B
+:10981000470A80930F0A9093100AA093110AB093FD
+:10982000120A8091480A9091490AA0914A0AB0917F
+:109830004B0A8093130A9093140AA093150AB093CD
+:10984000160A80914C0A90914D0AA0914E0AB0914F
+:109850004F0A8093170A9093180AA093190AB0939D
+:109860001A0A8091500A9091510AA091520AB0911F
+:10987000530A80931B0A90931C0AA0931D0AB0936D
+:109880001E0A1092210210922202109223021092BC
+:10989000240288E50E944340882311F090E00AC02A
+:1098A00089E50E9443408111F9CF8AE50E94434037
+:1098B00091E098279093250291110C94266188E5F8
+:1098C0000E94434081110C942661809125028111F0
+:1098D0000C942C6189E50E94434081110C942C6109
+:1098E00088E50E9443408823D1F00E943840672BCE
+:1098F000682B692BA1F00E942F402091380A3091EB
+:10990000390A40913A0A50913B0A0E94C7AD6093D0
+:10991000440A7093450A8093460A9093470A89E562
+:109920000E9443408823D1F00E943840672B682B67
+:10993000692BA1F00E942F4020913C0A30913D0AF2
+:1099400040913E0A50913F0A0E94C7AD6093480A79
+:109950007093490A80934A0A90934B0A809125029A
+:1099600081110C9432618AE50E94434081110C946C
+:1099700032618AE50E9443408823D1F00E9438403A
+:10998000672B682B692BA1F00E942F402091400A81
+:109990003091410A4091420A5091430A0E94C7AD5A
+:1099A00060934C0A70934D0A80934E0A90934F0A2D
+:1099B00020E53AE04CE45AE068E47AE084E49AE096
+:1099C0000E943EA480E00E94F18B8091FB0990915F
+:1099D000FC09A091FD09B091FE09809321029093AA
+:1099E0002202A0932302B09324028091570A9091FF
+:1099F000580A90935E0280935D020E9431A96093A1
+:109A00005A0870935B0880935C0890935D080E94ED
+:109A1000EA8B0C94F4601092EE090C94F46081E0EF
+:109A20008093EE090C94F46085E40E944340811118
+:109A300002C00E943D9357ECC52E54E0D52E68E33A
+:109A4000E62E6AE0F62E04E41AE0B12CF6018191CC
+:109A50006F010E944340882339F1F3E0BF120CC02C
+:109A60000E942F40F801608371838283938380E595
+:109A70009AE00E94E3A418C00E942F40F7012081C1
+:109A80003181428153810E94C7ADF80160837183A7
+:109A90008283938320E53AE04CE45AE068E47AE07C
+:109AA00084E49AE00E943EA4B394F4E0EF0EF11C2B
+:109AB0000C5F1F4F24E0B212C9CF0C94F4608DE408
+:109AC0000E944340882311F40C9423600E942F408D
+:109AD0000E940FAF6537710511F40C94C9550CF055
+:109AE000A6C06032710509F4F0C20CF056C06731AF
+:109AF000710509F445C254F56231710509F468C76E
+:109B0000BCF477FF02C00C94F460623071050CF471
+:109B100061C16131710511F00C94F46088E49BE03F
+:109B20000E94007617981698159814980C94F46073
+:109B30006531710509F418C20CF01CC2643171055D
+:109B400011F00C94F460E8E3FBE0EAC16B317105BD
+:109B500009F442C2B4F46931710509F429C20CF068
+:109B60002DC28DE59AE00E9416310E9431A96093C2
+:109B700052087093530880935408909355080C949E
+:109B8000F4606E31710509F462C20CF03AC36C31B5
+:109B9000710509F427C20C94F4606C35710509F461
+:109BA0006AC7ECF46235710509F409C764F46035DD
+:109BB000710509F4DAC60CF0E5C66A32710509F4DC
+:109BC0007EC30C94F4606435710509F401C70CF48C
+:109BD000FAC66535710509F433C70C94F4606B3629
+:109BE000710509F4BCC664F46936710509F4DEC375
+:109BF0000CF085C66836710509F4A8C30C94F460AE
+:109C00006037710509F4BFC334F46D36710509F48A
+:109C1000D9C40C94F4606237710509F4CEC7633778
+:109C2000710511F00C94F460EEEBF9E0ADC76D3DF9
+:109C3000710511F40C94D3590CF04DC06B3C7105B7
+:109C400011F40C944D5844F56C38710509F49DC31A
+:109C50009CF46837710511F40C94BD566937710591
+:109C600011F40C94C2566737710511F00C94F4602E
+:109C7000E7E2F4E00C94CD56683C710511F40C94C5
+:109C8000B757693C710511F40C942C586E3B710563
+:109C900011F00C94F46020C56F3C710511F40C9424
+:109CA000095954F46D3C710511F40C948C5814F45A
+:109CB0000C946A580C94EC58613D710511F40C94A5
+:109CC000645914F40C943E596C3D710511F40C94D4
+:109CD000C4590C94F460603931E0730711F40C94AA
+:109CE000965B54F56E3291E0790711F40C94505B59
+:109CF00084F46C32F1E07F0711F40C94545A14F0A0
+:109D00000C948A5A623E710511F40C94F9590C9422
+:109D1000F4606E3531E0730711F40C94905F6F3589
+:109D200081E0780711F40C94C75F6F32714011F035
+:109D30000C94F4600C945E5B6835E2E07E0711F4ED
+:109D40000C94745CBCF4663F21E0720711F40C942F
+:109D5000995B673F31E0730711F40C949C5B653F9E
+:109D6000714011F00C94F4600E9467870E9439835F
+:109D70000C94F4606B3893E0790711F40C946A5FEB
+:109D80003CF46335734011F40C949F5B0C94F460C5
+:109D9000603A23E0720709F401C2673E734011F094
+:109DA0000C94F46010924C080E9413768091EF0995
+:109DB0009091F009A091F109B091F2098093F30913
+:109DC0009093F409A093F509B093F6090E9492408C
+:109DD0000C94F46000915E0810915F080E5F1F4FB5
+:109DE00080E50E944340882379F00E942F400E9422
+:109DF00014AF6B017C01BB24B3946115710581051F
+:109E0000910531F4B12C04C0B12CC12CD12C7601B8
+:109E100083E50E944340882399F00E942F4020E070
+:109E200030E04AE754E40E9475B10E9414AF6B0120
+:109E30007C01AA24A394611571058105910509F49B
+:109E4000A12C6AE270E0C8010E9423B6009711F0CD
+:109E5000FC011082F801CF0121912032E1F3B11011
+:109E600007C0A11005C0222319F00E94487204C047
+:109E700080E79BE00E94007681E00E9428720E94A9
+:109E80003D930E9431A960935A0870935B088093B8
+:109E90005C0890935D08C114D104E104F104A9F0B9
+:109EA0000E9431A94B015C018C0C9D1CAE1CBF1C97
+:109EB0000E9431A9681579058A059B05B8F40E94AE
+:109EC0006277811113C00C9438610E9460778823F7
+:109ED00011F40C94F4600E94627781110AC00E9410
+:109EE000721E80E0C5D90E949C76F5CF80E00E946A
+:109EF000287280915F0A882331F081E69BE00E94FE
+:109F000000760C94F46081E59BE00E9400760C944E
+:109F1000F4609091C00095FFFCCF8093C60031960D
+:109F200084918111F6CF8091C00085FFFCCF8AE03B
+:109F30008093C6008DE59AE00E94F22FEAE2FBE0F2
+:109F40008491882341F09091C00095FFFCCF8093CD
+:109F5000C6003196F5CF8091C00085FFFCCF8AE026
+:109F60008093C6000C94F4608DE59AE00E9447301F
+:109F70000C94F4608DE59AE00E9412310C94F46028
+:109F800000915E0810915F080C5F1F4F6AE270E05D
+:109F9000C8010E9423B6009711F0FC01108221E055
+:109FA00041E0B8018DE59AE00E94EC340C94F46035
+:109FB0008DE59AE00E941D310C94F4608091600A56
+:109FC000882311F40C94F46083E50E9443408111CE
+:109FD0000C9441610C94F4608DE59AE00E94C132CA
+:109FE0000C94F46080915E0890915F086AE270E0E2
+:109FF00004960E9423B68C010097D9F0209168083E
+:10A000003091690840E6429FC001439F900D1124A2
+:10A010006EE470E08259974F0E9423B660E270E0D0
+:10A020000E9423B6019690935F0880935E08F80122
+:10A03000108260915E0870915F086C5F7F4F21E035
+:10A0400040E08DE59AE00E94EC340C94F46080913D
+:10A05000600A882311F40C94F46060E08DE59AE0C6
+:10A060000E947D3480915E0890915F086AE270E002
+:10A0700004960E9423B68C010097D9F020916808BD
+:10A080003091690840E6429FC001439F900D112422
+:10A090006EE470E08259974F0E9423B660E270E050
+:10A0A0000E9423B6019690935F0880935E08F801A2
+:10A0B000108260915E0870915F086C5F7F4F8DE544
+:10A0C0009AE00E9481310C94F46080915F0A8111C2
+:10A0D0000E943D9300915E0810915F080C5F1F4F36
+:10A0E0006AE270E0C8010E9423B67C0161E270E080
+:10A0F000C8010E9423B6009719F08C010F5F1F4F13
+:10A10000E114F10411F0F701108280E50E94434050
+:10A11000F82E20915E0830915F080217130708F4AB
+:10A12000F12C8091600A882311F40C94F46021E0F2
+:10A130002F2541E0B8018DE59AE00E94EC3483E5DB
+:10A140000E9443408823B9F020915E0830915F0857
+:10A150002017310780F40E943840AB01BC014093C6
+:10A16000FA0C5093FB0C6093FC0C7093FD0C85E48F
+:10A170009CE00E94A9128DE59AE00E941631F11030
+:10A180000C94F4600E9431A96093520870935308B4
+:10A1900080935408909355080C94F46080915E0865
+:10A1A00090915F086AE270E005960E9423B68C01E8
+:10A1B0000097D9F0209168083091690840E6429FE5
+:10A1C000C001439F900D11246EE470E08259974FB7
+:10A1D0000E9423B660E270E00E9423B6019690933D
+:10A1E0005F0880935E08F801108260915E087091AC
+:10A1F0005F086B5F7F4F8DE59AE00E9416380C94E4
+:10A20000F4600E9431A960934E0870934F088093C8
+:10A2100050089093510800915208109153082091D2
+:10A22000540830915508601B710B820B930B28EE7C
+:10A2300033E040E050E00E947EB2CA01B9012CE355
+:10A2400030E040E050E00E947EB27F936F933F93F6
+:10A250002F938BE19BE09F938F93CE0101969F9369
+:10A260008F930E945BB6EFE2FEE084910FB6F89404
+:10A27000DEBF0FBECDBF882349F09091C00095FF8F
+:10A28000FCCF8093C60031968491F5CFFE013196C4
+:10A290008191882339F09091C00095FFFCCF809385
+:10A2A000C600F6CF8091C00085FFFCCF8AE0809386
+:10A2B000C600CE0101960E9448720C94F46083E5BA
+:10A2C0000E944340882311F40C94F4600E942F40B4
+:10A2D0000E940FAFF62EE72E862F9E2D8C0180E573
+:10A2E0000E944340882331F00F3F110509F010F41C
+:10A2F0000C9452610DE010E0EFE8F4E0819191914F
+:10A300008017910711F40C94F46034E0E73CF307F4
+:10A31000A9F70830110539F48F2D9E2D90932F0A3F
+:10A3200080932E0A04C017FF02C00C94F46061E011
+:10A33000802F0E9451A86F2D802F0E948AA86F2D18
+:10A340007E2D802F0E9447A70C94F46088E690E051
+:10A3500043D881110C94F46083E50E944340882324
+:10A3600071F000914D080E942F4010E0000F111F66
+:10A37000085B174F0E940FAFF801718360830E9442
+:10A3800044210C94F4600E94224583E50E944340DE
+:10A39000882311F40C94F4600E942F400E940FAFA8
+:10A3A00070934708609346080C94F46089E690E047
+:10A3B00013D881110C94F460E5E1FBE084918823CB
+:10A3C00041F09091C00095FFFCCF8093C60031967C
+:10A3D000F5CFE0914D0824E0E29FF0011124E05C0C
+:10A3E000F74F408151816281738121E030E08CE937
+:10A3F0009DE00E94308BE2E1FBE08491882341F0F4
+:10A400009091C00095FFFCCF8093C6003196F5CFA8
+:10A41000E0914D08F0E0EE0FFF1FE85BF74F608121
+:10A420007181882777FD8095982F0E9442AFAB01FC
+:10A43000BC0121E030E08CE99DE00E94308BEEE031
+:10A44000FBE08491882341F09091C00095FFFCCF00
+:10A450008093C6003196F5CF40913A0850913B0861
+:10A4600060913C0870913D0821E030E08CE99DE06E
+:10A470000E94308BEBE0FBE08491882341F09091C7
+:10A48000C00095FFFCCF8093C6003196F5CF609158
+:10A49000460870914708882777FD8095982F0E947D
+:10A4A00042AFAB01BC0121E030E08CE99DE00E94AD
+:10A4B000308BE8E0FBE08491882341F09091C0006C
+:10A4C00095FFFCCF8093C6003196F5CF4AE050E06F
+:10A4D00060E070E08CE99DE00E945A8AE6E0FBE0D3
+:10A4E0008491882341F09091C00095FFFCCF809328
+:10A4F000C6003196F5CF40914008509141086091D7
+:10A5000042087091430821E030E08CE99DE00E9410
+:10A51000308BE3E0FBE08491882341F09091C00010
+:10A5200095FFFCCF8093C6003196F5CF6091480827
+:10A5300070914908882777FD8095982F0E9442AF37
+:10A54000AB01BC0121E030E08CE99DE00E94308B42
+:10A55000EFEFFAE08491882341F09091C00095FFDD
+:10A56000FCCF8093C6003196F5CF80914D0890E0E6
+:10A570000E943C1E4AE050E0BC018CE99DE00E9434
+:10A580005A8AEAEFFAE08491882341F09091C00062
+:10A5900095FFFCCF8093C6003196F5CF8FEF9FEFEC
+:10A5A0000E943C1E4AE050E0BC018CE99DE00E9404
+:10A5B0005A8A8091C00085FFFCCF8AE08093C60054
+:10A5C0000C94B0628DE690E00E94EC4981110C94ED
+:10A5D000F4608FEE9AE00E94007683E50E9443408B
+:10A5E000882391F000914D080E942F4010E0000F49
+:10A5F000111F085B174F0E940FAFF8017183608332
+:10A6000081E080931C0215C082E50E9443408823AC
+:10A6100081F000914D080E942F4010E0000F111FA3
+:10A62000085B174F0E940FAFF8017183608310928F
+:10A630001C020E9444210E9431A94B015C0100913F
+:10A640004D0810E0F801EE0FFF1FE85BF74F608147
+:10A650007181882777FD8095982F0E9442AFF8017D
+:10A66000EE0FFF1FEE0FFF1FE05CF74F11E02081A0
+:10A670003181428153810E94A3B018160CF010E082
+:10A6800010934B0810921F0ACC24CA94DC2C76013C
+:10A6900048EE442E43E0542E612C712C5AE0352EA6
+:10A6A00080911F0A81110C946D62FFEFCF16DF06B7
+:10A6B000EF06FF0611F40C945961F7FE02C00C94EA
+:10A6C0006D620E9431A96C197D09683B7B4010F4D2
+:10A6D0000C9459610C946D6289EC9AE00E940076AA
+:10A6E00083E50E944340882361F00E942F400E942E
+:10A6F0000FAF709347086093460881E080931C0277
+:10A700000FC082E50E944340882351F00E942F40F1
+:10A710000E940FAF709347086093460810921C0286
+:10A720000E9431A94B015C0110921F0A60914608FA
+:10A7300070914708882777FD8095982F0E9442AF37
+:10A7400011E020913A0830913B0840913C0850912B
+:10A750003D080E94A3B018160CF010E010934B08AF
+:10A7600006EC1AE0E2ECEE2EEAE0FE2EFEEBCF2E37
+:10A77000FAE0DF2EAAE07A2E80914B08609146081D
+:10A7800070914708882309F48BC080911F0A8111BA
+:10A7900087C0882777FD8095982F0E9442AF20912F
+:10A7A0003A0830913B0840913C0850913D080E9486
+:10A7B000A3B018160CF08BC00E9431A96819790952
+:10A7C0008A099B09693E73408105910508F460C0C0
+:10A7D000E091300A84E0E89FF0011124E05CF74F3B
+:10A7E0004081518162817381F8018491E6ECFAE045
+:10A7F000882349F09091C00095FFFCCF8093C6005C
+:10A8000031968491F5CF22E030E08CE99DE00E9402
+:10A81000308BF7018491E2ECFAE0882349F09091C3
+:10A82000C00095FFFCCF8093C60031968491F5CF90
+:10A830006091300A70E04AE050E08CE99DE00E94AF
+:10A840005A8AF6018491EEEBFAE0882349F0909160
+:10A85000C00095FFFCCF8093C60031968491F5CF60
+:10A8600040913A0850913B0860913C0870913D0836
+:10A8700021E030E08CE99DE00E94308B8091C000A7
+:10A8800085FFFCCF7092C6000E9431A94B015C018C
+:10A890000E94721E80E00E9438490E949C766CCF14
+:10A8A000882777FD8095982F0E9442AF20913A0823
+:10A8B00030913B0840913C0850913D080E94A0AE69
+:10A8C00087FF05C080911C02882309F475CF84EBB3
+:10A8D0009AE00E94007680915F0A882321F08EE73B
+:10A8E00093E00E9448720E9431A960935A087093C5
+:10A8F0005B0880935C0890935D080C94F46083E59A
+:10A900000E944340882319F10E942F4020E030E04C
+:10A91000A9010E94A0AE87FD0FC00E942F4020E039
+:10A9200030E04FE753E40E94A3B0181644F00E94B1
+:10A930002F400E940FAF05C060E070E002C06FEFD3
+:10A9400070E070932F0A60932E0A0C94F4608FEFDE
+:10A9500090E090932F0A80932E0A0C94F46010924A
+:10A960002F0A10922E0A0C94F4609B9AA39881E00F
+:10A970008093260284EA9AE00E9400760E949C76E8
+:10A980000C94F4600E9445210E943D93149A0E9409
+:10A99000A79310922F0A10922E0A68EE73E080E0BF
+:10A9A00090E00E9460A99B9AA39A1092260286E9E1
+:10A9B0009AE00E9400760E949C760C94F4601092BB
+:10A9C0005C0A0C94F46081E080935C0A0C94F4605F
+:10A9D00083E50E9443408823A1F00E942F4020E09D
+:10A9E00030E04AE754E40E9475B10E9414AF6093CE
+:10A9F0001D0270931E0280931F02909320020C94FC
+:10AA0000F46088E50E94434081110C948E6289E5D0
+:10AA10000E94434081110C948E628AE50E9443405B
+:10AA200081110C948E6285E40E94434081110C9444
+:10AA30008E620E943D93149A0E94A7930C94F46036
+:10AA400083E50E944340882311F40C94F4600E9433
+:10AA50002F4020E030E04AE754E40E9475B10E94A4
+:10AA600014AF6093560870935708809358089093DA
+:10AA700059080C94F46027EC34E039AF28AF01EAB0
+:10AA800013E161EB862E63E1962E75E6A72E73E146
+:10AA9000B72E312CE8ADF9AD8191F9AFE8AF0E9446
+:10AAA0004340882309F45BC0F3E03F1251C00E9489
+:10AAB0002F406B017C0120E030E040EA51E40E942D
+:10AAC000A0AE87FF3FC0A7019601F80160817181A8
+:10AAD000828193810E94A7AE2B013C019B01AC01B6
+:10AAE0006091791370917A1380917B1390917C130C
+:10AAF0000E9475B16093791370937A1380937B13DE
+:10AB000090937C13A3019201F40160817181828191
+:10AB100093810E9475B1F401608371838283938372
+:10AB2000F50160817181828193810E9440AFA30110
+:10AB300092010E9475B10E9414AFF5016083718388
+:10AB400082839383F801C082D182E282F38207C0BC
+:10AB50000E942F40F8016083718382839383339432
+:10AB60000C5F1F4FF4E08F0E911C24E0A20EB11C6D
+:10AB700034E033128FCF0C94F4609091C00095FFB5
+:10AB8000FCCF8093C600319684918111F6CF0C944E
+:10AB9000F46000915E0810915F080B5F1F4F6AE23E
+:10ABA00070E0C8010E9423B6009711F0FC011082EA
+:10ABB000C8010E9448720C94F460EBEBF9E08491B8
+:10ABC000882341F09091C00095FFFCCF8093C60090
+:10ABD0003196F5CF4091440A5091450A6091460A5A
+:10ABE0007091470A22E030E08CE99DE00E94308BB2
+:10ABF000E7EBF9E08491882341F09091C00095FF44
+:10AC0000FCCF8093C6003196F5CF4091480A509111
+:10AC1000490A60914A0A70914B0A22E030E08CE9BF
+:10AC20009DE00E94308BE3EBF9E08491882341F0B2
+:10AC30009091C00095FFFCCF8093C6003196F5CF70
+:10AC400040914C0A50914D0A60914E0A70914F0A02
+:10AC500022E030E08CE99DE00E94308BEFEAF9E0E1
+:10AC60008491882341F09091C00095FFFCCF8093A0
+:10AC7000C6003196F5CF4091500A5091510A60912B
+:10AC8000520A7091530A22E030E08CE99DE00E9464
+:10AC9000308BE4EAF9E08491882341F09091C00080
+:10ACA00095FFFCCF8093C6003196F5CF0E94999313
+:10ACB0000E9442AF2091A1133091A2134091A3139F
+:10ACC0005091A4130E94A7AEAB01BC0122E030E07A
+:10ACD0008CE99DE00E94308BE0EAF9E084918823C2
+:10ACE00041F09091C00095FFFCCF8093C600319653
+:10ACF000F5CF81E00E9499930E9442AF2091A51365
+:10AD00003091A6134091A7135091A8130E94A7AEAB
+:10AD1000AB01BC0122E030E08CE99DE00E94308B69
+:10AD2000ECE9F9E08491882341F09091C00095FF0F
+:10AD3000FCCF8093C6003196F5CF82E00E949993B4
+:10AD40000E9442AF2091A9133091AA134091AB13F6
+:10AD50005091AC130E94A7AEAB01BC0122E030E0E1
+:10AD60008CE99DE00E94308B8091C00085FFFCCF74
+:10AD70008AE08093C6000C94F46080E00E94F18B1E
+:10AD80000C94F46081E00E94F18B0C94F46090913B
+:10AD9000C00095FFFCCF8093C60081918111F7CF51
+:10ADA0008091C00085FFFCCF8AE08093C600E4E973
+:10ADB000F9E08491882341F09091C00095FFFCCF89
+:10ADC0008093C6003196F5CF1E9B03C0EBE0F4E004
+:10ADD00009C0E5E1F4E006C09091C00095FFFCCF0A
+:10ADE0008093C60081918111F7CF8091C00085FFCB
+:10ADF000FCCF8AE08093C600ECE8F9E084918823D8
+:10AE000041F09091C00095FFFCCF8093C600319631
+:10AE1000F5CF029903C0EBE0F4E009C0E5E1F4E00E
+:10AE200006C09091C00095FFFCCF8093C600819131
+:10AE30008111F7CF8091C00085FFFCCF8AE080931D
+:10AE4000C600E4E8F9E08491882341F09091C000C5
+:10AE500095FFFCCF8093C6003196F5CF1D9B03C0B4
+:10AE6000EBE0F4E009C0E5E1F4E006C09091C00039
+:10AE700095FFFCCF8093C60081918111F7CF80911F
+:10AE8000C00085FFFCCF8AE08093C600ECE7F9E0C4
+:10AE90008491882341F09091C00095FFFCCF80936E
+:10AEA000C6003196F5CF019903C0EBE0F4E009C08C
+:10AEB000E5E1F4E006C09091C00095FFFCCF8093DF
+:10AEC000C60081918111F7CF8091C00085FFFCCF32
+:10AED0008AE08093C600E4E7F9E08491882341F09A
+:10AEE0009091C00095FFFCCF8093C6003196F5CFBE
+:10AEF0001C9B03C0EBE0F4E009C0E5E1F4E006C010
+:10AF00009091C00095FFFCCF8093C6008191811184
+:10AF1000F7CF8091C00085FFFCCF8AE08093C60008
+:10AF2000ECE6F9E08491882341F09091C00095FF10
+:10AF3000FCCF8093C6003196F5CF379903C0EBE084
+:10AF4000F4E009C0E5E1F4E006C09091C00095FF8F
+:10AF5000FCCF8093C60081918111F7CF8091C00012
+:10AF600085FFFCCF8AE08093C6000C94F46080914A
+:10AF7000300A80934D0884E50E944340882319F1EC
+:10AF80000E942F400E9414AF60934D086623D9F0B1
+:10AF9000EFE2FEE08491882341F09091C00095FF9C
+:10AFA000FCCF8093C6003196F5CFE0E4F4E08191C8
+:10AFB000882311F40C94F4609091C00095FFFCCFAD
+:10AFC0008093C600F4CF84E40E944340882311F4A8
+:10AFD0000C94F4600E942F4020E030E0A9010E9410
+:10AFE000A0AE811103C01092540A32C000914D08E6
+:10AFF00010E00E942F40F801EE0FFF1FEE0FFF1F21
+:10B00000ED5AFD4F6083718382839383E0905302F6
+:10B01000F0905402009155021091560220E030E069
+:10B02000A901B701C8010E94A0AE811104C0E12CA2
+:10B03000F12C00E410E4C701D801809353029093EF
+:10B040005402A0935502B093560281E08093540AB3
+:10B050000E94A74A0C94F46007EC14E041E9E42E46
+:10B0600043E1F42EF80181918F010E94434088232F
+:10B0700049F00E942F400E9414AFF7016083718352
+:10B0800082839383F4E0EF0EF11C24E00B3C120763
+:10B0900049F70E9410A50C94F46007EC14E031EB22
+:10B0A000E32E33E1F32EF80181918F010E9443409A
+:10B0B000882339F00E942F40F701608371838283D7
+:10B0C0009383F4E0EF0EF11C24E00B3C120759F7D8
+:10B0D0000C94F46083E50E944340882351F00E9461
+:10B0E0002F406093891370938A1380938B139093EE
+:10B0F0008C1384E50E944340882311F40C94F4607F
+:10B100000E942F406093851370938613809387135A
+:10B11000909388130C94F46083E50E944340882345
+:10B1200051F00E942F4060938D1370938E13809383
+:10B130008F139093901384E50E944340882351F02D
+:10B140000E942F406093751370937613809377134A
+:10B150009093781382E40E944340882361F00E9418
+:10B160002F400E9414AF6093C1137093C213809359
+:10B17000C3139093C41388E50E944340882351F081
+:10B180000E942F40609381137093821380938313E6
+:10B19000909384138AE50E944340882351F00E94D3
+:10B1A0002F4060937D1370937E1380937F13909351
+:10B1B000801385E40E944340882311F40C94F460CA
+:10B1C0000E942F406093791370937A1380937B13BE
+:10B1D00090937C130C94F46007EC14E028E3E22EC7
+:10B1E0002AE0F22EF80181918F010E9443408823CA
+:10B1F00039F00E942F40F70160837183828393832B
+:10B20000F4E0EF0EF11C24E00A3C120709F4ECC74D
+:10B21000E9CF83E50E944340882351F00E942F40EC
+:10B220006093330270933402809335029093360218
+:10B2300086E40E944340882381F00E942F4020E052
+:10B2400030E040E752E40E94A7AE60932B02709377
+:10B250002C0280932D0290932E028AE50E94434097
+:10B26000882309F4C1C70E942F406093280A709375
+:10B27000290A80932A0A90932B0AB6C783E50E9475
+:10B280004340882351F00E942F406093240A70931A
+:10B29000250A8093260A9093270A86E40E94434059
+:10B2A000882309F4A1C70E942F4020E030E040E746
+:10B2B00052E40E94A7AE6093270270932802809305
+:10B2C000290290932A0290C783E50E944340882375
+:10B2D00009F48AC70E942F400E940FAF61157105C3
+:10B2E00049F06130710559F481E080932D0A109284
+:10B2F0002C0A7AC710922D0A10922C0A75C7EFE219
+:10B30000FEE08491882341F09091C00095FFFCCF2E
+:10B310008093C6003196F5CFE9E5F9E08491882362
+:10B3200041F09091C00095FFFCCF8093C60031960C
+:10B33000F5CF809168089091690820E6289FF00178
+:10B34000299FF00D1124E259F74F8191882339F09C
+:10B350009091C00095FFFCCF8093C600F6CFE7E543
+:10B36000F9E08491882341F09091C00095FFFCCFD3
+:10B370008093C6003196F5CF8091C00085FFFCCF49
+:10B380008AE08093C60030C783E50E94434088234B
+:10B3900009F42AC70E942F400E940FAF70935E02EB
+:10B3A00060935D0221C783E50E944340882309F42E
+:10B3B0001BC70E942F400E940FAF6B017C0184E5E8
+:10B3C0000E944340882381F08DED90E00E94EC497B
+:10B3D00081110AC7E0914D08F0E0EE0FFF1FE75A18
+:10B3E000FD4FD182C08200C7D0925C02C0925B0246
+:10B3F000FBC680E50E944340882309F4F5C60E94FD
+:10B400002F400E940FAFD62E062F172F83E50E94E4
+:10B410004340882331F00E942F400E940FAF7B01F0
+:10B4200003C0EE24EA94FE2CC7010196039708F0AE
+:10B43000DBC6EFE8F4E0819191918017910709F460
+:10B44000D3C634E0E73CF307B1F717FDCDC60E9441
+:10B450003D93CD2C60E08D2D0E9451A88FEFE81612
+:10B46000F80631F0EA94EF2871F000E010E00DC02A
+:10B470008D2D0E94BFA831E020E0892B09F030E03B
+:10B48000032F122F02C001E010E08C2D0E94BFA8F4
+:10B490008017910709F4A8C60E94721E80E00E94DE
+:10B4A00038490E949C76F1CF83E50E94434088236F
+:10B4B00031F00E942F400E940FAF8B0102C00EE6B8
+:10B4C00010E080E50E944340882331F00E942F4025
+:10B4D0000E940FAFCB0102C088EE93E06C01EE2416
+:10B4E000D7FCE094FE2C101611067CF420E030E02E
+:10B4F000A901B80184E50E94FDA9C701B6010E9417
+:10B5000060A984E50E940EAD6FC6C701B6010E9416
+:10B5100060A96AC680E50E944340882351F00E94DA
+:10B520002F40609318027093190280931A0290932F
+:10B530001B0289E40E944340882361F00E942F404F
+:10B540000E94B7276093140270931502809316022D
+:10B550009093170284E40E944340882361F00E9484
+:10B560002F400E94C32760931002709311028093B2
+:10B5700012029093130283E40E944340882351F007
+:10B580000E942F4060930C0270930D0280930E0274
+:10B5900090930F020E94251EE7E5F4E08191882335
+:10B5A00039F09091C00095FFFCCF8093C600F6CF94
+:10B5B000EAE5F4E08191882339F09091C00095FF8D
+:10B5C000FCCF8093C600F6CF40911802509119022B
+:10B5D00060911A0270911B0222E030E08CE99DE03C
+:10B5E0000E94308BEEE5F4E08191882339F0909150
+:10B5F000C00095FFFCCF8093C600F6CF6091140287
+:10B600007091150280911602909117020E94BD2739
+:10B61000AB01BC0122E030E08CE99DE00E94308B60
+:10B62000E2E6F4E08191882339F09091C00095FF23
+:10B63000FCCF8093C600F6CF60911002709111028A
+:10B6400080911202909113020E94C927AB01BC01A4
+:10B6500022E030E08CE99DE00E94308BE6E6F4E0E9
+:10B660008191882339F09091C00095FFFCCF8093A1
+:10B67000C600F6CF40910C0250910D0260910E026F
+:10B6800070910F0222E030E08CE99DE00E94308B47
+:10B690008091C00085FFFCCF8AE08093C600A4C5DE
+:10B6A00083E50E944340882319F00E942F4003C085
+:10B6B00060E070E0CB010E9407A596C585E40E947A
+:10B6C0004340882341F00E942F400E940FAF8B011E
+:10B6D00077FF03C009C000E010E0C12CD12CB6E117
+:10B6E000EB2EB3E4FB2E06C0C12CD12CACE8EA2E25
+:10B6F000A2E4FA2E83E50E944340882321F00E94B1
+:10B700002F406B017C0183E40E944340882331F089
+:10B710000E942F400E940FAF9B0102C025E030E045
+:10B72000A801C701B6010E9458215EC50E943D9341
+:10B730005BC50E94678758C50E94398355C58AE555
+:10B740000E944340882309F497C00E942F406B0158
+:10B750007C0120E030E040E751EC0E94A3B087FD7F
+:10B760003FC020E030E040EA50ECC701B6010E9443
+:10B77000A0AE1816ACF1F7FAF094F7F8F094C09276
+:10B78000310AD092320AE092330AF092340AEFE2A0
+:10B79000FEE08491882341F09091C00095FFFCCF9A
+:10B7A0008093C6003196F5CFEBE4F9E084918823CD
+:10B7B00041F09091C00095FFFCCF8093C600319678
+:10B7C000F5CF8091C00085FFFCCF8AE08093C60052
+:10B7D0008091C00085FFFCCF8AE08093C60004C53D
+:10B7E000EFE2FEE08491882341F09091C00095FF44
+:10B7F000FCCF8093C6003196F5CFE2E4F9E0849166
+:10B80000882341F09091C00095FFFCCF8093C60043
+:10B810003196F5CFEAE3F9E08491882341F09091E5
+:10B82000C00095FFFCCF8093C6003196F5CF4AE06B
+:10B8300050E061EF7FEF8CE99DE00E945A8AE2E3DD
+:10B84000F9E08491882341F09091C00095FFFCCFEE
+:10B850008093C6003196F5CF4AE050E06BEF7FEF62
+:10B860008CE99DE00E945A8A8091C00085FFFCCF40
+:10B870008AE08093C600B8C4EFE2FEE0849188239A
+:10B8800041F09091C00095FFFCCF8093C6003196A7
+:10B89000F5CFE6E2F9E08491882341F09091C00071
+:10B8A00095FFFCCF8093C6003196F5CF8091C00004
+:10B8B00085FFFCCF8AE08093C6004091310A509109
+:10B8C000320A6091330A7091340A705822E030E0F5
+:10B8D0008CE99DE00E94308B8091C00085FFFCCFF9
+:10B8E0008AE08093C60080C480915D0290915E02E0
+:10B8F0009093580280935702C090440AD090450A12
+:10B90000E090460AF090470ACF8ED8A2E9A2FAA2A8
+:10B910000091480A1091490A20914A0A30914B0A35
+:10B920000BA31CA32DA33EA340914C0A50914D0A9A
+:10B9300060914E0A70914F0A4FA358A769A77AA742
+:10B940008091500A9091510AA091520AB091530AE5
+:10B950008BA79CA7ADA7BEA7C982DA82EB82FC8227
+:10B960000D831E832F83388749875A876B877C878F
+:10B970008D879E87AF87B88B85E40E9443408823DC
+:10B9800059F00E942F409B01AC016BA57CA58DA5B1
+:10B990009EA50E94C7AD0AC020E030E040E050E420
+:10B9A0006BA57CA58DA59EA50E94C6AD6BA77CA7A7
+:10B9B0008DA79EA7E0E3CE2EEAE0DE2EE12CF12C4F
+:10B9C00008EC13E49E01255D3F4FAE01495D5F4FDA
+:10B9D000BE016D5D7F4FCE014F960E94779A8AE53A
+:10B9E0000E944340882349F00E942F409B01AC01F4
+:10B9F0006FA178A589A59AA51EC020E030E040E09F
+:10BA000050E46FA178A589A59AA50E94C7AD6B01E6
+:10BA10007C016FA378A789A79AA720E030E040E2D5
+:10BA200051E40E94A0AE87FF0CC020E030E040E26D
+:10BA300051E4C701B6010E94C7AD6FA378A789A7DB
+:10BA40009AA760E3C62E6AE0D62EE12CF12C06E917
+:10BA500013E49E01255D3F4FAE01495D5F4FBE017E
+:10BA60006D5D7F4FCE014F960E94779A88E50E94C8
+:10BA70004340882379F00E942F409B01AC016F8DD9
+:10BA800078A189A19AA10E94C7AD6F8F78A389A3DD
+:10BA90009AA308C080E090E0A3E5B3E48F8F98A359
+:10BAA000A9A3BAA389E50E944340882339F00E94E4
+:10BAB0002F406BA37CA38DA39EA304C01BA21CA23A
+:10BAC0001DA21EA240E3C42E4AE0D42EE12CF12C8C
+:10BAD0000CE812E49E01255D3F4FAE01495D5F4FCA
+:10BAE000BE016D5D7F4FCE014F960E94779A8CE428
+:10BAF0000E944340882359F00E942F409B01AC01D3
+:10BB00006BA57CA58DA59EA50E94C7AD0AC020E0AF
+:10BB100030E040EA52E46BA57CA58DA59EA50E946D
+:10BB2000C6AD6BA77CA78DA79EA720E3C22E2AE0F7
+:10BB3000D22EE12CF12C00EA11E49E01255D3F4F4D
+:10BB4000AE01495D5F4FBE016D5D7F4FCE014F96E7
+:10BB50000E94779A0E943D93149A64E670E080E018
+:10BB600090E00E9460A90E94827100E010E0F12C38
+:10BB70000E94627781112AC0F3940E94721E81E0B4
+:10BB80000E943849F110F4CF043FE1E01E0711F4A0
+:10BB900000E010E0809101018460809301010115B3
+:10BBA000110531F49FB7F89480910201846008C0B8
+:10BBB0000431110541F49FB7F894809102018B7F05
+:10BBC000809302019FBF0F5F1F4FD2CF9FB7F894A2
+:10BBD000809102018B7F809302019FBF20E030E0C3
+:10BBE0004CE852E46BA57CA58DA59EA50E94C7AD2F
+:10BBF0006BA77CA78DA79EA710E3C12E1AE0D12EBC
+:10BC0000E12CF12C00EA11E49E01255D3F4FAE01CD
+:10BC1000495D5F4FBE016D5D7F4FCE014F960E9423
+:10BC2000779A20E030E048E452E46BA57CA58DA52E
+:10BC30009EA50E94C7AD6BA77CA78DA79EA7E12CF0
+:10BC4000F12C00E010E49E01255D3F4FAE01495DFF
+:10BC50005F4FBE016D5D7F4FCE014F960E94779A78
+:10BC60001092560A1092550A0E94E8718091550A66
+:10BC70009091560A019709F47CC01092560A1092CE
+:10BC8000550A0E9468778091550A9091560A823031
+:10BC9000910549F1039709F069C020E030E048E4DC
+:10BCA00052E46BA57CA58DA59EA50E94C7AD6BA790
+:10BCB0007CA78DA79EA770E3C72E7AE0D72EE12C34
+:10BCC000F12C00E010E49E01255D3F4FAE01495D7F
+:10BCD0005F4FBE016D5D7F4FCE014F960E94779AF8
+:10BCE0000E94A871C3CF20E030E04CE852E46BA57D
+:10BCF0007CA58DA59EA50E94C7AD6BA77CA78DA72F
+:10BD00009EA7F0E3CF2EFAE0DF2EE12CF12C00EA23
+:10BD100011E49E01255D3F4FAE01495D5F4FBE01BD
+:10BD20006D5D7F4FCE014F960E94779A20E030E004
+:10BD300048E452E46BA57CA58DA59EA50E94C7ADE5
+:10BD40006BA77CA78DA79EA7E12CF12C00E010E447
+:10BD50009E01255D3F4FAE01495D5F4FBE016D5DA8
+:10BD60007F4FCE014F960E94779A7ECF0E949B71A3
+:10BD70007DCF20E030E040EA50E46BA57CA58DA5A6
+:10BD80009EA50E94C7AD6BA77CA78DA79EA790E339
+:10BD9000C92E9AE0D92EE12CF12C00E010E49E018E
+:10BDA000255D3F4FAE01495D5F4FBE016D5D7F4F29
+:10BDB000CE014F960E94779AA80197016BA57CA5AA
+:10BDC0008DA59EA50E94C6AD6BA77CA78DA79EA73B
+:10BDD000E12CF12C08EC13E49E01255D3F4FAE01F0
+:10BDE000495D5F4FBE016D5D7F4FCE014F960E9452
+:10BDF000779AE12CF12C0CE812E49E01255D3F4F6F
+:10BE0000AE01495D5F4FBE016D5D7F4FCE014F9624
+:10BE10000E94779A9E01255D3F4FAE01495D5F4FBD
+:10BE2000BE016B5F7F4FCE0101960E94779AE12C95
+:10BE3000F12C08E413E49E01255D3F4FAE01475FFE
+:10BE40005F4FBE016B5F7F4FCE0101960E94779AD4
+:10BE500020E030E040E050E46BA57CA58DA59EA5D8
+:10BE60000E94C7AD6BA77CA78DA79EA7E12CF12CE4
+:10BE700000EA10E49E01255D3F4FAE01475F5F4F32
+:10BE8000BE016B5F7F4FCE0101960E94779ACE0173
+:10BE90000D960E94E3A480915702909158028093DE
+:10BEA0005D0290935E029F938F938DE199E09F9343
+:10BEB0008F938E01015D1F4F1F930F930E945BB6FE
+:10BEC000C8010E94C03D0F900F900F900F900F90EF
+:10BED0000F908AC188E50E944340882339F00E9470
+:10BEE0002F400E940FAF80E00E9445948AE50E9497
+:10BEF0004340882339F00E942F400E940FAF81E019
+:10BF00000E94459485E40E944340882309F46CC153
+:10BF10000E942F400E940FAF82E00E94459464C1AE
+:10BF200083E50E944340811104C007EC14E0F12C2A
+:10BF300010C010E00E942F400E9414AF812F0E9479
+:10BF4000E4941F5F1530B1F7F0CFF394F4E0FF16DF
+:10BF500079F0F80181918F010E9443408823A9F371
+:10BF60000E942F400E9414AF8F2D0E94E494EDCFC9
+:10BF700082E40E944340882339F00E942F400E94AF
+:10BF800014AF84E00E94E4940E94AA952DC183E539
+:10BF90000E944340882309F453C00E942F400E940E
+:10BFA0000FAF6130710541F06230710509F048C092
+:10BFB00007EC14E0F12C25C007EC14E0F12CF8019B
+:10BFC00081918F010E944340882341F00E942F40BD
+:10BFD0000E940FAF4FEF8F2D0E94A694F394F4E0D0
+:10BFE000FF12EDCF82E40E944340882349F10E9472
+:10BFF0002F400E940FAF4FEF20C0F394F4E0FF16E4
+:10C0000089F0F80181918F010E9443408823A9F3B0
+:10C010000E942F400E940FAF462F6FEF8F2D0E947E
+:10C02000A694EBCF82E40E944340882349F00E940B
+:10C030002F400E940FAF462F6FEF84E00E94A6941E
+:10C040000E94AA95D1C084E50E944340882309F448
+:10C0500087C00E942F400E9414AF60934D08662352
+:10C06000A9F1EFE2FEE08491882341F09091C000B5
+:10C0700095FFFCCF8093C6003196F5CFEAE6F4E059
+:10C080008191882339F09091C00095FFFCCF809377
+:10C09000C600F6CF40E050E060914D088CE99DE08D
+:10C0A0000E94918AECE6F4E08191882339F0909126
+:10C0B000C00095FFFCCF8093C600F6CF8091C000F2
+:10C0C00085FFFCCF8AE08093C6008EC086E40E9484
+:10C0D00043408823D9F00E942F406B017C0160937C
+:10C0E000FF097093000A8093010A9093020A20E0EE
+:10C0F00030E0A9010E94A3B0181644F4C0922102B6
+:10C10000D0922202E0922302F0922402EFE2FEE0BB
+:10C110008491882341F09091C00095FFFCCF8093DB
+:10C12000C6003196F5CFEDE7F4E08191882339F030
+:10C130009091C00095FFFCCF8093C600F6CF609130
+:10C14000300A70E04AE050E08CE99DE00E945A8A93
+:10C150008091C00085FFFCCF8AE08093C60044C078
+:10C16000EFE2FEE08491882341F09091C00095FFBA
+:10C17000FCCF8093C6003196F5CFEAE0F9E08491D8
+:10C18000882341F09091C00095FFFCCF8093C600BA
+:10C190003196F5CF809168089091690820E6289F34
+:10C1A000F001299FF00D1124E259F74F8191882366
+:10C1B00039F09091C00095FFFCCF8093C600F6CF78
+:10C1C000E8E0F9E08491882341F09091C00095FF68
+:10C1D000FCCF8093C6003196F5CF8091C00085FFDB
+:10C1E000FCCF8AE08093C6000E946A40B9C1C0902B
+:10C1F0001B0AD0901C0AE0901D0AF0901E0A2091A4
+:10C20000500A3091510A4091520A5091530AC70185
+:10C21000B6010E94C6AD2DEC3CEC4CEC5DE30E94F7
+:10C22000A3B0181614F00C94684BC092500AD09228
+:10C23000510AE092520AF092530A80E59AE00E9475
+:10C24000E3A460E080E00E94C2428AC180E090E006
+:10C250000E942E3C0C94654C81E090E00E942E3CA4
+:10C260000C94704C82E090E00E942E3C0C94B94CEF
+:10C270000E94721E80E00E9438490E949C760C94B5
+:10C28000584F0E943840AB01BC014093FA0C5093C8
+:10C29000FB0C6093FC0C7093FD0C85E49CE00E9409
+:10C2A000A912A2CF0E942F400E940FAF8B010C94C5
+:10C2B0007C510E9431A9681979098A099B09693E54
+:10C2C00073408105910508F479C0ECEEFAE08491A1
+:10C2D000882341F09091C00095FFFCCF8093C60069
+:10C2E0003196F5CFE0914D0824E0E29FF001112452
+:10C2F000E05CF74F408151816281738121E030E041
+:10C300008CE99DE00E94308BE8EEFAE0849188236E
+:10C3100041F09091C00095FFFCCF8093C60031960C
+:10C32000F5CF60914D0870E04AE050E08CE99DE067
+:10C330000E945A8AE4EEFAE08491882341F09091B9
+:10C34000C00095FFFCCF8093C6003196F5CFF7FE75
+:10C3500003C0E6E7F5E025C00E9431A98B019C01EE
+:10C36000C701B6016854744F8F4F9F4F601B710B0C
+:10C37000820B930BA30192010E947EB2BA01A90124
+:10C380002AE030E08CE99DE00E94868A8091C0001E
+:10C3900085FFFCCF0DC09091C00095FFFCCF80932E
+:10C3A000C60081918111F7CF8091C00085FFFCCF3D
+:10C3B0003092C6000E9431A94B015C010E94721E9E
+:10C3C00080E00E9438490E949C76FFEFCF16DF067E
+:10C3D000EF06FF0609F046C080914B08E0914D083A
+:10C3E000F0E08F01000F111F000F111F005C174FAD
+:10C3F000EE0FFF1FE85BF74F608171818823C9F062
+:10C40000882777FD8095982F0E9442AF20E030E08A
+:10C4100040E85FE30E94C6AD9B01AC01F80160817A
+:10C420007181828193810E94A3B087FF50C00C94D8
+:10C430005053882777FD8095982F0E9442AF20E0C7
+:10C4400030E040E85FE30E94C7AD9B01AC01F8011A
+:10C4500060817181828193810E94A0AE1816BCF523
+:10C460000C945053F7FE02C00C945053E0914D08C9
+:10C47000F0E08F01000F111F000F111F005C174F1C
+:10C48000EE0FFF1FE85BF74F60817181882777FD12
+:10C490008095982F0E9442AF9B01AC01F80160810A
+:10C4A0007181828193810E94C6AD0E940FAF97FF78
+:10C4B00007C090958095709561957F4F8F4F9F4FE6
+:10C4C000663071058105910514F40C9450530E9457
+:10C4D00031A96B017C010C94505386ED9AE00E94C7
+:10C4E000007680915F0A882321F08EE793E00E9416
+:10C4F00048720E9431A96093520870935308809348
+:10C500005408909355080E9431A960935A0870937B
+:10C510005B0880935C0890935D0866CE0E943D9313
+:10C5200088E50E944340882319F0179A1092350A33
+:10C5300089E50E944340882319F0169A1092360A22
+:10C540008AE50E944340882319F0159A1092370A11
+:10C5500085E40E944340882309F446CE149A44CED1
+:10C56000E9960FB6F894DEBF0FBECDBFDF91CF9135
+:10C570001F910F91FF90EF90DF90CF90BF90AF9001
+:10C580009F908F907F906F905F904F903F90089515
+:10C59000CF93DF938091640890916508039714F41A
+:10C5A0000E94694560E08DE59AE00E9487338091A2
+:10C5B000640890916508892B09F464C080915D0A34
+:10C5C0008823E1F0809168089091690820E6289F0F
+:10C5D000E001299FD00D1124C259D74F61EF7CE0B3
+:10C5E000CE010E94CEB5892BF1F4BE018DE59AE013
+:10C5F0000E94163380915E0A882319F00E94B94A7E
+:10C600002BC0EEEEFCE08491882341F09091C000B5
+:10C6100095FFFCCF8093C6003196F5CF8091C00086
+:10C6200085FFFCCF16C060E08DE59AE00E947D3466
+:10C63000ECEDFCE08491882341F09091C00095FFDF
+:10C64000FCCF8093C6003196F5CF8091C00085FF66
+:10C65000FCCF8AE08093C6008091640890916508C1
+:10C660000197909365088093640880916808909181
+:10C670006908019664E070E00E946BB290936908CB
+:10C68000809368080E94721E80E00E9438490E94D0
+:10C690004F8BDF91CF910C949C768F929F92AF92AB
+:10C6A000BF92CF92DF92EF92FF920F931F93CF939F
+:10C6B000DF938C018C519E4F0E94B72D680189E851
+:10C6C000C80ED11C21F1780181E4E81A8EEFF80A36
+:10C6D000E70157018FE1A81AB1087AEB872E75E0C0
+:10C6E000972ECC15DD0599F0FE01EE19FF09EA0D34
+:10C6F000FB1D91828082FE0178978081811102C0AA
+:10C700006F97EFCFCE014B970E948C13F9CFC801E2
+:10C7100086599F4F0E94B72DC801875B9F4FDF91BD
+:10C72000CF911F910F91FF90EF90DF90CF90BF902E
+:10C73000AF909F908F900C94B72D8DE59AE00C945C
+:10C74000C32D8DE59AE0A9CFFB0160917002709135
+:10C75000710270932C0D60932B0D6091350D7091CB
+:10C76000360D70932A0D6093290D62E060936F027D
+:10C7700064EC7EE770937102609370029093280DD1
+:10C780008093270DF093260DE093250D662757FD26
+:10C790006095762F4093210D5093220D6093230DC9
+:10C7A0007093240DC901AA2797FDA095BA2F841B69
+:10C7B000950BA60BB70B80931D0D90931E0DA093A8
+:10C7C0001F0DB093200D80819181AA2797FDA09520
+:10C7D000BA2F841B950BA60BB70B8093350D909346
+:10C7E000360DA093370DB093380D08950F931F9316
+:10C7F000CF93DF93EB01142F022F482F60E080E4EA
+:10C800009DE00E947E28612F80E49DE00E94BFADE4
+:10C8100011E1FE016491662311F0111117C011237B
+:10C8200039F060E280E49DE00E94BFAD1150F7CF87
+:10C83000602F80E49DE00E94BFAD60E280E49DE057
+:10C84000DF91CF911F910F910C94BFAD80E49DE0DB
+:10C850000E94BFAD21961150DCCFEF92FF920F9353
+:10C860001F93CF93DF93EB01E42E8901F90101902F
+:10C870000020E9F7F22EFE1A92E1F90E482F60E04F
+:10C8800080E49DE00E947E286E2D80E49DE00E9461
+:10C89000BFADFE016491662311F0F11019C06AE387
+:10C8A00080E49DE00E94BFADFF2039F060E280E4AB
+:10C8B0009DE00E94BFADFA94F7CFB80180E49DE0FF
+:10C8C000DF91CF911F910F91FF90EF900C94BEAD2F
+:10C8D00080E49DE00E94BFAD2196FA94DACF1092D9
+:10C8E000990D8DE59AE00E94273910923E0D08952A
+:10C8F0008DE59AE00C9416318DE59AE00C941D318B
+:10C90000CF93DF93CDB7DEB7C054D1090FB6F894FB
+:10C91000DEBF0FBECDBF88E0EFEAF2E0DE01D996C0
+:10C9200001900D928A95E1F788E0E7EBF2E0DE01F5
+:10C93000D19601900D928A95E1F788E0EFEBF2E055
+:10C94000DE01999601900D928A95E1F788E0E7EC77
+:10C95000F2E0DE01919601900D928A95E1F788E070
+:10C96000EFECF2E0DE01599601900D928A95E1F725
+:10C9700088E0E7EDF2E0DE01519601900D928A9594
+:10C98000E1F788E0EFEDF2E0DE01199601900D92FB
+:10C990008A95E1F788E0E7EEF2E0DE01119601907A
+:10C9A0000D928A95E1F7AE01475C5F4F60E080E44D
+:10C9B0009DE00E94FC29AE014F5C5F4F61E080E486
+:10C9C0009DE00E94FC29AE01475D5F4F62E080E47C
+:10C9D0009DE00E94FC29AE014F5D5F4F63E080E463
+:10C9E0009DE00E94FC29AE01475E5F4F64E080E459
+:10C9F0009DE00E94FC29AE014F5E5F4F65E080E440
+:10CA00009DE00E94FC29AE01475F5F4F66E080E435
+:10CA10009DE00E94FC29AE014F5F5F4F67E080E41C
+:10CA20009DE00E94FC29C05CDF4F0FB6F894DEBF8A
+:10CA30000FBECDBFDF91CF910895CF9382E0809359
+:10CA40006F020E9431A96C507E4F8F4F9F4F6093B1
+:10CA50003A0D70933B0D80933C0D90933D0D80916A
+:10CA60000101846080930101CAE09FB7F89480912E
+:10CA700002018460809302019FBF84E690E00E94DF
+:10CA800084A99FB7F894809102018B7F8093020163
+:10CA90009FBF84E690E00E9484A9C15031F7CF91F6
+:10CAA0000895E0917002F0917102E817F90771F0B2
+:10CAB00090937102809370024093350D5093360D20
+:10CAC0006093370D7093380D2111B7CF089521E091
+:10CAD00040E050E0BA01E5CF21E040E050E0BA018B
+:10CAE000E0CF8F929F92AF92BF92CF92DF92EF9260
+:10CAF000FF920F931F93CF93DF938091350D909109
+:10CB0000360DA091370DB091380D81309048A105B8
+:10CB1000B10540F01092350D1092360D1092370D80
+:10CB20001092380D6091350D7091360D8091370D52
+:10CB30009091380D25E030E040E050E00E947EB258
+:10CB400080913E0D90E0A0E0B0E0281739074A0739
+:10CB50005B0710F420933E0DD0913E0D10913F0DD8
+:10CB600012FB112710F9C0E085E0C82ED12CE12C72
+:10CB7000F12C9DE1892E912CA12CB12C01E060912A
+:10CB8000350D7091360D8091370D9091380DD11182
+:10CB900031C020916F02222369F023E065307105D6
+:10CBA0008105910510F443E001C040E266E870E1C0
+:10CBB0008C2F1CDE112309F400C18091350D90915A
+:10CBC000360DA091370DB091380D0597A105B1052F
+:10CBD00008F0F3C032DF8CE692E7DF91CF911F912E
+:10CBE0000F91FF90EF90DF90CF90BF90AF909F900C
+:10CBF0008F906DCFD13061F520916F02222391F09B
+:10CC0000A70196010E947EB22130310541055105F0
+:10CC100019F423E043E002C023E040E265E770E15D
+:10CC20008C2FE4DD112309F4C8C06091350D70919B
+:10CC3000360D8091370D9091380DA70196010E9415
+:10CC40007EB2213031054105510509F0B6C0C2CF91
+:10CC5000D23061F520916F02222391F0A701960155
+:10CC60000E947EB2223031054105510519F423E0BE
+:10CC700043E002C023E040E269E670E18C2FB6DDBC
+:10CC8000112309F49AC06091350D7091360D809191
+:10CC9000370D9091380DA70196010E947EB2223087
+:10CCA00031054105510509F088C094CFD33061F5B5
+:10CCB00020916F02222391F0A70196010E947EB27B
+:10CCC000233031054105510519F423E043E002C04A
+:10CCD00023E040E267E570E18C2F88DD112309F441
+:10CCE0006CC06091350D7091360D8091370D90912B
+:10CCF000380DA70196010E947EB22330310541050F
+:10CD0000510509F05AC066CFD43059F520916F0211
+:10CD1000222391F0A70196010E947EB224303105B2
+:10CD20004105510519F423E043E002C023E040E24D
+:10CD300065E470E18C2F5ADD112309F43EC0609147
+:10CD4000350D7091360D8091370D9091380DA701FA
+:10CD500096010E947EB2243031054105510569F5E6
+:10CD600039CFD53051F520916F02222391F0A701E0
+:10CD700096010E947EB2253031054105510519F416
+:10CD800023E043E002C023E040E269E370E18C2F3E
+:10CD90002DDD112391F06091350D7091360D80914C
+:10CDA000370D9091380DA70196010E947EB2253073
+:10CDB00031054105510509F40DCF8091350D909154
+:10CDC000360DA091370DB091380D4E97A105B105E4
+:10CDD00040F08092350D9092360DA092370DB092B2
+:10CDE000380D6091350D7091360D8091370D909111
+:10CDF000380DA70196010E947EB280913E0D90E011
+:10CE00000396422F50E0841795074CF48DEF820F64
+:10CE100080933E0D00936F02DCEFD20FCFEFCF5F18
+:10CE2000DF5FC43008F4ABCEDF91CF911F910F913B
+:10CE3000FF90EF90DF90CF90BF90AF909F908F903A
+:10CE400008958F929F92AF92BF92CF92DF92EF920E
+:10CE5000FF920F931F93CF93DF938091350D9091A5
+:10CE6000360DA091370DB091380D81309048A10555
+:10CE7000B10540F01092350D1092360D1092370D1D
+:10CE80001092380D6091350D7091360D8091370DEF
+:10CE90009091380D25E030E040E050E00E947EB2F5
+:10CEA00080913E0D90E0A0E0B0E0281739074A07D6
+:10CEB0005B0710F420933E0DD0913E0D10913F0D75
+:10CEC00012FB112710F9C0E025E0C22ED12CE12C75
+:10CED000F12C3DE1832E912CA12CB12C01E060912D
+:10CEE000350D7091360D8091370D9091380DD1111F
+:10CEF00031C020916F02222369F023E06530710573
+:10CF00008105910510F443E001C040E264E370E163
+:10CF10008C2F6CDC112309F429C18091350D90917F
+:10CF2000360DA091370DB091380D0597A105B105CB
+:10CF300008F01CC182DD8CE692E7DF91CF911F9152
+:10CF40000F91FF90EF90DF90CF90BF90AF909F90A8
+:10CF50008F90BDCDD13079F520916F02222391F0D1
+:10CF6000A70196010E947EB221303105410551058D
+:10CF700019F42EE74EE302C02EE740E268E270E1CA
+:10CF80008C2F34DC112309F4F1C06091350D7091C0
+:10CF9000360D8091370D9091380DA70196010E94B2
+:10CFA0007EB2213031054105510509F0DFC045DD74
+:10CFB0008BEA99E730C0D230D9F520916F02222355
+:10CFC00091F0A70196010E947EB222303105410501
+:10CFD000510519F42EE74EE302C02EE740E26EE160
+:10CFE00070E18C2F03DC112309F4C0C06091350D72
+:10CFF0007091360D8091370D9091380DA7019601F3
+:10D000000E947EB2223031054105510509F0AEC0C3
+:10D0100014DD8FEA9AE6DF91CF911F910F91FF9077
+:10D02000EF90DF90CF90BF90AF909F908F9054CDB6
+:10D03000D33079F520916F02222391F0A701960158
+:10D040000E947EB2233031054105510519F420E2DA
+:10D050004EE302C020E240E262E170E18C2FC6DBC9
+:10D06000112309F483C06091350D7091360D8091C4
+:10D07000370D9091380DA70196010E947EB22330A2
+:10D0800031054105510509F071C0D7DC8CE090E114
+:10D090005FC0D43079F520916F02222391F0A7016F
+:10D0A00096010E947EB2243031054105510519F4E4
+:10D0B00020E24EE302C020E240E26BEF7FE08C2FE3
+:10D0C00095DB112309F452C06091350D7091360D36
+:10D0D0008091370D9091380DA70196010E947EB284
+:10D0E000243031054105510509F040C0A6DC87EF29
+:10D0F0009FE02EC0D530D1F520916F02222391F010
+:10D10000A70196010E947EB22530310541055105E7
+:10D1100019F420E24EE302C020E240E26DEE7FE02F
+:10D120008C2F64DB112311F16091350D7091360D58
+:10D130008091370D9091380DA70196010E947EB223
+:10D14000253031054105510589F477DC89EE9FE0F2
+:10D15000DF91CF911F910F91FF90EF90DF90CF90D3
+:10D16000BF90AF909F908F900C94333E8091350D7F
+:10D170009091360DA091370DB091380D4E97A105C5
+:10D18000B10540F08092350D9092360DA092370D8A
+:10D19000B092380D6091350D7091360D8091370D3C
+:10D1A0009091380DA70196010E947EB280913E0DAC
+:10D1B00090E00396422F50E0841795074CF48DEFD2
+:10D1C000820F80933E0D00936F02DCEFD20FCFEF02
+:10D1D000CF5FDF5FC43008F482CEDF91CF911F9123
+:10D1E0000F91FF90EF90DF90CF90BF90AF909F9006
+:10D1F0008F900895BF92CF92DF92EF92FF920F939C
+:10D200001F93CF93DF938091350D9091360DA091B0
+:10D21000370DB091380D81309048A105B10540F02F
+:10D220001092350D1092360D1092370D1092380D68
+:10D230006091350D7091360D8091370D9091380DBC
+:10D2400025E030E040E050E00E947EB280913E0D4B
+:10D2500090E0A0E0B0E0281739074A075B0710F418
+:10D2600020933E0DD0913E0D10913F0D12FB1127E2
+:10D2700010F9C0E065E0C62ED12CE12CF12C01E0C4
+:10D280006091350D7091360D8091370D9091380D6C
+:10D29000D1112EC020916F02222369F023E0653066
+:10D2A00071058105910510F443E001C040E260EE94
+:10D2B0007FE08C2F9BDA112309F479C08091350D22
+:10D2C0009091360DA091370DB091380D0597A105BD
+:10D2D000B10508F06CC0B1DB81E297E6DF91CF9138
+:10D2E0001F910F91FF90EF90DF90CF90BF90EFCB09
+:10D2F000D13071F520916F02222391F0A7019601A0
+:10D300000E947EB2213031054105510519F42EE706
+:10D310004EE302C02EE740E269ED7FE08C2F66DA33
+:10D32000112309F444C06091350D7091360D809140
+:10D33000370D9091380DA70196010E947EB22130E1
+:10D3400031054105510599F578DB8FE090E8A8C0DB
+:10D35000D23069F520916F02222391F0A701960146
+:10D360000E947EB2223031054105510519F42EE7A5
+:10D370004EE302C02EE740E262ED7FE08C2F36DA0A
+:10D380001123A9F06091350D7091360D8091370D04
+:10D390009091380DA70196010E947EB2223031058E
+:10D3A0004105510521F449DB86E190E879C020E090
+:10D3B00030E040E251E46091110D7091120D8091C6
+:10D3C000130D9091140D0E94A0AE87FF73C0609161
+:10D3D000350D7091360D8091370D9091380DD33009
+:10D3E00081F520916F02222391F0A70196010E94FE
+:10D3F0007EB2233031054105510519F42EE74EE385
+:10D4000002C02EE740E26BEC7FE08C2FEFD91111C8
+:10D4100003C055E0B52E50C06091350D7091360DAA
+:10D420008091370D9091380DA70196010E947EB230
+:10D43000233031054105510561F7FFDA8DE190E8B0
+:10D440002FC0D43031F720916F02222391F0A70131
+:10D4500096010E947EB2243031054105510519F430
+:10D460002EE74EE302C02EE740E262EC7FE08C2F15
+:10D47000BDD9112371F26091350D7091360D8091F7
+:10D48000370D9091380DA70196010E947EB224308D
+:10D4900031054105510509F0BCCFCFDA8BE49EE799
+:10D4A000DF91CF911F910F91FF90EF90DF90CF9080
+:10D4B000BF9012CB43E0B42E6091350D7091360DC4
+:10D4C0008091370D9091380DA70196010E947EB290
+:10D4D0008B2D90E0A0E0B0E0281739074A075B07E2
+:10D4E00088F025E0B29EC00111240197AA2797FD7C
+:10D4F000A095BA2F8093350D9093360DA093370DDC
+:10D50000B093380D6091350D7091360D8091370DC7
+:10D510009091380DA70196010E947EB280913E0D38
+:10D5200090E00396422F50E0841795074CF48DEF5E
+:10D53000820F80933E0D00936F02DCEFD20FCFEF8E
+:10D54000CF5FDF5FC43008F49BCEDF91CF911F9196
+:10D550000F91FF90EF90DF90CF90BF90089580E003
+:10D5600090E0A0E8BFE38093110D9093120DA0937B
+:10D57000130DB093140D3ECE20E044E064E180E44E
+:10D580009DE00E94B128BCD980E49DE00C947228F3
+:10D59000F3DF20E040E050E0BA0184E290E881CA85
+:10D5A00010924908109248081092470810924608B5
+:10D5B00010922F0A10922E0AEBCF80E49DE00C947B
+:10D5C000722820E030E04EE353E46091400870910F
+:10D5D000410880914208909143080E94A3B0181618
+:10D5E0004CF480E89EE00E94333E83E79EE00E9478
+:10D5F000333E20C0E2DF40E060E080E49DE00E9436
+:10D600007E286BEC74E080E49DE00E94BEAD42E0B9
+:10D6100060E080E49DE00E947E2862ED74E080E49A
+:10D620009DE00E94BEAD60ED77E080E090E00E945A
+:10D6300060A9C3DFADCF20E030E04EE353E460915A
+:10D6400040087091410880914208909143080E94DF
+:10D65000A3B018166CF48FE69EE00E94333E83E67A
+:10D660009EE00E94333E87E59EE00E94333E20C04C
+:10D67000A4DF40E060E080E49DE00E947E286BEC47
+:10D6800074E080E49DE00E94BEAD42E060E080E492
+:10D690009DE00E947E2862ED74E080E49DE00E949F
+:10D6A000BEAD60ED77E080E090E00E9460A985DF8C
+:10D6B0006FCF8091970D9091980D9093490880932A
+:10D6C00048088091950D9091960D9093470880930E
+:10D6D000460810922F0A10922E0A5ADF0C94442109
+:10D6E0008091910D9091920D9093490880934808F4
+:10D6F00080918F0D9091900D9093470880934608EC
+:10D7000010922F0A10922E0A43DF0C94442180912C
+:10D7100095029091960290934908809348088091D1
+:10D720009302909194029093470880934608109238
+:10D730002F0A10922E0A2CDF0C9444218091910222
+:10D7400090919202909349088093480880918F02AB
+:10D7500090919002909347088093460810922F0A68
+:10D7600010922E0A15DF0C94442180918D02909125
+:10D770008E02909349088093480880918B02909183
+:10D780008C02909347088093460810922F0A1092BB
+:10D790002E0AFEDE0C9444218091890290918A0227
+:10D7A000909349088093480880918702909188025D
+:10D7B000909347088093460810922F0A10922E0AE1
+:10D7C000E7DE0C9444212F923F924F925F926F922A
+:10D7D0007F928F929F92AF92BF92CF92DF92EF9201
+:10D7E000FF920F931F93CF93DF93CDB7DEB7A89728
+:10D7F0000FB6F894DEBF0FBECDBF80916F028111CE
+:10D8000004C080913F0D82FFEBC28DE59AE00E943B
+:10D810001B389DA38CA38091350D9091360DA0915E
+:10D82000370DB091380D81309048A105B10540F019
+:10D830001092350D1092360D1092370D1092380D52
+:10D840006091350D7091360D8091370D9091380DA6
+:10D8500025E030E040E050E00E947EB280913E0D35
+:10D8600090E0A0E0B0E0281739074A075B0710F402
+:10D8700020933E0D40903E0D80913F0D82FB882706
+:10D8800080F98F8F512C35E0C32ED12CE12CF12C57
+:10D8900041102DC080916F028823A9F08091350D31
+:10D8A0009091360DA091370DB091380D23E005977A
+:10D8B000A105B10510F443E001C040E26BE77FE051
+:10D8C000852D0E94F6632F8D222389F08091350DDE
+:10D8D0009091360DA091370DB091380D0597A105A7
+:10D8E000B10528F4AAD88CE692E7F1D879C261E6AE
+:10D8F0007AE08BEC9AE00E9440108091610A8F32AE
+:10D9000031F041E0441671F022E0722E02C077241B
+:10D9100073940CA11DA101501109842C912CA12CF0
+:10D92000B12C52C080916F028823D9F06091350DDF
+:10D930007091360D8091370D9091380DA7019601A9
+:10D940000E947EB2213031054105510519F420E2D3
+:10D950004EE302C020E240E267E77FE0852D0E94AF
+:10D96000F6638F8D882381F26091350D7091360DAD
+:10D970008091370D9091380DA70196010E947EB2DB
+:10D98000213031054105510509F0BECF56D80E941E
+:10D990006F6426C2741088C140E050E0B8018DE584
+:10D9A0009AE00E9492349091A30A80916F02992389
+:10D9B00009F4A1C081110DC09F8D911179C0772408
+:10D9C0007394740C015011090F3FFFEF1F0711F7FB
+:10D9D0006DC16091350D7091360D8091370D90912C
+:10D9E000380DA70196010E947EB2281539054A0517
+:10D9F0005B0579F5452D60E080E49DE00E947E287E
+:10DA00006EE380E49DE00E94BFAD65E080E49DE0B0
+:10DA10000E94BFAD80916E0A882329F01092800A7F
+:10DA20008EE69AE002C081E69AE03C0192E1392E4E
+:10DA3000F30161913F01662311F0311085C133205C
+:10DA400009F4BACF60E280E49DE00E94BFAD3A9451
+:10DA5000F6CF452D60E080E49DE00E947E2860E2E4
+:10DA600080E49DE00E94BFAD65E080E49DE00E94FF
+:10DA7000BFAD80916E0A882329F01092800A8EE64D
+:10DA80009AE002C081E69AE03C0182E1382EF3017F
+:10DA900061913F01662311F031105CC1332009F41C
+:10DAA0008BCF60E280E49DE00E94BFAD3A94F6CF58
+:10DAB0006091350D7091360D8091370D9091380D34
+:10DAC000A70196010E947EB2281539054A055B051B
+:10DAD00009F075CF0E941D6561E67AE08DE59AE058
+:10DAE0000E947E381092350D1092360D1092370D2F
+:10DAF0001092380D75C1811104C0FF8DF11191C0D4
+:10DB00005ECF6091350D7091360D8091370D9091FB
+:10DB1000380DA70196010E947EB2281539054A05E5
+:10DB20005B0509F054C020919B0D2EA3712C472D4D
+:10DB300060E080E49DE00E947E2860E280E49DE059
+:10DB40000E94BFAD739444E07412F1CF452D60E0A4
+:10DB500080E49DE00E947E286EE380E49DE00E94C8
+:10DB6000BFADBFE62B2EBAE03B2E2EE63AE0612C8D
+:10DB7000712C39A328A361E070E0E8A1F9A12191FB
+:10DB8000F9A3E8A32223B1F0CB0101969BA38AA3BA
+:10DB9000452D80E49DE028A76114710409F4E0C0DC
+:10DBA0000E947E2828A5622F80E49DE00E94BFADE0
+:10DBB0006AA17BA1F4E17F2E761A772009F49DCF2C
+:10DBC00060E280E49DE00E94BFAD7A94F6CF452DDF
+:10DBD00060E080E49DE00E947E2860E280E49DE0B9
+:10DBE0000E94BFAD80916E0A882329F01092810AAD
+:10DBF0008EE69AE002C081E69AE03C01E3E13E2E27
+:10DC0000F30161913F01662311F03110E3C033202D
+:10DC100009F473CF60E280E49DE00E94BFAD3A94C6
+:10DC2000F6CF6091350D7091360D8091370D909142
+:10DC3000380DA70196010E947EB2281539054A05C4
+:10DC40005B0509F0BCCE0E941D6581E69AE09F93BA
+:10DC50008F9380E79FE09F938F938E010F5F1F4FFD
+:10DC60001F930F930E945BB60F900F900F900F9031
+:10DC70000F900F907E01F5E0EF0EF11CF70180810F
+:10DC8000882349F0992787FD90950E9498B5F70160
+:10DC900081937F01F3CFC8010E94C03D8CE69FE0D5
+:10DCA0000E94333E75DC9CC073948CCE6091350D20
+:10DCB0007091360D8091370D9091380DA701960126
+:10DCC0000E947EB2872D90E0A0E0B0E028173907CF
+:10DCD0004A075B0788F025E0729EC0011124019776
+:10DCE000AA2797FDA095BA2F8093350D9093360DF6
+:10DCF000A093370DB093380D6091350D7091360DAE
+:10DD00008091370D9091380DA70196010E947EB247
+:10DD100080913E0D90E00396422F50E084179507C6
+:10DD200064F48DEF820F80933E0D81E080936F024B
+:10DD30007CEF472E420E55245A945394439443E06B
+:10DD4000451508F0A5CD4CC080E49DE00E94BFAD14
+:10DD50003A946ECE80E49DE00E94BFAD3A9497CE97
+:10DD60000E947E2828A5622F80E49DE00E94BFAD1E
+:10DD70006AA17BA16431710509F0FFCE9101ACE28B
+:10DD80006A2E7724739480913F0D82FD05C08091A7
+:10DD90009B0D9EA1981789F081E090E0E1E06E1A5A
+:10DDA00071086114710421F0892B69F381E090E01E
+:10DDB000FFEF2F1A3F0A3C01DCCE61E070E080E00B
+:10DDC00090E028A73FA30E9460A980E090E028A5EA
+:10DDD0003FA1E4CF80E49DE00E94BFAD3A9410CF14
+:10DDE000A8960FB6F894DEBF0FBECDBFDF91CF91DE
+:10DDF0001F910F91FF90EF90DF90CF90BF90AF9069
+:10DE00009F908F907F906F905F904F903F902F905A
+:10DE100008958F929F92AF92BF92CF92DF92EF922E
+:10DE2000FF920F931F93CF93DF938091350D9091C5
+:10DE3000360DA091370DB091380D81309048A10575
+:10DE4000B10540F01092350D1092360D1092370D3D
+:10DE50001092380D6091350D7091360D8091370D0F
+:10DE60009091380D25E030E040E050E00E947EB215
+:10DE700080913E0D90E0A0E0B0E0281739074A07F6
+:10DE80005B0710F420933E0DD0913E0D10913F0D95
+:10DE900012FB112710F9C0E045E0C42ED12CE12C73
+:10DEA000F12C57E2852E912CA12CB12C01E0609130
+:10DEB000350D7091360D8091370D9091380DD1113F
+:10DEC00034C020916F02222371F023E06530710588
+:10DED0008105910510F443E001C040E267E57FE071
+:10DEE0008C2F0E94F663112309F4C8C18091350D6F
+:10DEF0009091360DA091370DB091380D0597A10581
+:10DF0000B10508F0BBC10E941D658CE692E7DF9168
+:10DF1000CF911F910F91FF90EF90DF90CF90BF9026
+:10DF2000AF909F908F900C946765D130D9F5209178
+:10DF30006F02222399F0A70196010E947EB2213040
+:10DF400031054105510519F420E24EE302C020E2FB
+:10DF500040E267E47FE08C2F0E94F663112309F40E
+:10DF60008DC16091350D7091360D8091370D909176
+:10DF7000380DA70196010E947EB22130310541057E
+:10DF8000510509F07BC10E941D65DF91CF911F9162
+:10DF90000F91FF90EF90DF90CF90BF90AF909F9048
+:10DFA0008F909ECBD230D9F520916F02222399F029
+:10DFB000A70196010E947EB222303105410551052C
+:10DFC00019F420E24EE302C020E240E268E37FE081
+:10DFD0008C2F0E94F663112309F450C16091350D16
+:10DFE0007091360D8091370D9091380DA7019601F3
+:10DFF0000E947EB2223031054105510509F03EC133
+:10E000000E941D65DF91CF911F910F91FF90EF90BE
+:10E01000DF90CF90BF90AF909F908F904ACBD3303E
+:10E02000D9F520916F02222399F0A70196010E9451
+:10E030007EB2233031054105510519F420E24EE34B
+:10E0400002C020E240E269E27FE08C2F0E94F6638A
+:10E05000112309F413C16091350D7091360D809133
+:10E06000370D9091380DA70196010E947EB22330A2
+:10E0700031054105510509F001C10E941D65DF917F
+:10E08000CF911F910F91FF90EF90DF90CF90BF90B5
+:10E09000AF909F908F9052CBD430D9F520916F02E2
+:10E0A000222399F0A70196010E947EB22430310507
+:10E0B0004105510519F420E24EE302C020E240E29E
+:10E0C00069E17FE08C2F0E94F663112309F4D6C02A
+:10E0D0006091350D7091360D8091370D9091380D0E
+:10E0E000A70196010E947EB22430310541055105F9
+:10E0F00009F0C4C00E941D65DF91CF911F910F915F
+:10E10000FF90EF90DF90CF90BF90AF909F908F9057
+:10E110002CCBD530D9F520916F02222399F0A7019D
+:10E1200096010E947EB2253031054105510519F452
+:10E1300020E24EE302C020E240E269E07FE08C2F63
+:10E140000E94F663112309F499C06091350D709116
+:10E15000360D8091370D9091380DA70196010E94E0
+:10E160007EB2253031054105510509F087C00E9476
+:10E170001D65DF91CF911F910F91FF90EF90DF9080
+:10E18000CF90BF90AF909F908F90C1CAD630D9F5F5
+:10E1900020916F02222399F0A70196010E947EB27E
+:10E1A000263031054105510519F420E24EE302C045
+:10E1B00020E240E26AEF7EE08C2F0E94F66311239A
+:10E1C00009F45CC06091350D7091360D8091370D6A
+:10E1D0009091380DA70196010E947EB2263031053C
+:10E1E0004105510509F04AC00E941D65DF91CF919C
+:10E1F0001F910F91FF90EF90DF90CF90BF90AF9065
+:10E200009F908F90C9CAD730C9F520916F02222301
+:10E2100099F0A70196010E947EB227303105410591
+:10E22000510519F420E24EE302C020E240E261EF22
+:10E230007EE08C2F0E94F663112301F16091350D71
+:10E240007091360D8091370D9091380DA701960190
+:10E250000E947EB2273031054105510579F40E94B4
+:10E260001D65DF91CF911F910F91FF90EF90DF908F
+:10E27000CF90BF90AF909F908F9092C98091350DB5
+:10E280009091360DA091370DB091380D8897A1056A
+:10E29000B10540F08092350D9092360DA092370D69
+:10E2A000B092380D6091350D7091360D8091370D1B
+:10E2B0009091380DA70196010E947EB280913E0D8B
+:10E2C00090E00396422F50E0841795074CF48DEFB1
+:10E2D000820F80933E0D00936F02DCEFD20FCFEFE1
+:10E2E000CF5FDF5FC43008F4E2CDDF91CF911F91A3
+:10E2F0000F91FF90EF90DF90CF90BF90AF909F90E5
+:10E300008F9008955AD941E060E080E49DE00E943A
+:10E310007E2869EF74E080E49DE00E94BEAD42E09B
+:10E3200060E080E49DE00E947E2869E075E080E482
+:10E330009DE00C94BEAD41D942E060E080E49DE0F8
+:10E340000E947E286CE175E080E49DE00C94BEADF7
+:10E350001F93CF93DF9331D940E060E080E49DE0EC
+:10E360000E947E286CE275E080E49DE00E94BEADD4
+:10E3700042E060E080E49DE00E947E286AE375E070
+:10E3800080E49DE00E94BEAD10E043E0612F80E498
+:10E390009DE00E947E286FE573E080E49DE00E948E
+:10E3A000BEADCAE0D0E00E94721E81E00E943849F2
+:10E3B00065E570E080E090E00E9460A921972097D9
+:10E3C00091F71F5F143109F7DF91CF911F910895E5
+:10E3D0001F93CF93DF93F1D840E060E080E49DE0AD
+:10E3E0000E947E2866E475E080E49DE00E94BEAD58
+:10E3F00042E060E080E49DE00E947E286AE375E0F0
+:10E4000080E49DE00E94BEAD10E043E0612F80E417
+:10E410009DE00E947E286FE573E080E49DE00E940D
+:10E42000BEADCAE0D0E00E94721E81E00E94384971
+:10E430006EE670E080E090E00E9460A9219720974E
+:10E4400091F71F5F143109F7DF91CF911F91089564
+:10E4500080932E0D10922D0D0895E2E7F2E00190C9
+:10E460000020E9F73197E257F2401E161F0634F0FC
+:10E470001092860282E080936F02089580E2E43178
+:10E48000F105B4F7DF01AE58BD4F8C933196F7CF4D
+:10E4900020918C0D211108C044E150E0BC0182E7BD
+:10E4A00092E00E944CB6D9CF089510925F0A60E0C6
+:10E4B0008DE59AE00E947D340E94B39380E69FE050
+:10E4C0000E94333E81E080931F0A87E595E0E0DFFC
+:10E4D0008CE59FE00C94333EAF92BF92CF92DF92D7
+:10E4E000EF92FF920F931F93CF93DF931092990DAA
+:10E4F0008091350D9091360DA091370DB091380D6A
+:10E5000081309048A105B10540F01092350D109270
+:10E51000360D1092370D1092380D6091350D7091B7
+:10E52000360D8091370D9091380D25E030E040E0B8
+:10E5300050E00E947EB280913E0D90E0A0E0B0E0FD
+:10E54000281739074A075B0710F420933E0DD09136
+:10E550003E0D10913F0D12FB112710F9C0E075E040
+:10E56000C72ED12CE12CF12CAA24A394D11137C0B1
+:10E5700080916F028823A9F08091350D9091360D1E
+:10E58000A091370DB091380D23E00597A105B10595
+:10E5900010F443E001C040E264E071E18C2F0E947E
+:10E5A000F6631123E1F08091350D9091360DA09125
+:10E5B000370DB091380D0597A105B10580F40E9483
+:10E5C0001D6584E290E8DF91CF911F910F91FF903C
+:10E5D000EF90DF90CF90BF90AF900C9467650E9452
+:10E5E00000A54091350D5091360D6091370D709119
+:10E5F000380D811104C080915F0A882399F1D130D0
+:10E60000C9F580916F028823A9F0CB01BA01A70157
+:10E6100096010E947EB2213031054105510519F461
+:10E620002EE74EE302C02EE740E26FEF70E18C2F41
+:10E630000E94F6631123F1F06091350D7091360D53
+:10E640008091370D9091380DA70196010E947EB2FE
+:10E65000213031054105510569F40E941D6582E6AE
+:10E660009BE73EC2D13031F480916F0281119BC291
+:10E670001111AFC22091600A6091350D7091360D75
+:10E680008091370D9091380D222309F4F1C020912B
+:10E69000480C222309F4B9C020915F0A2223E9F132
+:10E6A000D23009F076C020916F02222399F0A701A1
+:10E6B00096010E947EB2223031054105510519F4C0
+:10E6C00020E24EE302C020E240E26BEE70E18C2FCC
+:10E6D0000E94F663112309F4E2C06091350D709138
+:10E6E000360D8091370D9091380DA70196010E944B
+:10E6F0007EB2223031054105510509F0D0C00E949B
+:10E700001D65DF91CF911F910F91FF90EF90DF90EA
+:10E71000CF90BF90AF900C947C64D230D1F5209113
+:10E720006F02222399F0A70196010E947EB2223047
+:10E7300031054105510519F420E24EE302C020E203
+:10E7400040E26EED70E18C2F0E94F663112309F414
+:10E75000A6C06091350D7091360D8091370D909166
+:10E76000380DA70196010E947EB222303105410585
+:10E77000510509F094C00E941D65DF91CF911F9152
+:10E780000F91FF90EF90DF90CF90BF90AF900C94DF
+:10E790007864D33009F083C020916F02222399F06E
+:10E7A000A70196010E947EB2233031054105510533
+:10E7B00019F420E24EE302C020E240E263ED70E192
+:10E7C0008C2F0E94F663112309F469C06091350D06
+:10E7D0007091360D8091370D9091380DA7019601FB
+:10E7E0000E947EB2233031054105510509F057C022
+:10E7F0000E941D65DF91CF911F910F91FF90EF90C7
+:10E80000DF90CF90BF90AF9050CED23011F003E0A8
+:10E8100047C020916F02222399F0A70196010E9420
+:10E820007EB2223031054105510519F42EE74EE341
+:10E8300002C02EE740E265EC70E18C2F0E94F66387
+:10E84000112329F36091350D7091360D8091370DAC
+:10E850009091380DA70196010E947EB222303105B9
+:10E8600041055105A1F60E941D6583EE9BE638C166
+:10E87000D23069F620916F02222311F3A70196018D
+:10E880000E947EB2223031054105510519F42EE770
+:10E890004EE302C02EE740E26AEB70E1CECF04E027
+:10E8A00080915F0A8111DCC00D1348C080916F0216
+:10E8B0008823F9F06091350D7091360D8091370DF8
+:10E8C0009091380DA70196010E947EB2802F90E0B2
+:10E8D000A0E0B0E0281739074A075B0719F420E2E7
+:10E8E0004EE302C020E240E26CEA70E18C2F0E940D
+:10E8F000F663112319F16091350D7091360D8091F9
+:10E90000370D9091380DA70196010E947EB2802F9D
+:10E9100090E0A0E0B0E0281739074A075B0771F4E0
+:10E920000E941D65DF91CF911F910F91FF90EF9095
+:10E93000DF90CF90BF90AF900C941B6BBB24B3942F
+:10E94000B00EBD1248C080916F028823F9F060912B
+:10E95000350D7091360D8091370D9091380DA701CE
+:10E9600096010E947EB28D2F90E0A0E0B0E02817C3
+:10E9700039074A075B0719F420E24EE302C020E2A0
+:10E9800040E26CE970E18C2F0E94F663112319F1CB
+:10E990006091350D7091360D8091370D9091380D45
+:10E9A000A70196010E947EB28B2D90E0A0E0B0E01E
+:10E9B000281739074A075B0771F40E941D65DF912C
+:10E9C000CF911F910F91FF90EF90DF90CF90BF906C
+:10E9D000AF900C94E16A62E0B62EB00EBD123FC05B
+:10E9E00080916F028823F9F06091350D7091360D9A
+:10E9F0008091370D9091380DA70196010E947EB24B
+:10EA00008D2F90E0A0E0B0E0281739074A075B0798
+:10EA100019F42EE74EE302C02EE740E263E970E10D
+:10EA20008C2F0E94F6631123D1F06091350D709107
+:10EA3000360D8091370D9091380DA70196010E94F7
+:10EA40007EB28B2D90E0A0E0B0E0281739074A078E
+:10EA50005B0729F40E941D6581E297E641C00D5FC6
+:10EA60000D134AC080916F028823F9F06091350D33
+:10EA70007091360D8091370D9091380DA701960158
+:10EA80000E947EB2802F90E0A0E0B0E02817390706
+:10EA90004A075B0719F42EE74EE302C02EE740E277
+:10EAA0006BE870E18C2F0E94F663112329F16091CD
+:10EAB000350D7091360D8091370D9091380DA7016D
+:10EAC00096010E947EB2802F90E0A0E0B0E028176F
+:10EAD00039074A075B0781F40E941D6581E795E6C7
+:10EAE000DF91CF911F910F91FF90EF90DF90CF902A
+:10EAF000BF90AF900C946C65BB24B394B00E609142
+:10EB0000350D7091360D8091370D9091380DA7011C
+:10EB100096010E947EB28B2D90E0A0E0B0E0281715
+:10EB200039074A075B0788F025E0B29EC00111242F
+:10EB30000197AA2797FDA095BA2F8093350D909342
+:10EB4000360DA093370DB093380D6091350D70914F
+:10EB5000360D8091370D9091380DA70196010E94D6
+:10EB60007EB280913E0D90E00396422F50E08417D4
+:10EB700095074CF48DEF820F80933E0DA0926F02AB
+:10EB8000DCEFD20FCFEFCF5FDF5FC43008F4EECC05
+:10EB9000DF91CF911F910F91FF90EF90DF90CF9079
+:10EBA000BF90AF900895CB01BA01A70196010E94D2
+:10EBB0007EB2213031054105510519F42EE74EE3AF
+:10EBC00002C02EE740E267EF70E18C2F0E94F663EF
+:10EBD0004FCD6091350D7091360D8091370D90912C
+:10EBE000380DA70196010E947EB221303105410502
+:10EBF000510509F03FCD0E941D6589E09FE670CF69
+:10EC000020918C0D211108C044E150E0BC0182E745
+:10EC100092E00E94BFB521CC0895F2DF81E080939D
+:10EC20008C0D0C94C86A10928C0D0895CF92DF92CF
+:10EC3000EF92FF92CF93CCB1C095CC1FCC27CC1FC5
+:10EC40008091030183FFC260C0903A0DD0903B0DCC
+:10EC5000E0903C0DF0903D0D0E9431A9C616D706FC
+:10EC6000E806F90610F4489B39C0C0933F0D809127
+:10EC70003F0D817090913F0D91FD82609091390D13
+:10EC8000891721F18130F1F028F0823089F083304A
+:10EC9000A1F01CC0913021F490919B0D9F5F05C0A5
+:10ECA0009230A1F490919B0D915090939B0D0EC0CA
+:10ECB000992391F3933051F4F5CF923069F3913069
+:10ECC00029F4F0CF933041F3992361F38093390D08
+:10ECD000CF91FF90EF90DF90CF900895C460C5CFA3
+:10ECE0000E94BC6A6F98E4E0F1E08081877F8083B6
+:10ECF000779A9FB7F894E5E0F1E08081886080839F
+:10ED00009FBF5098589A60E088E40E9451A89FB72E
+:10ED1000F894E5E0F1E08081846080839FBF80917A
+:10ED2000030182FB882780F991E089278093340DC5
+:10ED30007DDF10929B0D0895CF92DF92EF92FF92AC
+:10ED400075DF8091030191E082FB882780F9892794
+:10ED50002091340D8217C9F082E080936F02809178
+:10ED6000030182FB882780F989278093340D0E9454
+:10ED7000BC6A8091340D882309F490C08DE59AE037
+:10ED80000E94473089E49EE03BDFC090300DD09078
+:10ED9000310DE090320DF090330D0E9431A9C6166E
+:10EDA000D706E806F90608F086C040919B0D44237B
+:10EDB00061F181E080936F02552747FD5095652FE3
+:10EDC000752F8091350D9091360DA091370DB09132
+:10EDD000380D840F951FA61FB71F8093350D909394
+:10EDE000360DA093370DB093380D10929B0D0E94F5
+:10EDF00031A96856754C8F4F9F4F6093050D7093E6
+:10EE0000060D8093070D9093080D80913F0D82FFB2
+:10EE10000EC00E9431A96856754C8F4F9F4F60936A
+:10EE2000050D7093060D8093070D9093080DE091EA
+:10EE30007002F09171021995C090050DD090060DE9
+:10EE4000E090070DF090080D0E9431A9C616D70674
+:10EE5000E806F90638F480917002909171028452AC
+:10EE6000904819F580916F02823011F40E94DD6A9A
+:10EE700080916F02882319F0815080936F020E9465
+:10EE800031A96C597F4F8F4F9F4F6093300D709316
+:10EE9000310D8093320D9093330D0DC08DE59AE0C6
+:10EEA0000E9412318CE39EE06FCF0E94C86A82E01C
+:10EEB00080936F02D7CFFF90EF90DF90CF900895AF
+:10EEC00081E0089580913F0D82FB882780F90895A5
+:10EED0000F931F93CF93DF930E94DD6A40E060E0C1
+:10EEE00080E49DE00E947E2865E675E080E49DE078
+:10EEF0000E94BEAD41E061E080E49DE00E947E287A
+:10EF000068E775E080E49DE00E94BEAD42E061E00C
+:10EF100080E49DE00E947E286CE775E080E49DE03F
+:10EF20000E94BEAD43E061E080E49DE00E947E2847
+:10EF300060E975E080E49DE00E94BEAD41E060E0E4
+:10EF400080E49DE00E947E2860EA75E080E49DE018
+:10EF50000E94BEAD00919B0D112707FD1095C1E0E9
+:10EF6000D0E08091550A9091560A892B09F076C01D
+:10EF70000E94721E81E00E94384980919B0D992762
+:10EF800087FD90950817190709F459C09801281BA7
+:10EF9000390B37FF03C031952195310922303105F6
+:10EFA0000CF44DC0801791070CF42197081719072E
+:10EFB0000CF42196C430D1052CF4209729F4C1E03B
+:10EFC000D0E002C0C3E0D0E041E060E080E49DE03A
+:10EFD0000E947E2861E973E080E49DE00E94BEAD5E
+:10EFE00042E060E080E49DE00E947E2861E973E0F9
+:10EFF00080E49DE00E94BEAD43E060E080E49DE0DF
+:10F000000E947E2861E973E080E49DE00E94BEAD2D
+:10F010004C2F60E080E49DE00E947E2860EA75E06D
+:10F0200080E49DE00E94BEAD00919B0D112707FD7D
+:10F03000109564E670E080E090E00E9460A942DFF5
+:10F04000882309F48ECFD093560AC093550A64EFF3
+:10F0500071E080E090E00E9460A983CF0E94DD6AA9
+:10F06000DF91CF911F910F910C94C86AFC018081B0
+:10F0700090E02AE030E0B9010E946BB2482FCB014A
+:10F08000B9010E946BB2805D8093090D405D409391
+:10F090000A0D10920B0D89E09DE0089520E030E00C
+:10F0A00040E251E4FC0160817181828193810E9480
+:10F0B00075B10E940FAF77FD02C02BE201C02DE2B7
+:10F0C0002093090D9B0177FF04C022273327261BBD
+:10F0D000370BC90168EE73E00E946BB2CB01EAE026
+:10F0E000F0E0BF010E946BB2805D80930A0DC90100
+:10F0F00064E670E00E946BB2CB01BF010E946BB26C
+:10F10000805D80930B0DC901BF010E946BB2282F57
+:10F11000CB01BF010E946BB2805D80930C0D8EE22B
+:10F1200080930D0D205D20930E0D10920F0D89E040
+:10F130009DE008958F929F92AF92BF92CF92DF92FF
+:10F14000EF92FF92FC0180809180A280B38020E04A
+:10F1500030E048EC52E4C501B4010E9475B16B0186
+:10F160007C0120E030E0A9010E94A3B018161CF435
+:10F17000C701B60103C0C701B60190580E940FAF86
+:10F180006B017C0120E030E0A901C501B4010E94BF
+:10F19000A0AE87FF12C08DE28093090DC701B601B2
+:10F1A00028EE33E040E050E00E94A0B2CA01B9016D
+:10F1B0002AE030E040E050E036C0C701B60120E16F
+:10F1C00037E240E050E00E94A0B28AE0882E912C05
+:10F1D000A12CB12CCA01B901A50194010E94A0B2D1
+:10F1E000662391F0605D6093090DC701B60128EEBA
+:10F1F00033E040E050E00E94A0B2CA01B901A5018D
+:10F2000094010E94A0B213C080E28093090DC7014F
+:10F21000B60128EE33E040E050E00E94A0B2CA01FF
+:10F22000B901A50194010E94A0B2662311F0605DAE
+:10F2300001C060E260930A0DC701B60124E630E028
+:10F2400040E050E00E94A0B2BAE08B2E912CA12C9D
+:10F25000B12CCA01B901A50194010E94A0B2605D60
+:10F2600060930B0DC701B601A50194010E94A0B2E5
+:10F27000662381F0605D60930E0DCA01B901A5019E
+:10F2800094010E94A0B2605D60930D0D8EE28093A8
+:10F290000C0D15C0CA01B901A50194010E94A0B2CC
+:10F2A000662329F0605D60930D0D8EE203C080E25D
+:10F2B00080930D0D80930C0D80E280930E0D1092C3
+:10F2C0000F0D89E09DE0FF90EF90DF90CF90BF9011
+:10F2D000AF909F908F900895FC012081318137FF7E
+:10F2E00007C08DE28093090D31952195310914C035
+:10F2F0002436310574F0C90164E670E00E946BB2F7
+:10F30000CB016AE070E00E946BB2805D8093090DD2
+:10F3100006C080E28093090D2A30310564F0EAE0EE
+:10F32000F0E0C901BF010E946BB2CB01BF010E9496
+:10F330006BB2805D01C080E280930A0DC9016AE072
+:10F3400070E00E946BB2805D80930B0D10920C0DEB
+:10F3500089E09DE008958F929F92AF92BF92CF92E5
+:10F36000DF92EF92FF920F931F93CF93DF93609101
+:10F3700014027091150280911602909117020E945A
+:10F38000BD276093190D70931A0D80931B0D9093F8
+:10F390001C0D6091100270911102809112029091E7
+:10F3A00013020E94C9276093150D7093160D809368
+:10F3B000170D9093180D8091350D9091360DA091F9
+:10F3C000370DB091380D81309048A105B10540F05E
+:10F3D0001092350D1092360D1092370D1092380D97
+:10F3E0006091350D7091360D8091370D9091380DEB
+:10F3F00025E030E040E050E00E947EB280913E0D7A
+:10F4000090E0A0E0B0E0281739074A075B0710F446
+:10F4100020933E0DD0913E0D10913F0D12FB112710
+:10F4200010F9C0E095E0C92ED12CE12CF12C23E19C
+:10F43000822E912CA12CB12C01E06091350D7091A0
+:10F44000360D8091370D9091380DD11134C0209137
+:10F450006F02222371F023E065307105810591056B
+:10F4600010F443E001C040E26AEA7FE08C2F0E9482
+:10F47000F663112309F4E2C08091350D9091360DA9
+:10F48000A091370DB091380D0597A105B10508F091
+:10F49000D5C00E941D6581E297E6DF91CF911F9153
+:10F4A0000F91FF90EF90DF90CF90BF90AF909F9023
+:10F4B0008F900C946765D130D9F520916F0222238B
+:10F4C000B9F0A70196010E947EB288E498E021304D
+:10F4D00031054105510521F4FFDE9C014EE303C0D7
+:10F4E000FBDE9C0140E263EA7FE08C2F0E942D64EA
+:10F4F000112309F4A3C06091350D7091360D8091F0
+:10F50000370D9091380DA70196010E947EB22130EF
+:10F5100031054105510509F091C00E941D6528E3A0
+:10F5200031E040E050E068E478E08CE99FE078C0AA
+:10F53000D230D9F520916F022223B9F0A7019601AC
+:10F540000E947EB286E498E02230310541055105E3
+:10F5500021F4C2DE9C014EE303C0BEDE9C0140E20A
+:10F5600068E97FE08C2F0E942D64112309F466C0A6
+:10F570006091350D7091360D8091370D9091380D59
+:10F58000A70196010E947EB2223031054105510546
+:10F5900009F054C00E941D6523E930E040E050E0CE
+:10F5A00066E478E084E99FE03BC0D33009F046C0D0
+:10F5B00020916F022223B9F0A70196010E947EB22A
+:10F5C0008EE29AE0233031054105510521F484DEB5
+:10F5D0009C014EE303C080DE9C0140E26AE87FE0CC
+:10F5E0008C2F0E942D64112349F16091350D70918B
+:10F5F000360D8091370D9091380DA70196010E942C
+:10F600007EB22330310541055105C1F40E941D65CC
+:10F610002FEF30E040E050E06EE27AE080E89FE0DB
+:10F62000DF91CF911F910F91FF90EF90DF90CF90DE
+:10F63000BF90AF909F908F900C94A4638091350DF4
+:10F640009091360DA091370DB091380D4497A105DA
+:10F65000B10540F08092350D9092360DA092370D95
+:10F66000B092380D6091350D7091360D8091370D47
+:10F670009091380DA70196010E947EB280913E0DB7
+:10F6800090E00396422F50E0841795074CF48DEFDD
+:10F69000820F80933E0D00936F02DCEFD20FCFEF0D
+:10F6A000CF5FDF5FC43008F4C8CEDF91CF911F91E8
+:10F6B0000F91FF90EF90DF90CF90BF90AF909F9011
+:10F6C0008F9008958F929F92AF92BF92CF92DF92C8
+:10F6D000EF92FF920F931F93CF93DF938091350D9D
+:10F6E0009091360DA091370DB091380D8130904832
+:10F6F000A105B10540F01092350D1092360D109213
+:10F70000370D1092380D6091350D7091360D809146
+:10F71000370D9091380D25E030E040E050E00E9438
+:10F720007EB280913E0D90E0A0E0B0E0281739074E
+:10F730004A075B0710F420933E0DD0913E0D1091C7
+:10F740003F0D12FB112710F9C0E035E0C32ED12C7C
+:10F75000E12CF12C42E2842E912CA12CB12C01E061
+:10F760006091350D7091360D8091370D9091380D67
+:10F77000D11134C020916F02222371F023E0653053
+:10F7800071058105910510F443E001C040E26CEE83
+:10F790007EE08C2F0E94F663112309F49CC18091B6
+:10F7A000350D9091360DA091370DB091380D05971C
+:10F7B000A105B10508F08FC10E941D658CE692E796
+:10F7C000DF91CF911F910F91FF90EF90DF90CF903D
+:10F7D000BF90AF909F908F900C946765D130D9F512
+:10F7E00020916F022223B9F0A70196010E947EB2F8
+:10F7F0008DE592E0213031054105510521F46CDDA4
+:10F800009C014EE303C068DD9C0140E266EE7EE0B1
+:10F810008C2F0E942D64112309F45DC16091350D78
+:10F820007091360D8091370D9091380DA70196019A
+:10F830000E947EB2213031054105510509F04BC1CE
+:10F840000E941D6527EE33E04AE050E06DE572E06E
+:10F8500080EE9EE03DC0D23009F048C020916F029A
+:10F860002223B9F0A70196010E947EB288E498E0B5
+:10F87000223031054105510521F42EDD9C014EE376
+:10F8800003C02ADD9C0140E269ED7EE08C2F0E94DE
+:10F890002D64112309F41FC16091350D7091360D4F
+:10F8A0008091370D9091380DA70196010E947EB28C
+:10F8B000223031054105510509F00DC10E941D6539
+:10F8C00028E331E040E050E068E478E082ED9EE03B
+:10F8D000DF91CF911F910F91FF90EF90DF90CF902C
+:10F8E000BF90AF909F908F900C94A463D330D9F5C4
+:10F8F00020916F022223B9F0A70196010E947EB2E7
+:10F9000086E498E0233031054105510521F4E4DC1B
+:10F910009C014EE303C0E0DC9C0140E26EEC7EE023
+:10F920008C2F0E942D64112309F4D5C06091350DF0
+:10F930007091360D8091370D9091380DA701960189
+:10F940000E947EB2233031054105510509F0C3C044
+:10F950000E941D6523E930E040E050E066E478E075
+:10F960008AEC9EE0B5CFD430D9F520916F022223E6
+:10F97000B9F0A70196010E947EB28EE29AE024308F
+:10F9800031054105510521F4A7DC9C014EE303C07C
+:10F99000A3DC9C0140E260EC7EE08C2F0E942D6491
+:10F9A000112309F498C06091350D7091360D809146
+:10F9B000370D9091380DA70196010E947EB2243038
+:10F9C00031054105510509F086C00E941D652FEFE4
+:10F9D00030E040E050E06EE27AE086EB9EE078CFE7
+:10F9E000D530D9F520916F022223B9F0A7019601F5
+:10F9F0000E947EB28BE592E025303105410551052C
+:10FA000021F46ADC9C014EE303C066DC9C0140E209
+:10FA100061EB7EE08C2F0E942D64112309F45BC002
+:10FA20006091350D7091360D8091370D9091380DA4
+:10FA3000A70196010E947EB225303105410551058E
+:10FA400009F049C00E941D6527EE33E04AE050E00E
+:10FA50006BE572E08CEA9EE03BCFD630E1F5209179
+:10FA60006F02222399F0A70196010E947EB22630F0
+:10FA700031054105510519F420E24EE302C020E2B0
+:10FA800040E26CE97EE08C2F0E94F663112319F1AD
+:10FA90006091350D7091360D8091370D9091380D34
+:10FAA000A70196010E947EB226303105410551051D
+:10FAB00091F40E941D6587E99EE0DF91CF911F912F
+:10FAC0000F91FF90EF90DF90CF90BF90AF909F90FD
+:10FAD0008F900C94333E8091350D9091360DA0910E
+:10FAE000370DB091380D8397A105B10540F0809294
+:10FAF000350D9092360DA092370DB092380D609171
+:10FB0000350D7091360D8091370D9091380DA7010C
+:10FB100096010E947EB280913E0D90E00396422FA6
+:10FB200050E0841795074CF48DEF820F80933E0DC3
+:10FB300000936F02DCEFD20FCFEFCF5FDF5FC430F7
+:10FB400008F40ECEDF91CF911F910F91FF90EF90AF
+:10FB5000DF90CF90BF90AF909F908F900895FC0161
+:10FB6000808191818436910524F164E670E00E94E1
+:10FB70006BB2CB012AE030E0B9010E946BB2805D2C
+:10FB80008093090D80819181B9010E946BB2CB01F4
+:10FB9000B9010E946BB2805D80930A0D80819181D2
+:10FBA000B9010E946BB2805D80930B0D10920C0D19
+:10FBB00023C08A309105BCF02AE030E0B9010E94F0
+:10FBC0006BB2CB01B9010E946BB2805D8093090DCD
+:10FBD00080819181B9010E946BB2805D80930A0D92
+:10FBE00010920B0D09C06AE070E00E946BB2805D5C
+:10FBF0008093090D10920A0D89E09DE00895CF923F
+:10FC0000EF920F93EFE1CE2EF0E2EF2E0FE02EE019
+:10FC100045E066E280E49DE00E9459290F91EF9053
+:10FC2000CF900895CF93DF93FC016491EC0121966E
+:10FC3000662331F080E49DE00E94362ACE01F4CFA5
+:10FC4000DF91CF9108950F931F93CF93DF938C0192
+:10FC5000EB0141E061E080E49DE00E947E28C80164
+:10FC6000E1DF6AE380E49DE00E94BFADFE01019008
+:10FC70000020E9F76C2F6E1B6C5E41E080E49DE094
+:10FC80000E947E28BE0180E49DE0DF91CF911F910C
+:10FC90000F910C94BEADCF92DF92EF92FF920F9333
+:10FCA0001F938091350D9091360DA091370DB09135
+:10FCB000380D0097A105B10509F442C0BC018827A1
+:10FCC00077FD8095982F0E9442AF2091110D3091C1
+:10FCD000120D4091130D5091140D0E9475B19B01AE
+:10FCE000AC016091500A7091510A8091520A909132
+:10FCF000530A0E94C7AD6093500A7093510A8093D3
+:10FD0000520A9093530A1092350D1092360D1092AC
+:10FD1000370D1092380DA0E3CA2EAAE0DA2EE12C9E
+:10FD2000F12C00E81FE320E53AE04CE45AE068E4F7
+:10FD30007AE084E49AE00E94779A81E080936F02EF
+:10FD400080916F02882339F080E59AE0A7D9BC0141
+:10FD500089EB9FE078DF80913F0D82FF0EC021E0AC
+:10FD600040E050E0BA018AEF98E61F910F91FF90B2
+:10FD7000EF90DF90CF900C9451651F910F91FF9001
+:10FD8000EF90DF90CF900895CF93DF931F921F9253
+:10FD9000CDB7DEB78091350D9091360DA091370D1E
+:10FDA000B091380DB7FF08C01092350D1092360D86
+:10FDB0001092370D1092380D80911D0D90911E0DEF
+:10FDC000A0911F0DB091200D4091350D5091360D31
+:10FDD0006091370D7091380D84179507A607B70706
+:10FDE00044F48093350D9093360DA093370DB09366
+:10FDF000380D80916F028823A9F08091210D909198
+:10FE0000220D2091350D3091360D820F931F9A836C
+:10FE10008983CE01019660DABC018091270D909113
+:10FE2000280D11DF80913F0D82FF1DC0E091250D4F
+:10FE3000F091260D8091210D9091220D2091350D8C
+:10FE40003091360D820F931F918380834091290D4D
+:10FE500050912A0D60E070E021E080912B0D90918F
+:10FE60002C0D0E9451650F900F90DF91CF91089556
+:10FE70004F925F926F927F928F929F92AF92BF92BA
+:10FE8000CF92DF92EF92FF920F931F93CF93DF9366
+:10FE90004C015B017A018091350D9091360DA09156
+:10FEA000370DB091380D892B8A2B8B2B09F47BC031
+:10FEB0000E945F40E501CC0FDD1FCC0FDD1F8E01DE
+:10FEC0000C5B154F6091350D7091360D882777FDCD
+:10FED0008095982F0E9442AF2091110D3091120D04
+:10FEE0004091130D5091140D0E9475B1F8012081BD
+:10FEF0003181428153810E94C7AD2B013C0120E03A
+:10FF000030E0A9010E94A0AEF80187FD05C0408243
+:10FF100051826282738204C0108211821282138223
+:10FF2000B701882777FD8095982F0E9442AF6B011B
+:10FF30007C018E010C5B154F9B01AC01F8016081C7
+:10FF40007181828193810E94A3B018162CF4F8016C
+:10FF5000C082D182E282F3821092350D1092360D6A
+:10FF60001092370D1092380DCA55DA4F20E030E06C
+:10FF700040E752E4688179818A819B810E94A7AE23
+:10FF8000D0E3CD2EDAE0DD2E7B018C0120E53AE0D6
+:10FF90004CE45AE068E47AE084E49AE00E94779ABC
+:10FFA00081E080936F0280916F02882359F0C50130
+:10FFB000880F991F880F991F8C5B954F6FD8BC01D4
+:10FFC000C40141DE80913F0D82FF18C021E040E076
+:10FFD00050E0BA018AEF98E6DF91CF911F910F911F
+:10FFE000FF90EF90DF90CF90BF90AF909F908F9059
+:10FFF0007F906F905F904F900C945165DF91CF91FF
+:020000021000EC
+:100000001F910F91FF90EF90DF90CF90BF90AF9036
+:100010009F908F907F906F905F904F90089546EDE6
+:1000200050E060E070E083EB9FE022CF46EC50E0D0
+:1000300061E070E085EB9FE01BCF49EC50E062E0AF
+:1000400070E087EB9FE014CF8F929F92AF92BF92A8
+:10005000CF92DF92EF92FF920F931F93CF93DF9394
+:10006000CDB7DEB728970FB6F894DEBF0FBECDBF71
+:1000700080912F0D882321F0815080932F0D03C094
+:1000800081E080936F0280916F02882309F456C249
+:1000900080919A0D8F5F80939A0D8E3129F40E9482
+:1000A000BC6A10929A0D0EC06AE00E944AB2911189
+:1000B00009C020E044E064E180E49DE00E947E29E4
+:1000C0000E94806420E030E040E05FE360914008FF
+:1000D0007091410880914208909143080E94C7ADF9
+:1000E0000E940FAF78876F8360914808709149082C
+:1000F000882777FD8095982F0E9442AF20E030E05E
+:1001000040E05FE30E94C7AD0E940FAF7E836D8326
+:1001100040E060E080E49DE00E947E2862E080E4B0
+:100120009DE00E94BFADCE010796D6D8BC0180E409
+:100130009DE00E94BEAD6FE280E49DE00E94BFADF5
+:10014000CE0105960CDDBC0180E49DE00E94BEADB1
+:1001500084E99EE067DD60E973E080E49DE00E9451
+:10016000BEAD40E06AE080E49DE00E947E2862EA45
+:1001700075E080E49DE00E94BEAD2CEA35EC47E2DC
+:1001800057E360914C0A70914D0A80914E0A90910C
+:100190004F0A0E94C7AD69837A838B839C83CE010B
+:1001A00001960E949A78BC0180E49DE00E94BEAD59
+:1001B00060E280E49DE00E94BFAD41E060E080E449
+:1001C0009DE00E947E2820E030E040E05FE3609107
+:1001D0003A0870913B0880913C0890913D080E943C
+:1001E000C7AD0E940FAF78876F836091460870910A
+:1001F0004708882777FD8095982F0E9442AF20E01E
+:1002000030E040E05FE30E94C7AD0E940FAF7E8305
+:100210006D8360E080E49DE00E94BFADCE01079653
+:100220005BD8BC0180E49DE00E94BEAD6FE280E43B
+:100230009DE00E94BFADCE01059691DCBC0180E43B
+:100240009DE00E94BEAD81E99EE0ECDC60E973E0D8
+:1002500080E49DE00E94BEAD41E06AE080E49DE064
+:100260000E947E2860E973E080E49DE00E94BEADBC
+:1002700066E080E49DE00E94BFAD8DE592E02CD861
+:10028000BC0180E49DE00E94BEAD65E280E49DE09B
+:100290000E94BFAD6DE873E080E49DE00E94BEADBA
+:1002A00042E060E080E49DE00E947E288EE89EE0CF
+:1002B000B9DC80915F0A8823A9F18091480C8823DA
+:1002C00019F18091F20C9091F30CA091F40CB09183
+:1002D000F50C0097A105B105B9F0BC01CD016D5930
+:1002E0007F4F8F4F9F4F24E630E040E050E00E9468
+:1002F0007EB26091FA0C7091FB0C8091FC0C909195
+:10030000FD0C0E947EB201C020E030E03A832983D8
+:10031000CE0101960E946C79BC0180E49DE00E94B0
+:10032000BEAD03C08AE89EE07DDC65E280E49DE02E
+:100330000E94BFAD6CE873E080E49DE00E94BEAD1A
+:1003400042E06AE080E49DE00E947E2860E973E07C
+:1003500080E49DE00E94BEAD67E080E49DE00E94E5
+:10036000BFAD8091520890915308A0915408B0916C
+:100370005508892B8A2B8B2BE1F10E9431A920E6AD
+:10038000C22E2AEED22EE12CF12CA70196010E945A
+:100390007EB249015A0160915208709153088091D0
+:1003A000540890915508A70196010E947EB2C4019D
+:1003B000821B930B6CE370E00E9457B2182F698385
+:1003C000CE0101960E943678BC0180E49DE00E9437
+:1003D000BEAD6AE380E49DE00E94BFAD1983CE010B
+:1003E00001960E943678BC0180E49DE00E94BEAD7B
+:1003F00003C084E89EE016DC60E973E080E49DE0E1
+:100400000E94BEAD43E060E080E49DE00E947E2853
+:100410006EE773E082E792E00E942EB6892B09F026
+:1004200074C06EE67AE085E59DE00E942EB6892BC9
+:10043000D1F0E5E5FDE0DF010D900020E9F7AD0129
+:100440004150510945555D4060E070E0CF010E9488
+:10045000FEB56EE67AE085E59DE00E9437B6109223
+:100460008B0D10928A0DEEE6FAE001900020E9F77C
+:10047000EF56FA40759708F445C000918A0D109127
+:100480008B0DC12CD12C80918A0D90918B0D9801F0
+:10049000281B390B2431310534F0019690938B0DD4
+:1004A00080938A0D38C0C114D104B9F7F801E35A1A
+:1004B000F54F7F019189602F681B43E0911115C0B2
+:1004C00080E49DE00E947E28D70150966C9180E4E4
+:1004D0009DE00E94BFAD10928B0D10928A0D00E03E
+:1004E00010E0CC24C394D12CCECF80E49DE00E94B8
+:1004F0007E28F701608980E49DE00E94BFAD0F5F18
+:100500001F4FC1CF65E57DE002C062E772E080E485
+:100510009DE00E94BEAD02E712E0D8018D918D01F1
+:1005200080322CF460E280E49DE00E94BFADB2E036
+:1005300006381B0791F78AE080932F0D80913F0DBD
+:1005400082FB882780F990912E0D992399F0909144
+:100550002D0D992339F0811119C010922D0D109293
+:100560002E0D14C0882391F00E941D6581E08093B8
+:100570002D0D0CC0882351F021E040E050E0BA017D
+:100580008CE692E70E9451650E94BC6A80915D02F0
+:1005900090915E022091350D3091360D8436910593
+:1005A00034F4820F931F853691054CF416C08436BF
+:1005B000910599F0820F931F8436910574F410927F
+:1005C000350D1092360D1092370D1092380D84E6CD
+:1005D00090E090935E0280935D0220915D023091E5
+:1005E0005E028091350D9091360D2436310569F407
+:1005F0008B3091051CF0865A9F4F09C0863FEFEF64
+:100600009E078CF482599F4F02C0820F931F9093D4
+:100610005E0280935D021092350D1092360D10929D
+:10062000370D1092380D80915D0290915E028A30F4
+:1006300091051CF48AE090E005C0883E934034F0B8
+:1006400087EE93E090935E0280935D0228960FB64A
+:10065000F894DEBF0FBECDBFDF91CF911F910F91F8
+:10066000FF90EF90DF90CF90BF90AF909F908F90D2
+:100670000895CF93DF93CFE2DEE0FE0184918823DB
+:1006800041F09091C00095FFFCCF8093C600319659
+:10069000F5CFE4E0F4E18491882341F09091C0002B
+:1006A00095FFFCCF8093C6003196F5CF8091C000B6
+:1006B00085FFFCCF8AE08093C600FE018491EFE2C3
+:1006C000FEE0882349F09091C00095FFFCCF809315
+:1006D000C60031968491F5CF4091A1135091A21399
+:1006E0006091A3137091A4138CEF93E10E949C3D41
+:1006F0004091A5135091A6136091A7137091A81370
+:1007000089EF93E10E949C3D4091A9135091AA1357
+:100710006091AB137091AC1386EF93E10E949C3D06
+:100720004091AD135091AE136091AF137091B0131F
+:1007300083EF93E10E949C3D8091C00085FFFCCF38
+:100740008AE08093C600FE018491EFE2FEE08823F8
+:1007500049F09091C00095FFFCCF8093C600319680
+:100760008491F5CFE9EDF3E18491882341F09091F4
+:10077000C00095FFFCCF8093C6003196F5CF8091E5
+:10078000C00085FFFCCF8AE08093C600FE01849103
+:10079000EFE2FEE0882349F09091C00095FFFCCF86
+:1007A0008093C60031968491F5CF4091B11350915A
+:1007B000B2136091B3137091B41380ED93E10E9472
+:1007C0009C3D4091B5135091B6136091B713709151
+:1007D000B8138DEC93E10E949C3D4091B913509168
+:1007E000BA136091BB137091BC138AEC93E10E9421
+:1007F0009C3D4091BD135091BE136091BF13709109
+:10080000C01387EC93E10E949C3D8091C00085FF5E
+:10081000FCCF8AE08093C600FE018491EFE2FEE007
+:10082000882349F09091C00095FFFCCF8093C600CB
+:1008300031968491F5CFE9EAF3E18491882341F080
+:100840009091C00095FFFCCF8093C6003196F5CF04
+:100850008091C00085FFFCCF8AE08093C600FE0136
+:100860008491EFE2FEE0882349F09091C00095FF6B
+:10087000FCCF8093C60031968491F5CF40919113BF
+:1008800050919213609193137091941380EA93E1C5
+:100890000E94AE3D4091951350919613609197132D
+:1008A000709198138DE993E10E94AE3D40919913A8
+:1008B00050919A1360919B1370919C138AE993E174
+:1008C0000E94AE3D40919D1350919E1360919F13E5
+:1008D0007091A01387E993E10E94AE3D8091C00022
+:1008E00085FFFCCF8AE08093C600FE018491EFE291
+:1008F000FEE0882349F09091C00095FFFCCF8093E3
+:10090000C60031968491F5CFE2E6F3E18491882325
+:1009100041F09091C00095FFFCCF8093C6003196C6
+:10092000F5CF8091C00085FFFCCF8AE08093C600A0
+:10093000FE018491EFE2FEE0882349F09091C0002F
+:1009400095FFFCCF8093C60031968491F5CF4091FE
+:10095000891350918A1360918B1370918C1389E5E0
+:1009600093E10E949C3D40918513509186136091C4
+:1009700087137091881386E593E10E949C3D8091D6
+:10098000C00085FFFCCF8AE08093C600FE01849101
+:10099000EFE2FEE0882349F09091C00095FFFCCF84
+:1009A0008093C60031968491F5CFE3EAF2E1849119
+:1009B000882341F09091C00095FFFCCF8093C60042
+:1009C0003196F5CF8091C00085FFFCCF8AE08093FF
+:1009D000C600FE018491EFE2FEE0882349F0909189
+:1009E000C00095FFFCCF8093C60031968491F5CF6F
+:1009F00040918D1350918E1360918F1370919013CD
+:100A00008AE992E10E949C3D4091751350917613C2
+:100A1000609177137091781387E992E10E949C3D71
+:100A20004091C1135091C2136091C3137091C413CC
+:100A300084E992E10E94AE3D40918113509182136E
+:100A4000609183137091841381E992E10E949C3D2F
+:100A500040917D1350917E1360917F1370918013AC
+:100A60008EE892E10E949C3D4091791350917A1357
+:100A700060917B1370917C138BE892E10E949C3D06
+:100A80008091C00085FFFCCF8AE08093C600FE0104
+:100A90008491EFE2FEE0882349F09091C00095FF39
+:100AA000FCCF8093C60031968491F5CFE9E7F2E15F
+:100AB0008491882341F09091C00095FFFCCF8093F2
+:100AC000C6003196F5CF8091C00085FFFCCF8AE04B
+:100AD0008093C600FE018491EFE2FEE0882349F096
+:100AE0009091C00095FFFCCF8093C6003196849111
+:100AF000F5CF4091380A5091390A60913A0A7091C5
+:100B00003B0A80E792E10E949C3D40913C0A509153
+:100B10003D0A60913E0A70913F0A8DE692E10E9483
+:100B20009C3D4091400A5091410A6091420A709167
+:100B3000430A8AE692E10E949C3D8091C00085FFB5
+:100B4000FCCF8AE08093C600FE018491EFE2FEE0D4
+:100B5000882349F09091C00095FFFCCF8093C60098
+:100B600031968491F5CFECE5F2E18491882341F050
+:100B70009091C00095FFFCCF8093C6003196F5CFD1
+:100B80008091C00085FFFCCF8AE08093C600FE0103
+:100B90008491EFE2FEE0882349F09091C00095FF38
+:100BA000FCCF8093C60031968491F5CF4091180216
+:100BB0005091190260911A0270911B0282E592E134
+:100BC0000E949C3D60911402709115028091160262
+:100BD000909117020E94BD27AB01BC018FE492E106
+:100BE0000E949C3D6091100270911102809112024E
+:100BF000909113020E94C927AB01BC018CE492E1E1
+:100C00000E949C3D8091C00085FFFCCF8AE08093CC
+:100C1000C600FE018491EFE2FEE0882349F0909146
+:100C2000C00095FFFCCF8093C60031968491F5CF2C
+:100C3000E8E1F2E18491882341F09091C00095FFB2
+:100C4000FCCF8093C6003196F5CF8091C00085FF20
+:100C5000FCCF8AE08093C600FE018491EFE2FEE0C3
+:100C6000882349F09091C00095FFFCCF8093C60087
+:100C700031968491F5CF40913302509134026091C6
+:100C80003502709136028EE092E10E949C3D20E098
+:100C900030E040E752E460912B0270912C02809189
+:100CA0002D0290912E020E9475B1AB01BC018BE028
+:100CB00092E10E949C3D4091280A5091290A60913E
+:100CC0002A0A70912B0A88E092E10E949C3D809153
+:100CD000C00085FFFCCF8AE08093C600FE018491AE
+:100CE000EFE2FEE0882349F09091C00095FFFCCF31
+:100CF0008093C60031968491F5CFECEDF1E18491BB
+:100D0000882341F09091C00095FFFCCF8093C600EE
+:100D10003196F5CF8091C00085FFFCCF8AE08093AB
+:100D2000C600FE018491EFE2FEE0882349F0909135
+:100D3000C00095FFFCCF8093C60031968491F5CF1B
+:100D40004091240A5091250A6091260A7091270A41
+:100D500082ED91E10E949C3D20E030E040E752E4CA
+:100D600060912702709128028091290290912A02B5
+:100D70000E9475B1AB01BC018FEC91E10E949C3DDA
+:100D80008091C00085FFFCCF8AE08093C600FE0101
+:100D90008491EFE2FEE0882349F09091C00095FF36
+:100DA000FCCF8093C60031968491F5CFE5E7F1E161
+:100DB0008491882341F09091C00095FFFCCF8093EF
+:100DC000C6003196F5CF8091C00085FFFCCF8AE048
+:100DD0008093C600FE018491EFE2FEE0882349F093
+:100DE0009091C00095FFFCCF8093C600319684910E
+:100DF000F5CF40912D0A50E060E070E08BE691E184
+:100E00000E94AE3D8091C00085FFFCCF8AE08093B8
+:100E1000C600FE018491EFE2FEE0882349F0909144
+:100E2000C00095FFFCCF8093C60031968491F5CF2A
+:100E30008091540A8823A1F1E8E5F1E184918823A7
+:100E400041F09091C00095FFFCCF8093C600319691
+:100E5000F5CF8091C00085FFFCCF8AE08093C6006B
+:100E6000FE01C491EFE2FEE0CC2349F08091C00086
+:100E700085FFFCCFC093C6003196C491F5CF409159
+:100E800053025091540260915502709156028EE4C3
+:100E900091E10E949C3D8091C00085FFFCCF11C074
+:100EA000E2E3F1E18491882341F09091C00095FF45
+:100EB000FCCF8093C6003196F5CF8091C00085FFAE
+:100EC000FCCF8AE08093C600DF91CF910895AF9266
+:100ED000BF92CF92DF92EF92FF920F931F93CF9327
+:100EE000DF93CDB7DEB7E0970FB6F894DEBF0FBE45
+:100EF000CDBF80E1EFEEF2E0DE01919601900D9220
+:100F00008A95E1F780E1EFEFF2E0DE015196019082
+:100F10000D928A95E1F780E1EFE0F3E0DE011196B2
+:100F200001900D928A95E1F76E0181E2C80ED11C05
+:100F300081EAE82E83E1F82E8E010F5E1F4F61EBF0
+:100F400073E1AE014F5F5F4F91E9A92E93E1B92E96
+:100F500020E030E0F60181919191A191B1916F0172
+:100F6000F70181939193A193B1937F01F80181914E
+:100F70009191A191B1918F01FB0181939193A193E3
+:100F8000B193BF01FA0181919191A191B191AF010A
+:100F9000F50181939193A193B1935F012F5F3F4F2F
+:100FA00024303105B9F60E9410A580E090E8ABE34B
+:100FB000B5E48093891390938A13A0938B13B09315
+:100FC0008C138093851390938613A0938713B0930B
+:100FD000881310928D1310928E1310928F1310920B
+:100FE000901380E29EE4A0E0B0E08093C113909360
+:100FF000C213A093C313B093C4131092751310922D
+:101000007613109277131092781380E090E0A0EAA4
+:10101000B1E48093811390938213A0938313B093D0
+:1010200084138DEC9CECACECBEE380937D13909329
+:101030007E13A0937F13B093801380E090E0A0EA2A
+:10104000B0E48093791390937A13A0937B13B093B9
+:101050007C131092400A1092410A1092420A109298
+:10106000430A10923C0A10923D0A10923E0A1092D6
+:101070003F0A1092380A1092390A10923A0A1092D6
+:101080003B0A8CED90E09093980D8093970D82E34E
+:1010900090E09093960D8093950D8FEF90E0909354
+:1010A000940D8093930D2DE131E03093920D2093B8
+:1010B000910D24E630E03093900D20938F0D9093A6
+:1010C0008E0D80938D0D83E393E3ABE4B1E48093C5
+:1010D000180290931902A0931A02B0931B026FE1B9
+:1010E00075E88BE89FE30E94B72760931402709322
+:1010F000150280931602909317026AE979E985E157
+:1011000092E40E94C32760931002709311028093AF
+:101110001202909313020E94251E80E090E0A0E846
+:10112000BFE380930C0290930D02A0930E02B09344
+:101130000F0210922D0A80E090E0A0E4B0E48093CA
+:10114000330290933402A0933502B093360240E00C
+:1011500050E064E372E440932B0250932C026093BE
+:101160002D0270932E021092280A1092290A1092D2
+:101170002A0A10922B0A1092240A1092250A109221
+:10118000260A1092270A40E050E060E071E44093A4
+:101190002702509328026093290270932A0210922A
+:1011A000540A8093530290935402A0935502B09333
+:1011B00056020E94A74AEFE2FEE08491882341F0A4
+:1011C0009091C00095FFFCCF8093C6003196F5CF7B
+:1011D000E0E1F1E18491882341F09091C00095FF16
+:1011E000FCCF8093C6003196F5CF8091C00085FF7B
+:1011F000FCCF8AE08093C600E0960FB6F894DEBF7D
+:101200000FBECDBFDF91CF911F910F91FF90EF9057
+:10121000DF90CF90BF90AF9008951F920F920FB6BE
+:101220000F9211240BB60F922F933F934F935F931E
+:101230006F938F939F93EF93FF936091C6002091DC
+:101240001D0E30911E0EC90101968F77992740918E
+:101250001F0E5091200E8417950741F0F901E356B7
+:10126000F24F608390931E0E80931D0EFF91EF91BD
+:101270009F918F916F915F914F913F912F910F901F
+:101280000BBE0F900FBE0F901F9018959A01AB01E7
+:10129000211581EE38074105510549F182E080931F
+:1012A000C00060E079E08DE390E00E94A0B22150A0
+:1012B000310941095109CA01B90122E030E040E099
+:1012C00050E00E94A0B23093C5002093C4008091EA
+:1012D000C10080618093C1008091C10088608093CB
+:1012E000C1008091C10080688093C1000895109270
+:1012F000C00020E130E0E7CF20911F0E3091200E9A
+:1013000080911D0E90911E0E8217930771F0F901C6
+:10131000E356F24F80812F5F3F4F2F773327309373
+:10132000200E20931F0E90E008958FEF9FEF0895F9
+:1013300080911F0E9091200E90931E0E80931D0E93
+:1013400008954F925F926F927F928F929F92AF9289
+:10135000BF92CF92DF92EF92FF920F931F93CF93A2
+:10136000DF93CDB7DEB7A0970FB6F894DEBF0FBE00
+:10137000CDBF5C014115510561057105E9F420E01F
+:1013800030E040E350E060E070E0A0960FB6F894E3
+:10139000DEBF0FBECDBFDF91CF911F910F91FF90A8
+:1013A000EF90DF90CF90BF90AF909F908F907F9005
+:1013B0006F905F904F905BC08E010F5F1F4FC12CED
+:1013C000D12C76014801422E512C612C712C8FEFCB
+:1013D000C81AD80AE80AF80ACB01BA01A301920197
+:1013E0000E947EB2CA01F80161938F01A901BC017C
+:1013F000411551056105710551F7F1E0CF1AD1088A
+:10140000E108F108F401EC0DFD1D80818A3010F433
+:1014100040E301C047E3480F552747FD5095652F2E
+:10142000752F20E030E0C50122D081E0C81AD10834
+:10143000E108F108EFEFCE16DE06EE06FE0611F724
+:10144000A0960FB6F894DEBF0FBECDBFDF91CF914F
+:101450001F910F91FF90EF90DF90CF90BF90AF90D2
+:101460009F908F907F906F905F904F90089521157F
+:10147000310539F48091C00085FFFCCF4093C60050
+:1014800008952A30310509F41CC05BCFCF93DF9358
+:10149000EC0120E030E04DE050E060E070E0E7DF9C
+:1014A00020E030E04AE050E060E070E0CE01DF9103
+:1014B000CF91DDCF9A01AB01662757FD6095762F5E
+:1014C000D6CFCF92DF92EF92FF92CF93DF93EC01D2
+:1014D0006A017B0177FF0FC020E030E04DE250E071
+:1014E00060E070E0C4DFF094E094D094C094C11C3C
+:1014F000D11CE11CF11C2AE0B701A601CE01DF914D
+:10150000CF91FF90EF90DF90CF901BCF2115310549
+:1015100039F48091C00085FFFCCF4093C600089548
+:1015200010CF9A01462F50E060E070E0EFCFCF93EC
+:10153000DF93EC019A01AB0160E070E0E7DFCE01E0
+:10154000DF91CF91A3CF8F929F92AF92BF92CF9214
+:10155000DF92EF92FF921F93CF93DF93EC016A012A
+:101560007B01122F20E030E0A901C701B6010E94E3
+:10157000A0AE87FF0CC020E030E04DE250E060E01C
+:1015800070E0CE0174DFF7FAF094F7F8F094B12C24
+:1015900060E070E080E09FE3B11641F020E030E0D1
+:1015A00040E251E40E94A7AEB394F6CF9B01AC0198
+:1015B000C701B6010E94C7AD6B017C010E9414AF48
+:1015C0004B015C010E9440AF9B01AC01C701B60119
+:1015D0000E94C6AD6B017C012AE0B501A401CE01D9
+:1015E000B0DE112361F0EFE5F3E08191882339F05B
+:1015F0009091C00095FFFCCF8093C600F6CF1123D9
+:1016000019F120E030E040E251E4C701B6010E9448
+:1016100075B16B017C010E940FAF4B01AA2497FCAE
+:10162000A094BA2CB501A401CE014BDFC501B401D1
+:101630000E9442AF9B01AC01C701B6010E94C6AD3A
+:101640006B017C011150DBCFDF91CF911F91FF9097
+:10165000EF90DF90CF90BF90AF909F908F900895C4
+:1016600072CFCF93DF931F92CDB7DEB7698341E08E
+:1016700050E0BE016F5F7F4F04960E9481160F906D
+:10168000DF91CF910895FB0101900020E9F7AF01B0
+:1016900041505109461B570B04960C9481168091BA
+:1016A000390E811109C08091380E811105C08091D9
+:1016B000370E811101C00895EFE2FEE08491882386
+:1016C00041F09091C00095FFFCCF8093C600319609
+:1016D000F5CFEFE6F4E18491882341F09091C000CA
+:1016E00095FFFCCF8093C6003196F5CF8091390EDF
+:1016F0008823F1F060913A0E70913B0E80913C0E80
+:1017000090913D0E0E9442AF2091A1133091A213FF
+:101710004091A3135091A4130E94A7AEAB01BC014A
+:101720008BE694E10E949C3D8BE594E10E9400765B
+:101730008091380E8823F1F060913E0E70913F0E3B
+:101740008091400E9091410E0E9442AF2091A513CE
+:101750003091A6134091A7135091A8130E94A7AEF1
+:10176000AB01BC0187E594E10E949C3D87E494E1D4
+:101770000E9400768091370E8823F1F06091420E2E
+:101780007091430E8091440E9091450E0E9442AF9D
+:101790002091A9133091AA134091AB135091AC132F
+:1017A0000E94A7AEAB01BC0183E494E10E949C3D82
+:1017B00083E394E10E9400768091C00085FFFCCF16
+:1017C0008AE08093C6001092390E1092380E109263
+:1017D000370E08951092390E1092380E1092370E6F
+:1017E000089580939B020895EFE6F0E08081826087
+:1017F000808308951F920F920FB60F9211240BB69B
+:101800000F920F931F932F933F934F935F936F9379
+:101810007F938F939F93AF93BF93EF93FF938091A9
+:101820006A0E90916B0E892B09F084C190916D0E18
+:1018300080916C0E981771F0E0916C0E8DE4E89F2A
+:10184000F0011124E259F14FDF01A45BBF4F81E0A9
+:101850008C9302C0E0E0F0E0F0936B0EE0936A0E30
+:10186000309709F461C1DF01A45BBF4F81E08C9325
+:1018700010924D0E10924E0E10924F0E1092500E6E
+:1018800060AD71AD61349CE9790728F461329EE462
+:10189000790748F002C060E47CE976956795769513
+:1018A000679584E007C0613197E2790730F076955B
+:1018B000679582E080934A0E07C080934A0E60329B
+:1018C000710510F460E270E060527109611588E002
+:1018D0007807D0F0872F9927880F991F880F991FB5
+:1018E0008258974EFC01329645915491AA27659FE4
+:1018F0009001649F210D3A1F06942A1F3A1F11245C
+:10190000FC01859194911DC0CB01969587958C7FA4
+:1019100082589B4EFC01459154910296FC018591A1
+:101920009491FB01E770FF278E9F90018F9F300DF0
+:101930009E9F300D1124E3E036952795EA95E1F757
+:10194000CA01821B930B8436910598F4EEEBF5E007
+:101950008191882339F09091C00095FFFCCF80934E
+:10196000C600F6CF4AE050E08CE99DE0E0DD84E679
+:1019700090E09093490E8093480E80914A0E9927EB
+:1019800087FD90959093470E8093460EE0916A0EE6
+:10199000F0916B0E64AD75AD70934C0E60934B0E71
+:1019A00061349CE9790728F461328EE4780748F0C5
+:1019B00002C060E47CE9769567957695679584E04A
+:1019C00007C0613197E2790730F07695679582E03C
+:1019D00080934A0E08C081E080934A0E6032710500
+:1019E00010F460E270E060527109611588E07807D8
+:1019F000E0F0872F9927880F991F880F991F825829
+:101A0000974EFC01329625913491AA27639FA0013D
+:101A1000629F410D5A1F06944A1F5A1F1124FC0150
+:101A200025913491241B350B1EC0CB0196958795CB
+:101A30008C7F82589B4EFC01259134910296FC01CB
+:101A400045915491FB01E770FF274E9FC0014F9FC6
+:101A5000900D5E9F900D1124F3E096958795FA9571
+:101A6000E1F7281B390B2436310598F4EEEBF5E04D
+:101A70008191882339F09091C00095FFFCCF80932D
+:101A8000C600F6CF4AE050E08CE99DE050DD24E648
+:101A900030E0C901A0E0B0E08093510E9093520E67
+:101AA000A093530EB093540E309389002093880076
+:101AB000E0916A0EF0916B0E80899189A289B389B9
+:101AC000B695A79597958795B095A0959095819592
+:101AD0009F4FAF4FBF4F8093650E9093660EA093BC
+:101AE000670EB093680E8093610E9093620EA09380
+:101AF000630EB093640E80935D0E90935E0EA09380
+:101B00005F0EB093600E8093590E90935A0EA0937F
+:101B10005B0EB0935C0E1092550E1092560E109202
+:101B2000570E1092580E06C080ED97E090938900F2
+:101B300080938800E0916A0EF0916B0E309709F463
+:101B400087C580A18093690E9FB780FF09C0F89474
+:101B500080910B018D7F80930B019FBF8FEF08C099
+:101B6000F89480910B01826080930B019FBF81E00C
+:101B7000809397028091690E9FB781FF09C0F89406
+:101B800080910B018E7F80930B019FBF8FEF08C068
+:101B9000F89480910B01816080930B019FBF81E0DD
+:101BA000809398022091690E30919B0220FF3BC0E8
+:101BB000332309F472C01E9902C080E031C08091C5
+:101BC000360E882361F1E0916A0EF0916B0E8081F0
+:101BD0009181A281B381181619061A061B06FCF41E
+:101BE0008091210E9091220EA091230EB091240E8F
+:101BF00080933A0E90933B0EA0933C0EB0933D0E13
+:101C000081E08093390E80899189A289B38980937C
+:101C1000550E9093560EA093570EB093580E81E038
+:101C20008093360E3AC03323C1F140B151E042FBFC
+:101C3000442740F9452779F18091350E882359F1E1
+:101C4000E0916A0EF0916B0E80819181A281B38147
+:101C5000181619061A061B06F4F48091210E9091AD
+:101C6000220EA091230EB091240E80933A0E9093F1
+:101C70003B0EA0933C0EB0933D0E5093390E8089DD
+:101C80009189A289B3898093550E9093560EA093A3
+:101C9000570EB093580E4093350E21FF3BC03323AF
+:101CA00009F471C01D9902C080E031C08091340EEA
+:101CB000882361F1E0916A0EF0916B0E8481958129
+:101CC000A681B781181619061A061B06FCF4809126
+:101CD000250E9091260EA091270EB091280E80938C
+:101CE0003E0E90933F0EA093400EB093410E81E0C4
+:101CF0008093380E80899189A289B3898093550E8B
+:101D00009093560EA093570EB093580E81E0809397
+:101D1000340E39C03323B9F130B141E0369531701A
+:101D2000342779F18091330E882359F1E0916A0EBE
+:101D3000F0916B0E84819581A681B78118161906E2
+:101D40001A061B06F4F48091250E9091260EA091A0
+:101D5000270EB091280E80933E0E90933F0EA093D5
+:101D6000400EB093410E4093380E80899189A2892C
+:101D7000B3898093550E9093560EA093570EB0934F
+:101D8000580E3093330E9FB722FF47C0F8948091CE
+:101D90000B018B7F80930B019FBF8FEF8093990284
+:101DA00080919B02882309F47DC01C9902C080E0C9
+:101DB00031C08091320E882361F1E0916A0EF0917A
+:101DC0006B0E80859185A285B385181619061A06B3
+:101DD0001B06FCF48091290E90912A0EA0912B0EE7
+:101DE000B0912C0E8093420E9093430EA093440E1C
+:101DF000B093450E81E08093370E80899189A28946
+:101E0000B3898093550E9093560EA093570EB093BE
+:101E1000580E81E08093320E45C0F89480910B01FA
+:101E2000846080930B019FBF31E0309399028091D1
+:101E30009B028823B9F126B12095221F2227221F59
+:101E400079F18091310E882359F1E0916A0EF09179
+:101E50006B0E80859185A285B385181619061A0622
+:101E60001B06F4F48091290E90912A0EA0912B0E5E
+:101E7000B0912C0E8093420E9093430EA093440E8B
+:101E8000B093450E3093370E80899189A289B3892A
+:101E90008093550E9093560EA093570EB093580E04
+:101EA0002093310E8091690E9FB783FF09C0F8948B
+:101EB00080910B01806480930B019FBF8FEF08C05E
+:101EC000F89480910B018F7B80930B019FBF81E081
+:101ED00080939A0220E080914A0E28170CF0ADC141
+:101EE0008091C00087FF19C03091C60040911D0E3F
+:101EF00050911E0ECA0101968F77992760911F0E8F
+:101F00007091200E8617970741F0FA01E356F24FC1
+:101F1000308390931E0E80931D0EE0916A0EF09117
+:101F20006B0E8091650E9091660EA091670EB09138
+:101F3000680E4081518162817381840F951FA61FB5
+:101F4000B71F8093650E9093660EA093670EB093B3
+:101F5000680E181619061A061B06CCF5409AE09171
+:101F60006A0EF0916B0E8091650E9091660EA091B5
+:101F7000670EB091680E4089518962897389841B0C
+:101F8000950BA60BB70B8093650E9093660EA093EE
+:101F9000670EB093680E409197028091210E909148
+:101FA000220EA091230EB091240E552747FD509587
+:101FB000652F752F840F951FA61FB71F8093210EC5
+:101FC0009093220EA093230EB093240E4098E0919C
+:101FD0006A0EF0916B0E8091610E9091620EA0914D
+:101FE000630EB091640E4481558166817781840FC0
+:101FF000951FA61FB71F8093610E9093620EA0934A
+:10200000630EB093640E181619061A061B06CCF55B
+:10201000419AE0916A0EF0916B0E8091610E909161
+:10202000620EA091630EB091640E4089518962895D
+:102030007389841B950BA60BB70B8093610E90934D
+:10204000620EA093630EB093640E4091980280914B
+:10205000250E9091260EA091270EB091280E55279F
+:1020600047FD5095652F752F840F951FA61FB71F2D
+:102070008093250E9093260EA093270EB093280EE2
+:102080004198E0916A0EF0916B0E80915D0E9091F7
+:102090005E0EA0915F0EB091600E40855185628505
+:1020A0007385840F951FA61FB71F80935D0E9093B5
+:1020B0005E0EA0935F0EB093600E181619061A06F6
+:1020C0001B06CCF5429AE0916A0EF0916B0E80915E
+:1020D0005D0E90915E0EA0915F0EB091600E4089F2
+:1020E000518962897389841B950BA60BB70B80936A
+:1020F0005D0E90935E0EA0935F0EB093600E4091C4
+:1021000099028091290E90912A0EA0912B0EB091E8
+:102110002C0E552747FD5095652F752F840F951F61
+:10212000A61FB71F8093290E90932A0EA0932B0E03
+:10213000B0932C0E4298E0916A0EF0916B0E809154
+:10214000590E90915A0EA0915B0EB0915C0E448591
+:10215000558566857785840F951FA61FB71F8093C9
+:10216000590E90935A0EA0935B0EB0935C0E181606
+:1021700019061A061B06CCF5439AE0916A0EF091F7
+:102180006B0E8091590E90915A0EA0915B0EB091FA
+:102190005C0E4089518962897389841B950BA60B5B
+:1021A000B70B8093590E90935A0EA0935B0EB09389
+:1021B0005C0E40919A0280912D0E90912E0EA0916E
+:1021C0002F0EB091300E552747FD5095652F752F76
+:1021D000840F951FA61FB71F80932D0E90932E0E70
+:1021E000A0932F0EB093300E43988091550E90918E
+:1021F000560EA091570EB091580E0196A11DB11D1B
+:102200008093550E9093560EA093570EB093580E90
+:102210004091550E5091560E6091570E7091580E88
+:10222000E0916A0EF0916B0E80899189A289B38941
+:10223000481759076A077B07B0F04091550E509137
+:10224000560E6091570E7091580EE0916A0EF09103
+:102250006B0E84899589A689B78984179507A60787
+:10226000B70718F4D9C02F5F36CE4091510E509168
+:10227000520E6091530E7091540E048D158D268D63
+:10228000378DAA27419FB12D529FC001629F900DAB
+:10229000619F800D911D429FB00D811D9A1F519F1E
+:1022A000B00D811D9A1F609FB00D811D9A1F509F18
+:1022B000B10D8A1F9A1FB6958A1F9A1F112444AD2B
+:1022C00055AD480F591F50934C0E40934B0E80ADA7
+:1022D00091ADA2ADB3AD60E070E084179507A6079D
+:1022E000B70720F490934C0E80934B0E60914B0EE9
+:1022F00070914C0E61349CE9790728F461328EE4C8
+:10230000780748F002C060E47CE976956795769599
+:10231000679584E007C0613197E2790730F07695E0
+:10232000679582E080934A0E08C081E080934A0E50
+:102330006032710510F460E270E06052710961155D
+:1023400088E07807E0F0872F9927880F991F880F7A
+:10235000991F8258974EFC01329625913491AA27F5
+:10236000639FA001629F410D5A1F06944A1F5A1F86
+:102370001124FC0125913491241B350B1EC0CB0187
+:10238000969587958C7F82589B4EFC0125913491C0
+:102390000296FC0145915491FB01E770FF274E9F87
+:1023A000C0014F9F900D5E9F900D112413E09695F4
+:1023B00087951A95E1F7281B390B2436310598F4D7
+:1023C000EEEBF5E08191882339F09091C00095FF04
+:1023D000FCCF8093C600F6CF4AE050E08CE99DE048
+:1023E000A6D824E630E030938900209388008091BD
+:1023F000510E9091520EA091530EB091540E820F37
+:10240000931FA11DB11D8093510E9093520EA09366
+:10241000530EB093540EF7C04091550E5091560E86
+:102420006091570E7091580E808D918DA28DB38D55
+:1024300084179507A607B70708F0D9C040914D0E3D
+:1024400050914E0E60914F0E7091500E048D158D6F
+:10245000268D378DAA27419FB12D529FC001629FC3
+:10246000900D619F800D911D429FB00D811D9A1F9F
+:10247000519FB00D811D9A1F609FB00D811D9A1F45
+:10248000509FB10D8A1F9A1FB6958A1F9A1F11245B
+:1024900020914B0E30914C0EE05CFF4F281739070E
+:1024A00018F42081318102C0281B390B8081918171
+:1024B000A281B381A90160E070E0481759076A075B
+:1024C0007B0708F49C0121349CE9390728F4213268
+:1024D0008EE4380748F002C020E43CE936952795A1
+:1024E0003695279584E007C0213197E2390730F00F
+:1024F0003695279582E080934A0E08C081E080934C
+:102500004A0E2032310510F420E230E0B901605269
+:102510007109611588E07807E0F0872F9927880F07
+:10252000991F880F991F8258974EFC01329625916A
+:102530003491AA27639FA001629F410D5A1F069400
+:102540004A1F5A1F1124FC0125913491241B350B7D
+:102550001EC0CB01969587958C7F82589B4EFC01BF
+:10256000259134910296FC0145915491FB01E7704D
+:10257000FF274E9FC0014F9F900D5E9F900D11242D
+:1025800043E0969587954A95E1F7281B390B243649
+:102590003105A0F4EEEBF5E08191882339F09091BC
+:1025A000C00095FFFCCF8093C600F6CF4AE050E014
+:1025B0008CE99DE00E94978A24E630E03093890000
+:1025C0002093880080914D0E90914E0EA0914F0E59
+:1025D000B091500E820F931FA11DB11D80934D0E1F
+:1025E00090934E0EA0934F0EB093500E0CC080915E
+:1025F000480E9091490E90938900809388008091B5
+:10260000460E80934A0E4091550E5091560E6091A1
+:10261000570E7091580EE0916A0EF0916B0E808902
+:102620009189A289B389481759076A077B0780F007
+:1026300010926B0E10926A0E90916D0E80916C0E3E
+:10264000981731F080916C0E8F5F8F7080936C0EB5
+:10265000FF91EF91BF91AF919F918F917F916F917A
+:102660005F914F913F912F911F910F910F900BBE52
+:102670000F900FBE0F901F90189590916D0E809146
+:102680006C0E981741F00E94721E80E00E9438493B
+:102690000E949C76F2CF0895CF93DF93EFB7F89422
+:1026A000EC0188819981AA81BB818093210E90934E
+:1026B000220EA093230EB093240EEB018881998102
+:1026C000AA81BB818093250E9093260EA093270E9E
+:1026D000B093280EEA0188819981AA81BB818093F9
+:1026E000290E90932A0EA0932B0EB0932C0EE90185
+:1026F00088819981AA81BB8180932D0E90932E0EA3
+:10270000A0932F0EB093300EEFBFDF91CF910895BD
+:102710002FB7F894FC0180819181A281B3818093CD
+:102720002D0E90932E0EA0932F0EB093300E2FBF30
+:1027300008952FB7F89494E0899FF0011124EF5D7C
+:10274000F14F60817181828193812FBF089595DF60
+:10275000179A1092350A169A1092360A159A109204
+:10276000370A149A089580916F008D7F80936F00CF
+:1027700090916D0E80916C0E981769F090916D0E8E
+:1027800080916C0E9817A1F380916C0E8F5F8F7003
+:1027900080936C0EEDCF10926B0E10926A0E8091AA
+:1027A0006F00826080936F000895813039F120F0CE
+:1027B000823009F445C0089517988091090182700C
+:1027C0002FB7662329F0F89490910B01926004C012
+:1027D000F89490910B019D7F90930B012FBF409A2D
+:1027E00040989FB7882329F0F89480910B0182606C
+:1027F00048C0F89480910B018D7F43C0169880915A
+:10280000090181702FB7662329F0F89490910B018C
+:10281000916004C0F89490910B019E7F90930B01FE
+:102820002FBF419A41989FB7882329F0F89480914F
+:102830000B01816026C0F89480910B018E7F21C02E
+:1028400015988091090184702FB7662329F0F894B8
+:1028500090910B01946004C0F89490910B019B7FC0
+:1028600090930B012FBF429A42989FB7882329F07B
+:10287000F89480910B01846004C0F89480910B015E
+:102880008B7F80930B019FBF0895DB0181110DC0E9
+:102890002FEF30E00E94C2B220ED37E040E050E080
+:1028A0000E94A0B2B9018CE21DC0813069F42FEF03
+:1028B00030E00E94C2B220ED37E040E050E00E94DC
+:1028C000A0B2B9018DE20EC0823071F42FEF30E07A
+:1028D0000E94C2B220ED37E040E050E00E94A0B27A
+:1028E000B9018EE20C9447A7089561E08CE20E9442
+:1028F00051A861E08DE20E9451A861E08EE20E9441
+:1029000051A860919C0270919D0280E0BEDF6091B1
+:102910009E0270919F0281E0B8DFA091A002B09169
+:10292000A1022FEF30E00E94C2B220ED37E040E07C
+:1029300050E00E94A0B2B9018EE20E9447A7E1E2F6
+:10294000F1E08081887F816080830895CF93C42FD8
+:1029500067FD20C0813061F028F0823079F083304B
+:1029600099F018C088E20E948AA8C7FF1DC02AC03B
+:1029700085E40E948AA8C7FF1AC024C084E40E948C
+:102980008AA8C7FF17C01EC081E40E948AA8C7FF9B
+:1029900014C018C0C7FD16C0813049F028F082303D
+:1029A00049F0833051F00EC06C2F89E208C06C2FC3
+:1029B00087E205C06C2F83E402C06C2F82E4CF91C4
+:1029C0000C948AA8CF910895643079F028F461308E
+:1029D00041F0623041F00895683051F0603141F0CB
+:1029E000089540E003C040E004C041E060E002C060
+:1029F00041E061E0ABCFFF920F931F93CF93DF9342
+:102A000000D01F921F92CDB7DEB785E0EFE1F3E073
+:102A1000DE01119601900D928A95E1F761E088E25E
+:102A20000E9451A861E089E20E9451A861E085E41A
+:102A30000E9451A861E087E20E9451A861E084E40D
+:102A40000E9451A861E083E40E9451A861E081E402
+:102A50000E9451A861E082E40E9451A88E010F5F9C
+:102A60001F4FF12CF80161918F018F2DADDFF39491
+:102A7000F5E0FF12F7CF0F900F900F900F900F908F
+:102A8000DF91CF911F910F91FF9008952EDFB3DF5B
+:102A9000EAE0F1E0808182608083808181608083D0
+:102AA0008081846080838081806480830F9A179AFC
+:102AB0000E9A169A0D9A159A0C9A149A26982E9A8E
+:102AC00025982D9A24982C9A0A98129A0998119A66
+:102AD0003F98479A389A4098179A1092350A399A2F
+:102AE0004198169A1092360A3A9A4298159A10927C
+:102AF000370A3B9A4398149AA1E8B0E08C918F7EF4
+:102B00008C938C9188608C93E0E8F0E080818D7FDD
+:102B1000808380818E7F808380818F73808380819A
+:102B20008F7C80838C91887F82608C9380E090E49E
+:102B30009093890080938800109285001092840001
+:102B4000EFE6F0E080818260808381E080939B02E9
+:102B500078940895E5E2F4E18491882341F090911E
+:102B6000C00095FFFCCF8093C6003196F5CFE1E21F
+:102B7000F4E18491882341F09091C00095FFFCCF4F
+:102B80008093C6003196F5CF88E20E94BFA84AE044
+:102B900050E0BC018CE99DE00E945A8A89E20E94C3
+:102BA000BFA84AE050E0BC018CE99DE00E945A8A2F
+:102BB0008091C00085FFFCCF8AE08093C600EDE1E4
+:102BC000F4E18491882341F09091C00095FFFCCFFF
+:102BD0008093C6003196F5CF85E40E94BFA84AE0F5
+:102BE00050E0BC018CE99DE00E945A8A87E20E9475
+:102BF000BFA84AE050E0BC018CE99DE00E945A8ADF
+:102C00008091C00085FFFCCF8AE08093C600E9E197
+:102C1000F4E18491882341F09091C00095FFFCCFAE
+:102C20008093C6003196F5CF84E40E94BFA84AE0A5
+:102C300050E0BC018CE99DE00E945A8A83E40E9426
+:102C4000BFA84AE050E0BC018CE99DE00E945A8A8E
+:102C50008091C00085FFFCCF8AE08093C600E4E14C
+:102C6000F4E18491882341F09091C00095FFFCCF5E
+:102C70008093C6003196F5CF81E40E94BFA84AE058
+:102C800050E0BC018CE99DE00E945A8A82E40E94D7
+:102C9000BFA84AE050E0BC018CE99DE00E945A8A3E
+:102CA0008091C00085FFFCCF8AE08093C600089524
+:102CB000CF93DF931F92CDB7DEB72091B714309139
+:102CC000B814CE0101962115310519F0821B930B22
+:102CD00002C08D5B94410F90DF91CF9108952F92A8
+:102CE0003F924F925F926F927F928F929F92AF929C
+:102CF000BF92CF92DF92EF92FF920F931F93CF93E9
+:102D0000DF93CDB7DEB768970FB6F894DEBF0FBE7E
+:102D1000CDBF1C012A013B0148015901DC01D896B5
+:102D20006D917D918D919C91DB970E9440AF6B01DD
+:102D30007C01A30192010E9475B10E948DAE0E9498
+:102D400014AF69877A878B879C87A5019401C70197
+:102D5000B6010E9475B10E948DAE0E9414AF6D87BE
+:102D60007E878F87988B29853A854B855C852837A8
+:102D700031054105510540F488E790E0A0E0B0E05E
+:102D800089879A87AB87BC872D853E854F85588973
+:102D9000283731054105510540F488E790E0A0E06F
+:102DA000B0E08D879E87AF87B88B91012C5B3F4F3A
+:102DB000D9018D919D910D90BC91A02D8D839E8305
+:102DC000AF83B887BC01CD010E9442AF69837A838B
+:102DD0008B839C8369857A858B859C850E9440AF17
+:102DE000698B7A8B8B8B9C8B20E030E0A901698109
+:102DF0007A818B819C810E94A0AE882339F1A70142
+:102E00009601C701B6010E9475B14B015C01298989
+:102E10003A894B895C89CA01B9010E9475B19B014D
+:102E2000AC01C501B4010E94C6AD4B015C01298112
+:102E30003A814B815C81CA01B9010E94C7AD9B01F7
+:102E4000AC01C501B4010E94A7AE03C060E070E010
+:102E5000CB010E948DAE0E940FAF2B013C016D8112
+:102E60007E818F81988590958095709561957F4F33
+:102E70008F4F9F4F0E9442AF4B015C016D857E8555
+:102E80008F8598890E9440AF6D837E838F8398875A
+:102E900020E030E0A901C501B4010E94A0AE882362
+:102EA00049F12D813E814F815885CA01B9010E94A7
+:102EB00075B16D8B7E8B8F8B988FA7019601C701A3
+:102EC000B6010E9475B19B01AC016D897E898F8925
+:102ED000988D0E94C6AD6B017C01A5019401C501CE
+:102EE000B4010E94C7AD9B01AC01C701B6010E94AD
+:102EF000A7AE03C060E070E0CB010E947DAFF1019E
+:102F000080889188A288B38875016401C418D508A7
+:102F1000E608F7080E940FAFC61AD70AE80AF90AAE
+:102F2000F7FE6BC020E030E0A90169817A818B81D6
+:102F30009C810E94A0AE882309F447C029813A8170
+:102F40004B815C81CA01B9010E94C7AD6B017C0154
+:102F5000C501B4010E9440AF9B01AC01C701B6019D
+:102F60000E9475B16B017C0129893A894B895C8982
+:102F7000CA01B9010E9475B19B01AC01C701B6013C
+:102F80000E94C6AD6B017C012D813E814F81588529
+:102F9000CA01B9010E9475B19B01AC01C701B6011C
+:102FA0000E94C7AD6B017C0120E030E040E850E4B6
+:102FB00069817A818B819C810E9475B19B01AC01F2
+:102FC000C701B6010E94A7AE03C060E070E0CB016C
+:102FD0000E948DAE0E940FAF2B013C0197FF03C0F2
+:102FE000412C512C3201481459046A047B0410F01E
+:102FF00024013501C12CD12C76018FB7F894F10151
+:10300000E45BFF4F9081911125C0D10154964D9200
+:103010005D926D927C925797C40CD51CE61CF71CF0
+:10302000F101C08ED18EE28EF38E29853A854B85D3
+:103030005C85DC962D933D934D935C93DF97A05C6C
+:10304000BF4F2D853E854F8558892D933D934D93D8
+:103050005C9313978FBF68960FB6F894DEBF0FBED0
+:10306000CDBFDF91CF911F910F91FF90EF90DF9037
+:10307000CF90BF90AF909F908F907F906F905F9018
+:103080004F903F902F9008954F925F926F927F9252
+:10309000AF92BF92CF92DF92EF92FF920F931F9366
+:1030A000CF93DF93EB017A01209709F458C04115C3
+:1030B000510509F454C0AAA4BBA40CA51DA59501F3
+:1030C000A8016EA17FA188A599A50E94A0AE882322
+:1030D00009F445C08FA981113AC0F70146A057A055
+:1030E00060A471A4A3019201B501C8010E94A3B01C
+:1030F00018166CF5A3019201C301B2010E9475B1CB
+:103100006B017C018AA99BA9ACA9BDA9BC01CD0119
+:1031100090589B01AC010E94C7AD2EA53FA548A9C0
+:1031200059A90E9475B19B01AC01C701B6010E946B
+:10313000C6AD0E94E2B16B017C019B01AC01B501FF
+:10314000C8010E94A0AE87FD02C056018701A501FB
+:10315000B8014EA35FA368A779A781E08EABDF918A
+:10316000CF911F910F91FF90EF90DF90CF90BF9084
+:10317000AF907F906F905F904F900895DF92EF92A5
+:10318000FF920F931F93CF93DF9380916D0E8FB7B4
+:10319000F894E0906C0E8FBF80916D0E90E08E19C8
+:1031A00091098F7099270497F4F010916D0E1350C8
+:1031B0001F7040E050E000E0F12C8DE4D82E1E1589
+:1031C00091F0111101C010E11150D19EE0011124C4
+:1031D000C259D14F602F7F2DCE0156DF402F5F2D7A
+:1031E0000C2FFD2EECCFDF91CF911F910F91FF900F
+:1031F000EF90DF9008954F925F926F927F92AF921F
+:10320000BF92CF92DF92EF92FF920F931F93CF93D3
+:10321000DF938C01EB01009709F453C0FC0187A9EF
+:1032200081114FC046A057A060A471A4AEA0BFA05A
+:10323000C8A4D9A49501A601C301B2010E94A0AE01
+:1032400087FF3FC0A3019201C301B2010E9475B183
+:103250002B013C01F80182A993A9A4A9B5A9BC013D
+:10326000CD0190589B01AC010E94C7ADF80126A585
+:1032700037A540A951A90E9475B19B01AC01C301BA
+:10328000B2010E94C6AD0E94E2B17B018C019B019C
+:10329000AC01B501C6010E94A0AE87FF02C0750156
+:1032A00086019701A801B501C6010E94A0AE88233E
+:1032B00041F0A701B8014EA35FA368A779A781E0F9
+:1032C0008EABDF91CF911F910F91FF90EF90DF9028
+:1032D000CF90BF90AF907F906F905F904F90089588
+:1032E000EF92FF920F931F93CF93DF93F0906C0EAA
+:1032F00000E010E080E090E02DE4E22E20916D0EE1
+:10330000F21689F0EF9CE0011124C259D14FAE01B1
+:10331000B80171DF81E08F0D803109F480E0F82E73
+:10332000C8018E01EBCF40E050E0B801DF91CF91B2
+:103330001F910F91FF90EF905ECF4F925F926F922F
+:103340007F928F929F92AF92BF92CF92DF92EF9235
+:10335000FF920F931F93CF93DF9390906C0EC0E07A
+:10336000D0E03DE4832E892D992787FD909520910B
+:103370006D0E30E082179307B9F1889E5001899E47
+:10338000B00C1124C5018259914F5C01209729F19D
+:103390008EA9811104C0F50186A98823F1F0CAA085
+:1033A000DBA0ECA0FDA0A7019601F50166A177A125
+:1033B00080A591A50E94A7AE2B013C01A701960113
+:1033C0006EA17FA188A599A50E94A7AEAB01BC0103
+:1033D00093018201CE0183DC1EAA9394F0E19F1237
+:1033E00001C0912CE501BFCF2097E9F0CAA0DBA076
+:1033F000ECA0FDA0A70196016DEC7CEC8CE49DE3B4
+:103400000E94A7AE4B015C01A70196016EA17FA1AE
+:1034100088A599A50E94A7AEAB01BC0195018401C6
+:10342000CE015DDC1EAADF91CF911F910F91FF901D
+:10343000EF90DF90CF90BF90AF909F908F907F9054
+:103440006F905F904F90089599DE4ADF76CF10928B
+:103450006D0E10926C0E80E1E5E5F3E1DF011D9247
+:103460008A95E9F71092451310924613109247136C
+:10347000109248131092491310924A1310924B1352
+:1034800010924C1310924D1310924E1310924F1332
+:103490001092501310925113109252131092531312
+:1034A000109254131092411310924213109243132E
+:1034B00010924413089560912E0A90916C0E8091A1
+:1034C0006D0E981781F080916C0E9DE4899FF0013C
+:1034D0001124EA54F14F608190916D0E891719F013
+:1034E0008F5F8F70F9CF70E088E00C9447A72F9220
+:1034F0003F924F925F926F927F928F929F92AF9284
+:10350000BF92CF92DF92EF92FF920F931F93CF93D0
+:10351000DF93CDB7DEB7CC56D1090FB6F894DEBF36
+:103520000FBECDBF3C015B014A012901E8A6F8AE00
+:1035300025960FAF25971CAF860120916D0E2F5F4A
+:1035400029962FAF2997203119F429961FAE299774
+:1035500029963FAD2997E32EFF24E7FCF094809154
+:103560006C0E90E08E159F0541F40E94721E80E063
+:103570000E9438490E949C76F2CF2091A11330918D
+:10358000A2134091A3135091A413D3016D917D9187
+:103590008D919C910E9475B10E9445B169966CAF66
+:1035A0007DAF8EAF9FAF69972091A5133091A61381
+:1035B0004091A7135091A813F50160817181828118
+:1035C00093810E9475B10E9445B16D966CAF7DAF3D
+:1035D0008EAF9FAF6D972091A9133091AA134091A0
+:1035E000AB135091AC13D4016D917D918D919C9151
+:1035F0000E9475B10E9445B1A1966CAF7DAF8EAFB0
+:103600009FAFA1972091AD133091AE134091AF13AE
+:103610005091B013F20160817181828193810E9487
+:1036200075B10E9445B124966CAF7DAF8EAF9FAF50
+:1036300024978091611390916213A0916313B091CC
+:10364000641324962CAD3DAD4EAD5FAD2497281785
+:1036500039074A075B0709F4ADC0E091300A34E04E
+:10366000E39FF0011124E05CF74F2091A20230911A
+:10367000A3024091A4025091A502608171818281D0
+:1036800093810E94A0AE87FF2FC024968CAD9DAD84
+:10369000AEADBFAD24978093611390936213A09356
+:1036A0006313B0936413EFE2FEE08491882341F04A
+:1036B0009091C00095FFFCCF8093C6003196F5CF66
+:1036C000ECE9FCE18491882341F09091C00095FFE2
+:1036D000FCCF8093C6003196F5CF8091C00085FF66
+:1036E000FCCF8AE08093C6008091611390916213B1
+:1036F000A0916313B091641324962CAD3DAD4EADF3
+:103700005FAD2497281B390B4A0B5B0BCA01B9012B
+:1037100057FF07C090958095709561957F4F8F4FAB
+:103720009F4F0E9442AF6B017C0120E030E04EECE5
+:1037300053E46091AD137091AE138091AF139091EB
+:10374000B0130E9475B19B01AC01C701B6010E9484
+:10375000A3B018167CF524968CAD9DADAEADBFAD73
+:1037600024978093611390936213A0936313B09393
+:103770006413EFE2FEE08491882341F09091C00051
+:1037800095FFFCCF8093C6003196F5CFEEE7FCE1C4
+:103790008491882341F09091C00095FFFCCF8093E5
+:1037A000C6003196F5CF8091C00085FFFCCF8AE03E
+:1037B0008093C60080916D0E9DE4899F10011124B5
+:1037C000D101A259B14F1D01FD01E45BFF4F1082F1
+:1037D000209155133091561340915713509158131F
+:1037E0002BA33CA34DA35EA369964CAC5DAC6EAC21
+:1037F0007FAC6997421A530A640A750A77FE08C0BB
+:103800007094609450944094411C511C611C711C34
+:10381000D1014D925D926D927C9213972091591334
+:1038200030915A1340915B1350915C132CAB3DAB1C
+:103830004EAB5FAB6D968CAC9DACAEACBFAC6D9738
+:10384000821A930AA40AB50AB7FE08C0B094A094DD
+:1038500090948094811C911CA11CB11CD1011496E0
+:103860008D929D92AD92BC92179720915D133091ED
+:103870005E1340915F13509160132CA73DA74EA794
+:103880005FA7A196CCACDDACEEACFFACA197C21AA1
+:10389000D30AE40AF50AF7FE08C0F094E094D09445
+:1038A000C094C11CD11CE11CF11CD1011896CD9211
+:1038B000DD92ED92FC921B9720916113309162137F
+:1038C000409163135091641328AB39AB4AAB5BABA7
+:1038D00024966CAD7DAD8EAD9FAD2497621B730BAE
+:1038E000840B950B97FF07C0909580957095619517
+:1038F0007F4F8F4F9F4F0E9442AFE091300A34E0DC
+:10390000E39FF0011124E15BFD4F20813181428171
+:1039100053810E9475B10E940FAF9B01AC01A09131
+:103920005B02B0915C020E94D2B224E630E040E03B
+:1039300050E00E94A0B2D1011C962D933D934D936F
+:103940005C931F97C814D904EA04FB0414F47501AE
+:103950006401C216D306E406F50614F469017A017F
+:10396000D301C2014C145D046E047F0414F4D7012A
+:10397000C601F101808B918BA28BB38B0697A105B9
+:10398000B10508F461C7E85BFF4F80912E0A909162
+:103990002F0AAA2797FDA095BA2F80839183A2832F
+:1039A000B38369962CAD3DAD4EAD5FAD69978BA1EC
+:1039B0009CA1ADA1BEA1281739074A075B0724F0D7
+:1039C000D10190961C9203C081E0F10180A36D9615
+:1039D0002CAD3DAD4EAD5FAD6D978CA99DA9AEA947
+:1039E000BFA9281739074A075B073CF4D101909615
+:1039F0008C919097826090968C93A1962CAD3DAD62
+:103A00004EAD5FADA1978CA59DA5AEA5BFA528170E
+:103A100039074A075B073CF4D10190968C91909747
+:103A2000846090968C9324962CAD3DAD4EAD5FADE9
+:103A3000249788A999A9AAA9BBA9281739074A07D1
+:103A40005B073CF4D10190968C919097886090969A
+:103A50008C93F8018081D10191968C93452846285A
+:103A6000472809F01798F10184819581A681B781D3
+:103A7000892B8A2B8B2B09F01698F1018085918573
+:103A8000A285B385892B8A2B8B2B09F01598F10120
+:103A900084859585A685B785892B8A2B8B2B69F123
+:103AA00080913E13882319F0815080933E138091BA
+:103AB0003F13882319F0815080933F138091401366
+:103AC000882319F0815080934013D8018C91813064
+:103AD00061F030F0823089F480E28093401308C0B6
+:103AE000149880E280933E1308C080E280933F13D5
+:103AF00080913E13811101C0149AD1011C962D9121
+:103B00003D914D915C911F972D962CAF3DAF4EAFDF
+:103B10005FAF2D97232B242B252B09F5B09175131F
+:103B2000BBA3E0917613EFA3109177130091781364
+:103B30002B2F3E2F412F502F68A578AD25968FADA6
+:103B400025979CAD0E94A0AE87FD16C0F8A5FBA3EB
+:103B500028AD2FA325961FAD25970CAD0DC0309134
+:103B60008D133BA340918E134FA310918F1300919F
+:103B70009013232F342FDECF80915513909156133D
+:103B8000A0915713B091581369962CAD3DAD4EAD31
+:103B90005FAD6997281B390B4A0B5B0BCA01B90152
+:103BA0000E9442AF2091A1133091A2134091A31320
+:103BB0005091A4130E94A7AE68A779A78AA79BA7D4
+:103BC000698B7A8B8B8B9C8B6D966CAD7DAD8EAD3E
+:103BD0009FAD6D972CA93DA94EA95FA9621B730BE0
+:103BE000840B950B0E9442AF2091A5133091A61330
+:103BF0004091A7135091A8130E94A7AE4B015C01FE
+:103C00006D8B7E8B8F8B988FA1966CAD7DAD8EADBD
+:103C10009FADA1972CA53DA54EA55FA5621B730B7B
+:103C2000840B950B0E9442AF2091A9133091AA13E7
+:103C30004091AB135091AC130E94A7AE6B017C0175
+:103C4000698F7A8F8B8F9C8F24966CAD7DAD8EADF6
+:103C50009FAD249728A939A94AA95BA9621B730BB8
+:103C6000840B950B0E9442AF2091AD133091AE139F
+:103C70004091AF135091B0130E94A7AEE091300A6B
+:103C800034E0E39FF0011124E15BFD4F208131819D
+:103C9000428153810E9475B12B013C0160915B020E
+:103CA00070915C02882777FD8095982F0E9442AF23
+:103CB0009B01AC01C301B2010E9475B120E030E06C
+:103CC00048EC52E40E94A7AE6D8F7E8F8F8F98A331
+:103CD000D1012D913D914D915C91139728AF39AF52
+:103CE0004AAF5BAF263031054105510504F5149606
+:103CF0004D905D906D907C901797B6E04B165104F7
+:103D000061047104A4F4F1014084518462847384D9
+:103D1000F6E04F165104610471044CF4DC01CB0150
+:103D2000BF77F10186A797A7A0ABB1AB27C068A565
+:103D300079A58AA59BA50E9420B22B013C01C50153
+:103D4000B4010E9420B29B01AC01C301B2010E94E8
+:103D5000C7AD4B015C01C701B6010E9420B29B01B7
+:103D6000AC01C501B4010E94C7AD0E94E2B1D1010E
+:103D70009E966D937D938D939C93D197D1019E9642
+:103D80002D913D914D915C91D19728962CAF3DAFEF
+:103D90004EAF5FAF289760E070E080E89FE30E943D
+:103DA000A7AE9B01AC016BA17FA1812F902F0E9438
+:103DB00075B12B013C0190916D0E80916C0EE92F35
+:103DC000F0E0E81BF109EF70FF27FDABECABA301BE
+:103DD000920160E074E284E799E40E94A7AE0E9439
+:103DE00045B16B017C012CA93DA9223031050CF4B1
+:103DF00042C04901AA2497FCA094BA2CC501B40181
+:103E00000E9442AF20E030E040E051E40E94A0AECA
+:103E100087FF31C08091C1139091C213A091C31349
+:103E2000B091C413C816D906EA06FB0620F5BC01FA
+:103E3000CD016C197D098E099F09660F771F881FB8
+:103E4000991FA50194010E947EB2CA01B9010E9486
+:103E500040AF0E9445B16C0D7D1D8E1D9F1D0E94BF
+:103E600040AF9B01AC0160E074E284E799E40E94FA
+:103E7000A7AE2B013C01A301920128966CAD7DAD4C
+:103E80008EAD9FAD28970E9475B16CAF7DAF8EAFA0
+:103E90009FAFD10192966D937D938D939C9395974F
+:103EA00050966D917D918D919C9153970E9440AF5A
+:103EB0006BA37CA38DA39EA3A30192010E9475B165
+:103EC0000E948DAE0E9414AF6B017C01F10160AFC6
+:103ED00071AF82AF93AF8E010F5E1F4F21EB33E1C5
+:103EE00065963FAF2EAF6597AE014F5D5F4F5AA30A
+:103EF00049A3CE01019663969FAF8EAF63971FA231
+:103F00001CA690E898ABAFE3A8A7F8016191719166
+:103F1000819191918F01A30192010E9475B16396E5
+:103F2000AEADBFAD63976D937D938D939D93639677
+:103F3000BFAFAEAF63979B01AC015F7761962CAFCB
+:103F40003DAF4EAF5FAF61976596AEADBFAD6597C4
+:103F50008D909D90AD90BD906596BFAFAEAF6597CB
+:103F6000A501940161966CAD7DAD8EAD9FAD61975D
+:103F70000E94A3B01816F4F461962CAD3DAD4EAD81
+:103F80005FAD6197C501B4010E94A7AEB62EA72E02
+:103F9000982E892E262F372F482F592F6FA17CA5B9
+:103FA00088A998A50E94A0AE87FD04C0BFA2ACA6B8
+:103FB00098AA88A6E9A1FAA10E171F0709F0A5CFB4
+:103FC00020E030E040E85FE36FA17CA588A998A5D8
+:103FD0000E94A0AE87FF3DC05E01F1E1AF0EB11CB3
+:103FE0008E010F5F1F4F2FA13CA548A958A5D801EE
+:103FF0006D917D918D919C910E9475B1F8016193B5
+:104000007193819391938F01EA15FB0561F72FA1BD
+:104010003CA548A958A56CAD7DAD8EAD9FAD0E9465
+:1040200075B1D10192966D937D938D939C939597E5
+:10403000C701B6010E9440AF2FA13CA548A958A5D1
+:104040000E9475B10E9414AFF10160AF71AF82AFF1
+:1040500093AF28962CAD3DAD4EAD5FAD28976BA1CB
+:104060007CA18DA19EA10E94A7AE6B017C0128AD11
+:1040700039AD4AAD5BAD232B242B252B59F5F1012E
+:1040800084819581A681B781892B8A2B8B2B11F591
+:1040900080859185A285B385892B8A2B8B2BD1F4C2
+:1040A0002091851330918613409187135091881386
+:1040B000C701B6010E9475B10E948DAE81010C5BF3
+:1040C0001F4F0E9414AFD8016D937D938D939C93E5
+:1040D0001397F6C02091891330918A1340918B1366
+:1040E00050918C13C701B6010E9475B10E948DAE2C
+:1040F0000E9414AF81010C5B1F4FF8016083718334
+:104100008283938340906513509066136090671389
+:10411000709068130E9440AF4B015C0168AD79ADAF
+:104120008AAD9BAD0E9442AF9B01AC01C501B401B9
+:104130000E9475B12BA13CA14DA15EA10E94A7AE2A
+:104140004B015C01C301B2010E9440AF9B01AC0175
+:10415000C501B4010E94A3B0181634F4D8014D92E1
+:104160005D926D927C9213974090691350906A1300
+:1041700060906B1370906C13F80160817181828183
+:1041800093810E9440AF4B015C01D10114966D9167
+:104190007D918D919C9117970E9442AF9B01AC013C
+:1041A000C501B4010E9475B12BA13CA14DA15EA136
+:1041B0000E94A7AE4B015C01C301B2010E9440AF57
+:1041C0009B01AC01C501B4010E94A3B018162CF4E8
+:1041D000F801408251826282738240907113509044
+:1041E0007213609073137090741381010C5B1F4FF6
+:1041F000D8016D917D918D919C910E9440AF4B01B2
+:104200005C012D966CAD7DAD8EAD9FAD2D970E945E
+:1042100042AF9B01AC01C501B4010E9475B12BA155
+:104220003CA14DA15EA10E94A7AE4B015C01C30160
+:10423000B2010E9440AF9B01AC01C501B4010E94D4
+:10424000A3B018162CF4F801408251826282738266
+:1042500040906D1350906E1360906F1370907013B8
+:10426000D8016D917D918D919C910E9440AF4B0141
+:104270005C01F10160857185828593850E9442AF62
+:104280009B01AC01C501B4010E9475B12BA13CA1F9
+:104290004DA15EA10E94A7AE4B015C01C301B2011A
+:1042A0000E9440AF9B01AC01C501B4010E94A3B0C4
+:1042B000181634F4D8014D925D926D927C9213974A
+:1042C000F101EC5BFF4F60817181828193810E94DB
+:1042D00040AF4B015C01A70196010E94A7AEA596D5
+:1042E0006CAF7DAF8EAF9FAFA597F10162AB73ABA3
+:1042F00084AB95AB2DEB37E346E051E4C501B40147
+:104300000E9475B10E940FAFD1015C966D937D93B1
+:104310008D939C935F97C0908113D0908213E0900F
+:104320008313F090841320E030E040E05FE3C701A6
+:10433000B6010E9475B16BA37FA38C0129853A85D4
+:104340004B855C85A9962CAF3DAF4EAF5FAFA9976B
+:1043500080917D1390917E13A0917F13B091801373
+:104360008CAF9DAFAEAFBFAF20E030E040E05FE389
+:10437000BC01CD010E9475B1B62EA72E982E892EB4
+:10438000A9966CAD7DAD8EAD9FADA9979F772B2D76
+:104390003A2D492D582D0E94A3B018167CF42B2DD0
+:1043A0003A2D492D582D6BA17FA1C8010E94A0AEC6
+:1043B00087FD04C0BBA2AFA2092D182D2D853E8517
+:1043C0004F855889AD962CAF3DAF4EAF5FAFAD97DF
+:1043D0008091791390917A13A0917B13B0917C1303
+:1043E0002D968CAF9DAFAEAFBFAF2D9720E030E0E4
+:1043F00040E05FE3BC01CD010E9475B1B62EA72E4F
+:10440000982E892EAD966CAD7DAD8EAD9FADAD97DE
+:104410009F772B2D3A2D492D582D0E94A3B01816A9
+:104420007CF42B2D3A2D492D582D6BA17FA1C8016D
+:104430000E94A0AE87FD04C0BBA2AFA2092D182D1B
+:10444000D1019296BC91BCA7F101F3A1F8ABD101C7
+:104450009496BC91B8A7F101F5A1F8AF2CA538A9A5
+:104460004B2F5F2F6BA17FA1C8010E94A0AE87FDDB
+:1044700006C02CA52BA338A93FA308A518AD4CA9AD
+:104480005DA9423051050CF405C1509141135CAB5C
+:10449000809142132E968FAF2E9790914313629680
+:1044A0009FAF6297A09144136496AFAF649727E1E2
+:1044B00037EB41ED58E36CA9782F892F9A2F0E9492
+:1044C000A3B018160CF0E6C02091451330914613A6
+:1044D000409147135091481369817A818B819C8167
+:1044E0000E94C6AD2B013C012091491330914A1323
+:1044F00040914B1350914C136D817E818F81988533
+:104500000E94C6AD4B015C01A3019201C301B2013F
+:104510000E9475B12B013C01A5019401C501B401B4
+:104520000E9475B19B01AC01C301B2010E94C7ADED
+:104530000E94E2B14B015C01A70196010E94A3B069
+:1045400018164CF4A5019401C701B6010E94A7AE4C
+:104550005B014C0106C0A12CB12C40E8842E5FE326
+:10456000952E20914D1330914E1340914F13509141
+:104570005013A9966CAD7DAD8EAD9FADA9970E94ED
+:10458000C6AD6B017C01E894F7F82CAD3DAD4EADA6
+:104590005FADC701B6010E94A3B01816D4F4A701FD
+:1045A00096016CAD7DAD8EAD9FAD0E94A7AEF62E8F
+:1045B000E72ED82EC92E262F372F482F592FB50179
+:1045C000C4010E94A0AE87FD04C0AF2CBE2C8D2C70
+:1045D0009C2C2091511330915213409153135091C0
+:1045E0005413AD966CAD7DAD8EAD9FADAD970E9471
+:1045F000C6AD6B017C01E894F7F82D962CAD3DAD6E
+:104600004EAD5FAD2D97C701B6010E94A3B018163D
+:10461000E4F4A70196012D966CAD7DAD8EAD9FADF6
+:104620002D970E94A7AEF62EE72ED82EC92E262F44
+:10463000372F482F592FB501C4010E94A0AE87FD26
+:1046400004C0AF2CBE2C8D2C9C2C9501A4016CA514
+:1046500078A988A598AD0E9475B14B015C019B01BA
+:10466000AC016CA92E967FAD2E9762968FAD6297A6
+:1046700064969FAD64970E94A0AE87FF0EC08CA881
+:104680002E969FAC2E976296AFAC62976496BFACA5
+:10469000649703C08BA09FA05801C401D501F1010C
+:1046A00082A793A7A4A7B5A7A5966CAD7DAD8EAD47
+:1046B0009FADA59790589B01AC010E94C7AD28966D
+:1046C0002CAD3DAD4EAD5FAD28970E9475B19B01FD
+:1046D000AC016BE077ED83E29BE30E94C6AD0E94E4
+:1046E000E2B17B01D82EC92E9B01482F592FB4016E
+:1046F000C5010E94A0AE87FD03C04701AD2CBC2CB4
+:10470000C401D501F10186A397A3A0A7B1A7970182
+:104710004D2D5C2D6CA578A988A598AD0E94A0AE02
+:1047200018162CF081E0D101D7968C9302C0F101CC
+:1047300017AA81E0D101D6968C9380E1FE013196D3
+:10474000A5E4B3E101900D928A95E1F78CA598A9B3
+:10475000A8A5B8AD8093411390934213A09343133F
+:10476000B09344139C01AD016BA17FA1C8010E94CD
+:10477000A7AE6B017C012CA538A948A558ADB401A2
+:10478000C5010E94A7AEAB01BC0197018601C10122
+:104790000E946F962996BFAD2997B0936D0E6996CA
+:1047A0002CAD3DAD4EAD5FAD699720935513309361
+:1047B000561340935713509358136D968CAD9DAD7F
+:1047C000AEADBFAD6D978093591390935A13A093DC
+:1047D0005B13B0935C13A1962CAD3DAD4EAD5FADB8
+:1047E000A19720935D1330935E1340935F13509312
+:1047F000601324968CAD9DADAEADBFAD2497809374
+:10480000611390936213A0936313B09364130E9497
+:10481000249AC459DF4F0FB6F894DEBF0FBECDBF48
+:10482000DF91CF911F910F91FF90EF90DF90CF908C
+:10483000BF90AF909F908F907F906F905F904F90C0
+:104840003F902F900C94F48BC459DF4F0FB6F8941F
+:10485000DEBF0FBECDBFDF91CF911F910F91FF90B3
+:10486000EF90DF90CF90BF90AF909F908F907F9010
+:104870006F905F904F903F902F900895EF92FF922E
+:104880000F931F93CF93DF937B018A01E90120915E
+:10489000A1133091A2134091A3135091A413FC01D2
+:1048A00060817181828193810E9475B10E9445B1BE
+:1048B0006093551370935613809357139093581326
+:1048C0002091A5133091A6134091A7135091A813DE
+:1048D000F70160817181828193810E9475B10E948C
+:1048E00045B16093591370935A1380935B1390935F
+:1048F0005C132091A9133091AA134091AB135091EE
+:10490000AC13F80160817181828193810E9475B13D
+:104910000E9445B160935D1370935E1380935F13A3
+:10492000909360132091AD133091AE134091AF136B
+:104930005091B013688179818A819B810E9475B101
+:104940000E9445B160936113709362138093631367
+:104950009093641321E633E14DE553E169E573E19A
+:1049600085E593E10E944C931092411310924213FB
+:104970001092431310924413109245131092461351
+:1049800010924713109248131092491310924A1331
+:1049900010924B1310924C1310924D1310924E1311
+:1049A00010924F13109250131092511310925213F1
+:1049B0001092531310925413DF91CF911F910F91C6
+:1049C000FF90EF9008952091AD133091AE13409178
+:1049D000AF135091B013FC0160817181828193818A
+:1049E0000E9475B10E9445B1609361137093621388
+:1049F000809363139093641381E693E10C948893FE
+:104A000080916D0E90916C0E891B8F70089560934C
+:104A1000A2027093A3028093A4029093A50208952A
+:104A2000CF92DF92EF92FF920F931F93CF93DF937A
+:104A300000D01F92CDB7DEB7F1E9CF2EF3E1DF2E24
+:104A4000A1EAEA2EA3E1FA2E05E613E1F60161914F
+:104A50007191819191916F01F70121913191419172
+:104A600051917F0129833A834B835C830E9440AF3D
+:104A700029813A814B815C810E9475B10E9414AFFB
+:104A8000F80161937193819391938F01F1EACF16AD
+:104A9000F3E1DF06D9F60F900F900F900F90DF91A2
+:104AA000CF911F910F91FF90EF90DF90CF900895DD
+:104AB0008091F41390E02091F513821B91090895E1
+:104AC0002091F5138091F413281750F4E22FF0E0B1
+:104AD000EA50FC4E808190E02F5F2093F5130895FB
+:104AE0008FEF9FEF0895E091F5138091F413E8178D
+:104AF00030F4F0E0EA50FC4E808190E008958FEFB2
+:104B00009FEF08950895CF92DF92EF92FF920F9357
+:104B10001F93CF93DF937C01CB018A012091D113A6
+:104B2000222389F0EB016B01C40ED51ECC15DD05E7
+:104B300061F06991D701ED91FC910190F081E02D38
+:104B4000C7011995F3CF642F4BD0C801DF91CF91E6
+:104B50001F910F91FF90EF90DF90CF900895CF932A
+:104B6000DF931F92CDB7DEB769832091D113222343
+:104B7000D1F02091D213203240F021E030E0FC014E
+:104B80003383228380E090E014C08091D313E82F18
+:104B9000F0E0EC52FC4E998190838F5F8093D313A9
+:104BA0008093D21304C061E0CE01019619D081E058
+:104BB00090E00F90DF91CF910895FC011382128253
+:104BC00048EE53E060E070E044835583668377836A
+:104BD00086ED95E091838083089585EC93E1EDCF98
+:104BE000613298F420918314243089F4609338144E
+:104BF000FC018AE394E1DC012A2F281B261718F414
+:104C000021912D93F9CF80E0089581E0089582E00D
+:104C1000089585ED8093BC008091BC0084FDFCCF9D
+:104C200010928314089585EC8093BC001092831435
+:104C300008951F920F920FB60F9211240BB60F9288
+:104C40002F933F934F935F936F937F938F939F9394
+:104C5000AF93BF93EF93FF938091B900887F803625
+:104C600009F49CC068F5883209F45BC090F4803187
+:104C700009F454C038F4882309F4F3C0883009F4E7
+:104C80004DC0F2C0883109F44CC0803209F45DC0D7
+:104C9000EBC0803409F468C048F4803309F455C08F
+:104CA000883309F0E1C080931614A7C0803509F459
+:104CB0004FC0883509F45DC0883409F0D5C0D3C031
+:104CC000883909F4C4C0A8F4883709F467C038F4F7
+:104CD000883609F463C0803709F460C0C5C08838DD
+:104CE00009F4B5C0803909F45FC0803809F0BCC050
+:104CF0005BC0803B09F483C038F4803A09F466C095
+:104D0000883A09F47CC0B0C0803C09F4A4C0883C57
+:104D100009F4A1C0883B09F487C0A6C08091821421
+:104D200010C090915B1480915A14981770F5E0911F
+:104D30005B1481E08E0F80935B14F0E0E45AFB4E2D
+:104D400080818093BB0085EC83C0809316148BC058
+:104D5000E0915B1481E08E0F80935B148091BB0027
+:104D6000F0E0E45AFB4E808390915B1480915A14DA
+:104D70006BC0E0915B1481E08E0F80935B14809197
+:104D8000BB00F0E0E45AFB4E8083809181148111D6
+:104D90006AC081E08093801484EA5EC083E08093DF
+:104DA000831410921714CFCF80911714803208F01B
+:104DB0004EC0E091171481E08E0F809317148091FC
+:104DC000BB00F0E0E85EFB4E8083BDCF80911714FE
+:104DD000803230F4E0911714F0E0E85EFB4E108270
+:104DE00018DF6091171470E0E0917C14F0917D144D
+:104DF00088E194E119951092171415DF35C084E00D
+:104E0000809383141092391410923814E0917E1418
+:104E1000F0917F14199580913814811105C081E0BB
+:104E20008093381410923A14E091391481E08E0F77
+:104E300080933914F0E0E65CFB4E80818093BB00E8
+:104E40009091391480913814981708F47CCF85E834
+:104E50008093BC0009C085EC8093BC001092831441
+:104E600003C010921614D5DEFF91EF91BF91AF9160
+:104E70009F918F917F916F915F914F913F912F9172
+:104E80000F900BBE0F900FBE0F901F9018951F93A1
+:104E9000CF93DF93182FEB0161E003D1209711F43A
+:104EA00060E004C0CF3FD10531F461E0812FDF9194
+:104EB000CF911F912FC1E12FF0E0EA54F34E4491BE
+:104EC00050E0FA013197E131F10508F091C0E35863
+:104ED000FF4F0C94BCB284B5806884BDC7BD8DC043
+:104EE00084B5806284BDC8BD88C080918000806820
+:104EF00080938000D0938900C09388007EC0809109
+:104F00008000806280938000D0938B00C0938A00E1
+:104F100074C08091B00080688093B000C093B300EB
+:104F20006CC08091B00080628093B000C093B400E8
+:104F300064C080919000806880939000D093990025
+:104F4000C09398005AC08091900080628093900036
+:104F5000D0939B00C0939A0050C0809190008860CD
+:104F600080939000D0939D00C0939C0046C0809198
+:104F7000A00080688093A0008091A0008F7B809328
+:104F8000A000D093A900C093A80037C08091A000D2
+:104F900080628093A000D093AB00C093AA002DC084
+:104FA0008091A00088608093A000D093AD00C09352
+:104FB000AC0023C080912001806880932001D093B1
+:104FC0002901C093280119C080912001806280933B
+:104FD0002001D0932B01C0932A010FC080912001A2
+:104FE000886080932001D0932D01C0932C0105C0CF
+:104FF000C038D1050CF059CF53CFDF91CF911F911D
+:10500000089590E0FC013197E131F10508F048C0C6
+:10501000E257FF4F0C94BCB2809180008F7703C0A1
+:10502000809180008F7D80938000089584B58F7774
+:1050300002C084B58F7D84BD08958091B0008F77C4
+:1050400003C08091B0008F7D8093B000089580915F
+:1050500090008F7707C0809190008F7D03C0809172
+:105060009000877F8093900008958091A0008F77B3
+:1050700007C08091A0008F7D03C08091A000877F32
+:105080008093A0000895809120018F7707C08091C0
+:1050900020018F7D03C080912001877F80932001B4
+:1050A0000895CF93DF9390E0FC01E45FF24E2491EA
+:1050B000FC01EE59F24E8491882349F190E0880F6B
+:1050C000991FFC01E451F24EA591B4918E52924E7B
+:1050D000FC01C591D4919FB7611108C0F8948C91DF
+:1050E000209582238C93888182230AC0623051F4F8
+:1050F000F8948C91322F309583238C938881822B66
+:10510000888304C0F8948C91822B8C939FBFDF918D
+:10511000CF9108950F931F93CF93DF931F92CDB735
+:10512000DEB7282F30E0F901EA54F34E8491F901FB
+:10513000E45FF24E1491F901EE59F24E049100230E
+:10514000C1F0882319F069835CDF6981E02FF0E00A
+:10515000EE0FFF1FEE52F24EA591B4919FB7F89457
+:105160008C91611103C01095812301C0812B8C9318
+:105170009FBF0F90DF91CF911F910F910895CF9313
+:10518000DF93282F30E0F901EA54F34E8491F901BE
+:10519000E45FF24ED491F901EE59F24EC491CC2362
+:1051A00089F081112EDFEC2FF0E0EE0FFF1FE854A5
+:1051B000F24EA591B4912C912D2381E090E021F441
+:1051C00080E002C080E090E0DF91CF9108951F92CF
+:1051D0000F920FB60F9211242F933F938F939F93AB
+:1051E000AF93BF938091851490918614A0918714FA
+:1051F000B09188143091841423E0230F2D3720F4CC
+:105200000196A11DB11D05C026E8230F0296A11D20
+:10521000B11D209384148093851490938614A093D9
+:105220008714B09388148091891490918A14A09166
+:105230008B14B0918C140196A11DB11D809389141B
+:1052400090938A14A0938B14B0938C14BF91AF9158
+:105250009F918F913F912F910F900FBE0F901F90B4
+:1052600018952FB7F89460918514709186148091E9
+:105270008714909188142FBF08953FB7F8948091B8
+:10528000891490918A14A0918B14B0918C1426B536
+:10529000A89B05C02F3F19F00196A11DB11D3FBF6E
+:1052A0006627782F892F9A2F620F711D811D911DFE
+:1052B00042E0660F771F881F991F4A95D1F708951E
+:1052C000CF92DF92EF92FF92CF93DF936B017C013D
+:1052D000D4DFEB01C114D104E104F10471F0CDDF9E
+:1052E0006C1B7D0B683E7340A8F381E0C81AD1089F
+:1052F000E108F108C851DC4FEDCFDF91CF91FF906D
+:10530000EF90DF90CF9008950197009739F0880FC4
+:10531000991F880F991F02970197F1F708957894C4
+:1053200084B5826084BD84B5816084BD85B58260AA
+:1053300085BD85B5816085BDEEE6F0E08081816048
+:105340008083E1E8F0E01082808182608083808148
+:1053500081608083E0E8F0E0808181608083E1EB20
+:10536000F0E0808184608083E0EBF0E08081816008
+:105370008083E1E9F0E080818260808380818160C8
+:105380008083E0E9F0E0808181608083E1EAF0E001
+:10539000808182608083808181608083E0EAF0E0A8
+:1053A000808181608083E1E2F1E08081826080839E
+:1053B000808181608083E0E2F1E080818160808390
+:1053C000EAE7F0E08081846080838081826080836E
+:1053D0008081816080838081806880831092C10099
+:1053E00008959DDF0E94A93EC0E0D0E00E94C862FF
+:1053F0002097E1F30E940000F9CF3F924F925F9215
+:105400006F927F928F929F92AF92BF92CF92DF92D4
+:10541000EF92FF920F931F93CF93DF9300D01F92D1
+:10542000CDB7DEB78B0129013A019091A6029817FA
+:1054300021F09F3F09F0ABC204C0E6E0FEE13490EA
+:1054400004C18093A602E6E0FEE1E491EF3F09F497
+:105450009EC2E23009F480C074F5EE2309F45BC00B
+:10546000E13009F0F1C0109280001092810090911B
+:105470008100986090938100909181009160909359
+:105480008100282F30E0F901EE59F24EE491F0E06E
+:10549000EE0FFF1FEE52F24E459154915093AB1414
+:1054A0004093AA14F901E45FF24E24912093A914C9
+:1054B00033243394CCC0E43009F49EC00CF474C09F
+:1054C000E53009F0C1C010922001109221019091A5
+:1054D0002101986090932101909121019160909316
+:1054E0002101282F30E0F901EE59F24EE491F0E06D
+:1054F000EE0FFF1FEE52F24E4591549150938F14D0
+:1055000040938E14F901E45FF24E249120938D14A0
+:1055100055E0352E9CC014BC15BC94B5926094BD6A
+:1055200095B5916095BD282F30E0F901EE59F24E06
+:10553000E491F0E0EE0FFF1FEE52F24E45915491D0
+:105540005093B2144093B114F901E45FF24E2491E8
+:105550002093B014312C7BC01092B0001092B10097
+:105560009091B00092609093B0009091B1009160E2
+:105570009093B100282F30E0F901EE59F24EE491FA
+:10558000F0E0EE0FFF1FEE52F24E45915491509312
+:10559000A4144093A314F901E45FF24E24912093E4
+:1055A000A21422E0322E53C010929000109291006B
+:1055B00090919100986090939100909191009160EA
+:1055C00090939100282F30E0F901EE59F24EE491CA
+:1055D000F0E0EE0FFF1FEE52F24E459154915093C2
+:1055E0009D1440939C14F901E45FF24E24912093A2
+:1055F0009B14B3E03B2E2BC01092A0001092A10090
+:105600009091A10098609093A1009091A100916069
+:105610009093A100282F30E0F901EE59F24EE49169
+:10562000F0E0EE0FFF1FEE52F24E45915491509371
+:10563000961440939514F901E45FF24E249120935F
+:10564000941474E0372E03C03E2E37FCA0C161E0F5
+:1056500028DD4801A12CB12C832D8D7F09F0BAC023
+:1056600060E072E18AE790E0A501940169D729839F
+:105670003A834B835C8369017A0181E0C81AD108BF
+:10568000E108F1089FEFC916D104E104F10409F023
+:1056900008F495C060E472E48FE090E0A501940105
+:1056A0004FD769017A01E1E0CE1AD108E108F1088B
+:1056B000F2E03F1218C08FEFC816D104E104F104E4
+:1056C00009F008F483C060E970ED83E090E0A50183
+:1056D000940136D769017A0191E0C91AD108E1082D
+:1056E000F10883E001C082E0EFEFCE16D104E104BF
+:1056F000F10409F008F464C068E478EE81E090E019
+:10570000A50194011DD769017A01F1E0CF1AD108F2
+:10571000E108F1083320D9F082E038121AC09FEF77
+:10572000C916D104E104F10409F008F42EC164E2C1
+:1057300074EF80E090E0A501940102D769017A013D
+:10574000E1E0CE1AD108E108F10885E003C083E06A
+:1057500001C084E0FFEFCF16D104E104F10481F130
+:1057600078F162E17AE780E090E0A5019401E8D663
+:1057700069017A0181E0C81AD108E108F108311005
+:1057800002C084E001C086E09FEFC916D104E104A5
+:10579000F104B1F0A8F0C980DA80EB80FC809AE0D7
+:1057A000F594E794D794C7949A95D1F7E1E0CE1A8F
+:1057B000D108E108F108332031F087E008C081E02A
+:1057C000332011F004C085E085BD50C082E0809395
+:1057D000B1004CC060E072E18AE790E0A50194015D
+:1057E000AFD669017A01F1E0CF1AD108E108F108DA
+:1057F000C114D10481E0E806F10480F068E478EE99
+:1058000081E090E0A50194019BD669017A0191E0C5
+:10581000C91AD108E108F10893E001C091E0E1E084
+:105820003E1207C080918100887F892B8093810080
+:105830001DC0F3E03F1207C080919100887F892B43
+:105840008093910013C084E0381207C08091A100BA
+:10585000887F892B8093A10009C0E5E03E1206C035
+:1058600080912101887F892B80932101411451046B
+:105870006104710461F0D801AA0FBB1FA30192015A
+:1058800087D628EE33E040E050E038D603C02FEF53
+:105890003FEFA901F2E03F1609F443C0F315BCF055
+:1058A000332081F181E0381272C0D0928900C09219
+:1058B00088002093AC143093AD144093AE145093F1
+:1058C000AF1480916F00826080936F0060C094E09D
+:1058D000391609F448C03916A4F1E5E03E1257C064
+:1058E000D0922901C09228012093901430939114F2
+:1058F000409392145093931480917300826080932C
+:10590000730045C0C7BC2093B3143093B4144093C4
+:10591000B5145093B61480916E00826080936E002F
+:1059200036C0C092B3002093A5143093A6144093C0
+:10593000A7145093A8148091700082608093700027
+:1059400026C0D0929900C092980020939E14309364
+:105950009F144093A0145093A11480917100826011
+:105960008093710014C0D092A900C092A800209327
+:105970009714309398144093991450939A148091EB
+:10598000720082608093720002C084E020CF0F908A
+:105990000F900F900F90DF91CF911F910F91FF907B
+:1059A000EF90DF90CF90BF90AF909F908F907F90BF
+:1059B0006F905F904F903F9008958230A9F028F447
+:1059C000882349F0813051F00895843009F1E8F0DE
+:1059D000853009F1089510926E00089580916F004E
+:1059E0008D7F80936F000895809170008D7F8093EC
+:1059F000700081E08093B0008091B100887F846066
+:105A00008093B1001092B300089510927100089530
+:105A1000109272000895109273000895CF93C82FCA
+:105A20008091A6028C1307C0E6E0FEE184919FEF0F
+:105A30009093A60201C08FEFC0DF60E08C2FCF9162
+:105A400069CB1F920F920FB60F9211240BB60F92D3
+:105A50002F933F934F935F936F937F938F939F9376
+:105A6000AF93BF93EF93FF938091A5149091A614E9
+:105A7000A091A714B091A814892B8A2B8B2B51F1DC
+:105A80009091A214E091A314F091A414808189272D
+:105A900080838091A5149091A614A091A714B09131
+:105AA000A814181619061A061B06BCF48091A51432
+:105AB0009091A614A091A714B091A8140197A109E0
+:105AC000B1098093A5149093A614A093A714B09342
+:105AD000A81403C08091A602A1DFFF91EF91BF91AE
+:105AE000AF919F918F917F916F915F914F913F9176
+:105AF0002F910F900BBE0F900FBE0F901F90189517
+:105B0000CF92DF92EF92FF920F931F93CF93DF9389
+:105B10006C017A01EB01E60EF71E00E010E0CE15F5
+:105B2000DF0561F06991D601ED91FC910190F08162
+:105B3000E02DC6011995080F191FF1CFC801DF919B
+:105B4000CF911F910F91FF90EF90DF90CF9008952C
+:105B50006115710581F0DB010D900020E9F7AD01C1
+:105B600041505109461B570BDC01ED91FC9102801D
+:105B7000F381E02D199480E090E00895E9CFDC01F5
+:105B8000ED91FC910190F081E02D19945058BB27C4
+:105B9000AA270ED076C23FD230F044D220F031F4A2
+:105BA0009F3F11F41EF40FC20EF4E095E7FBDCC139
+:105BB000E92F89D280F3BA17620773078407950724
+:105BC00018F071F49EF5B8C20EF4E0950B2EBA2FC2
+:105BD000A02D0B01B90190010C01CA01A0011124F3
+:105BE000FF27591B99F0593F50F4503E68F11A169F
+:105BF000F040A22F232F342F4427585FF3CF469530
+:105C000037952795A795F0405395C9F77EF41F1651
+:105C1000BA0B620B730B840BBAF09150A1F0FF0F1B
+:105C2000BB1F661F771F881FC2F70EC0BA0F621F07
+:105C3000731F841F48F4879577956795B795F795F7
+:105C40009E3F08F0B3CF9395880F08F09927EE0F89
+:105C5000979587950895DFD158F080E891E009F491
+:105C60009EEFE0D128F040E851E059F45EEF09C022
+:105C7000AAC162C2E92FE07826D268F3092E052A6C
+:105C8000C1F3261737074807590738F00E2E07F8D3
+:105C9000E02569F0E025E0640AC0EF6307F80094AE
+:105CA00007FADB01B9019D01DC01CA01AD01EF93E7
+:105CB0005DD0E7D10AD05F91552331F02BED3FE065
+:105CC00049E450FD49EC63CF0895DF93DD27B92FF8
+:105CD000BF7740E85FE31616170648075B0710F426
+:105CE000D92F96D29F938F937F936F93A9D3EEE38F
+:105CF000F1E06CD1C6D12F913F914F915F9101D3CB
+:105D0000DD2349F09058A2EA2AED3FE049EC5FE339
+:105D1000D0785D274DDFDF91B4C1F7D180F09F3798
+:105D200040F491110EF409C260E070E080E89FE356
+:105D3000089526F01B16611D711D811D1BC135C103
+:105D4000EFD008F481E0089575D1E395ABC10CD094
+:105D500098C168D140F05FD130F021F45F3F19F075
+:105D600003C15111EAC12FC1AED198F39923C9F3F0
+:105D70005523B1F3951B550BBB27AA276217730751
+:105D8000840738F09F5F5F4F220F331F441FAA1F05
+:105D9000A9F333D00E2E3AF0E0E830D091505040C5
+:105DA000E695001CCAF729D0FE2F27D0660F771F73
+:105DB000881FBB1F261737074807AB07B0E809F055
+:105DC000BB0B802DBF01FF2793585F4F2AF09E3FEA
+:105DD000510568F0C9C0B1C15F3FECF3983EDCF3F8
+:105DE000869577956795B795F7959F5FC9F7880F63
+:105DF000911D9695879597F90895E1E0660F771FB5
+:105E0000881FBB1F621773078407BA0720F0621B45
+:105E1000730B840BBA0BEE1F88F7E095089504D03E
+:105E20006894B1118AC1089556D188F09F5790F0B7
+:105E3000B92F9927B751A0F0D1F0660F771F881FAF
+:105E4000991F1AF0BA95C9F712C0B13081F074D118
+:105E5000B1E0089571C1672F782F8827B85F39F0B6
+:105E6000B93FCCF3869577956795B395D9F73EF40E
+:105E700090958095709561957F4F8F4F9F4F0895B6
+:105E8000E89409C097FB3EF49095809570956195D4
+:105E90007F4F8F4F9F4F9923A9F0F92F96E9BB278A
+:105EA0009395F695879577956795B795F111F8CF06
+:105EB000FAF4BB0F11F460FF1BC06F5F7F4F8F4F71
+:105EC0009F4F16C0882311F096E911C0772321F067
+:105ED0009EE8872F762F05C0662371F096E8862FFF
+:105EE00070E060E02AF09A95660F771F881FDAF756
+:105EF000880F9695879597F9089507D180F09F3779
+:105F000040F491110EF019C160E070E080E89FEB61
+:105F1000089526F41B16611D711D811D2BC045C0FF
+:105F2000990F0008550FAA0BE0E8FEEF16161706AA
+:105F3000E807F907C0F012161306E407F50798F012
+:105F4000621B730B840B950B39F40A2661F0232B2B
+:105F5000242B252B21F408950A2609F4A140A695A7
+:105F60008FEF811D811D089597F99F6780E870E08C
+:105F700060E00895882371F4772321F09850872BEF
+:105F8000762F07C0662311F499270DC09051862BF8
+:105F900070E060E02AF09A95660F771F881FDAF7A5
+:105FA000880F9695879597F908959F3F31F0915006
+:105FB00020F4879577956795B795880F911D9695ED
+:105FC000879597F908959FEF80EC0895DF93CF931D
+:105FD0001F930F93FF92EF92DF927B018C016894E5
+:105FE00005C0DA2EEF018DD1FE01E894A59125912F
+:105FF000359145915591AEF3EF01DADDFE01970140
+:10600000A801DA9479F7DF90EF90FF900F911F913C
+:10601000CF91DF91089500240A94161617061806EA
+:106020000906089500240A9412161306140605069C
+:106030000895C9CF50D0E8F3E894E0E0BB279F571C
+:10604000F0F02AED3FE049EC06C0EE0FBB0F661FF3
+:10605000771F881F28F0B23A62077307840728F079
+:10606000B25A620B730B840BE3959A9572F78038E2
+:1060700030F49A95BB0F661F771F881FD2F79048A0
+:1060800096CF092E0394000C11F4882352F0BB0F15
+:1060900040F4BF2B11F460FF04C06F5F7F4F8F4F40
+:1060A0009F4F0895EF93E0FF06C0A2EA2AED3FE07C
+:1060B00049EC5FEB7DDDE5DF0F90039401FC905828
+:1060C000EBE6F1E0C7C157FD9058440F551F59F05A
+:1060D0005F3F71F04795880F97FB991F61F09F3FD5
+:1060E00079F087950895121613061406551FF2CFFE
+:1060F0004695F1DF08C0161617061806991FF1CF4E
+:1061000086957105610508940895E5DFA0F0BEE766
+:10611000B91788F4BB279F3860F41616B11D672F96
+:10612000782F8827985FF7CF869577956795B11D6B
+:1061300093959639C8F30895E894BB276627772787
+:10614000CB0197F90895ECDE08F48FEF089563DF33
+:1061500019F068DF09F037CF07CFB901CA0125CFA1
+:106160009F775F77B0DF98F39923B9F35523B9F39D
+:10617000FF27951758F4E52FE91BED3070F75E3BCC
+:1061800010F0F1E41CC09034E0F40AC0E92FE51BE4
+:10619000ED3028F79E3B10F0F1E411C0503488F444
+:1061A000F9EA88232AF09A95660F771F881FDAF795
+:1061B00044232AF05A95220F331F441FDAF79F1BFE
+:1061C0005F1BFF931F930F93FF92EF9279018A0158
+:1061D000BB27AB2F9B01AC0196D09701A801BF93C1
+:1061E0007B018C01AA27BA2FB901CA018CD0AF91CB
+:1061F0009701A801EF90FF900F911F91D9DC41DF2B
+:10620000E1D04F9140FF0895552747FD509509C0B3
+:106210009B01AC0160E070E080E89FE398CDA4CEE4
+:10622000C4CE59DFE8F39923D9F3940F511DBBF382
+:106230009150504094F059F0882332F0660F771F48
+:10624000881F91505040C1F79E3F510544F7880F79
+:10625000911D9695879597F908955F3FACF0983E0C
+:106260009CF0BB27869577956795B79508F4B16044
+:106270009395C1F7BB0F58F711F460FFE8CF6F5F3C
+:106280007F4F8F4F9F4FE3CF58CF25DF58F19E5759
+:1062900058F19851A0F0E9F0983020F5092E99278F
+:1062A000660F771F881F991F0A94D1F712C0062E18
+:1062B000672F782F8827985F11F4000C07C0993F4B
+:1062C000B4F38695779567959395D9F7611D711D00
+:1062D000811D3EF490958095709561957F4F8F4F0D
+:1062E0009F4F0895689429CF27CF0BD0CACE93DE55
+:1062F00028F098DE18F0952309F036CE64CE1124EC
+:106300001CCFE1DEA0F3959FD1F3950F50E0551F10
+:10631000629FF001729FBB27F00DB11D639FAA27FA
+:10632000F00DB11DAA1F649F6627B00DA11D661F49
+:10633000829F2227B00DA11D621F739FB00DA11D6A
+:10634000621F839FA00D611D221F749F3327A00D24
+:10635000611D231F849F600D211D822F762F6A2FC0
+:1063600011249F5750408AF0E1F088234AF0EE0F45
+:10637000FF1FBB1F661F771F881F91505040A9F752
+:106380009E3F510570F0F0CDD8CE5F3FECF3983EC4
+:10639000DCF3869577956795B795F795E7959F5FB9
+:1063A000C1F7FE2B880F911D9695879597F9089553
+:1063B0009F9340DE0F9007FCEE5F74CE11F40EF455
+:1063C00002CEF3CD88DED0F39923D9F3CEF39F57D5
+:1063D000550B87FF38D00024A0E640EA9001805892
+:1063E0005695979528F4805C660F771F881F20F0DC
+:1063F00026173707480730F4621B730B840B2029DC
+:1064000031294A2BA69517940794202531254A2730
+:1064100058F7660F771F881F20F0261737074807A1
+:1064200030F4620B730B840B200D311D411DA095C0
+:1064300081F7B901842F9158880F96958795089513
+:106440009B01AC0152CF91505040660F771F881FBF
+:10645000D2F708959F938F937F936F93FF93EF935A
+:106460009B01AC0142DFEF91FF91B0DD2F913F9195
+:106470004F915F913ACFDB018F939F9389D0BF916A
+:10648000AF91A29F800D911DA39F900DB29F900D83
+:106490001124089587FB082E062687FD819567FD48
+:1064A00061958AD00EF4919507FC81950895AA1BF9
+:1064B000BB1B51E107C0AA1FBB1FA617B70710F0EF
+:1064C000A61BB70B881F991F5A95A9F78095909521
+:1064D000BC01CD01089597FB072E16F4009406D059
+:1064E00077FD08D0E4DF07FC05D03EF49095819558
+:1064F0009F4F0895709561957F4F0895A1E21A2EE0
+:10650000AA1BBB1BFD010DC0AA1FBB1FEE1FFF1F57
+:10651000A217B307E407F50720F0A21BB30BE40BA7
+:10652000F50B661F771F881F991F1A9469F76095EE
+:106530007095809590959B01AC01BD01CF010895A8
+:10654000052E97FB16F400940FD057FD05D0D6DF2B
+:1065500007FC02D046F408C050954095309521952F
+:106560003F4F4F4F5F4F089590958095709561957F
+:106570007F4F8F4F9F4F0895EE0FFF1F0590F491AF
+:10658000E02D199425D0B7FF0895821B930B089531
+:106590001FD0A59F900DB49F900DA49F800D911DBD
+:1065A00011240895B7FFF4CFF3DF821B930B0895F6
+:1065B0000790F691E02D1994991B79E004C0991F7A
+:1065C000961708F0961B881F7A95C9F7809508954D
+:1065D000A29FB001B39FC001A39F700D811D112424
+:1065E000911DB29F700D811D1124911D08958F92F0
+:1065F0009F92AF92BF92CF92DF92EF92FF920F9352
+:106600001F93CF93DF938B016115710521F0DB019F
+:106610008C9311969C93EC015E01BFEFAB1ABB0A01
+:106620007501C8808C2D90E07BD2892B11F0E5019B
+:10663000F3CFEDE2CE1208C07E01F2E0EF0EF11CC6
+:10664000C980DD24D39409C02BE2C21205C07E01AB
+:1066500042E0E40EF11CC980D12CE701219743E010
+:1066600050E06FE07EE1CE0172D2892BB9F423961F
+:1066700045E050E06AE07EE1CE0169D2892B09F461
+:1066800025960115110519F0D801CD93DC93D11091
+:1066900000C160E070E080E89FE704C143E050E0A3
+:1066A00067E07EE1CE0153D2892B59F40115110523
+:1066B00009F4F4C0B2E0EB0EF11CF801F182E082C3
+:1066C000EDC0F70160E070E0CB01C0E0D0E07F01F9
+:1066D000A0EDAA2EAC0C29E02A1528F14D2D426020
+:1066E000B42E2D2D2870D2FE04C0211124C0219675
+:1066F00022C021112197A5E0B0E09B01AC0148DF49
+:10670000660F771F881F991F6A0D711D811D911DCE
+:106710006839A9E97A078A07A9E19A0760F0BD2DCF
+:10672000B660BB2E08C02EEFA2120AC0D3FC50C028
+:106730004D2D4860B42E3196D701CC90DB2CC7CFBD
+:106740002C2D2F7D253409F043C0A081AD3241F4BA
+:10675000BD2DB061DB2E7F0122E0E20EF11C0CC0EA
+:106760007F01AB3231F04FEFE41AF40A21E030E060
+:1067700006C0A2E0EA0EF11CA18122E030E0A053A5
+:10678000AA3018F0E21AF30A23C0F70120E030E043
+:106790002038BCE03B075CF4A901440F551F440FAF
+:1067A000551F240F351F220F331F2A0F311DAF0134
+:1067B0004F5F5F4F7A01A081A053AA3010F4FA0115
+:1067C000E7CFD4FE03C0319521953109C20FD31F05
+:1067D000D1FE09C00115110531F0E1E0EE1AF10812
+:1067E000D801ED92FC924CDB2D2D2370233019F053
+:1067F0004B015C0106C04B015C01B7FAB094B7F8DD
+:10680000B09420E030E0A901C501B40199DA8823F1
+:1068100009F43CC0D7FF06C0D195C195D10906E265
+:106820001EE102C00EE31EE16801B8E1CB1AD108F7
+:1068300090E2E92EF12CCE15DF056CF0F8012591E0
+:10684000359145915491C501B4014FDD4B015C0177
+:10685000CE19DF09F0CF04501109F594E7940C1517
+:106860001D0549F78A2D880F8B2D881F8F3F41F01A
+:1068700020E030E0A901C501B40162DA811106C04F
+:1068800082E290E09093BC148093BB14C501B401E4
+:1068900009C060E070E080E89FEF04C060E070E055
+:1068A00080EC9FE7DF91CF911F910F91FF90EF90C8
+:1068B000DF90CF90BF90AF909F908F9008952F92D0
+:1068C0003F925F926F927F928F929F92AF92BF9210
+:1068D000CF92DF92EF92FF920F931F93CF93DF93AC
+:1068E0008B01EA016115710521F0DB018C93119692
+:1068F0009C93209739F09E012250310923323105B3
+:1069000008F0F8C07C016701BFEFCB1ADB0A560123
+:10691000F7016080862D90E003D1892B11F076017C
+:10692000F2CFFDE26F120AC0570182E0A80EB11C3F
+:10693000D70111966C90772473940BC0BBE26B1255
+:1069400007C05701E2E0AE0EB11CD70111966C9062
+:10695000712CCE018F7E892B89F4B0E36B1222C09B
+:10696000F50180818F7D883541F56180F2E0AF0EC1
+:10697000B11C872D8260782EC0E1D0E0C830D105EF
+:10698000F1F04CF4C230D10511F5C12CD12CE12C21
+:10699000B0E4FB2E2EC0CA30D10531F0C031D10594
+:1069A00019F115C0209751F7CAE0D0E0ACECCA2E1F
+:1069B000DC2CEC2CACE0FA2E1CC02097F9F6C8E0D9
+:1069C000D0E0C12CD12CE12CF0E1FF2E12C060E010
+:1069D00070E080E090E89E01442737FD4095542FF9
+:1069E0008DDD69017A0105C0C12CD12CE12CE8E0D4
+:1069F000FE2EF50160E020E030E0A9014E01AA245E
+:106A000097FCA094BA2C1F0170ED572E560CA9E0EC
+:106A1000A51570F48FEB860D8A3118F499EC592E78
+:106A200006C08FE9860D8A3128F589EA582E560C62
+:106A3000852D90E08C179D07ECF467FD17C0C216FA
+:106A4000D306E406F50678F0C501B40114DD9B0118
+:106A5000AC01250D311D411D511D21303105410570
+:106A6000B0E85B0710F06FEF01C061E03196D10133
+:106A70006C90C9CF872D81700115110571F06623C7
+:106A800029F03197D801ED93FC9307C071FE19C02E
+:106A90003297D801ED93FC9314C067FF12C088238E
+:106AA00029F020E030E040E050E804C02FEF3FEF55
+:106AB0004FEF5FE782E290E09093BC148093BB14A9
+:106AC00016C0882341F050954095309521953F4F51
+:106AD0004F4F5F4F0CC057FF0AC082E290E0909387
+:106AE000BC148093BB142FEF3FEF4FEF5FE7B9016A
+:106AF000CA0104C060E070E080E090E0DF91CF91D7
+:106B00001F910F91FF90EF90DF90CF90BF90AF90CB
+:106B10009F908F907F906F905F903F902F900895FF
+:106B20009111E5C2803219F089508550D0F708954F
+:106B30009111089581548A5108F4805E855A089510
+:106B4000FB01DC0105900D920020E1F70895FB01A7
+:106B5000DC014150504088F08D9181341CF08B3520
+:106B60000CF4805E659161341CF06B350CF4605E52
+:106B7000861B611171F3990B0895881BFCCFFB01F3
+:106B8000DC014150504048F005900D920020C9F7BB
+:106B900001C01D9241505040E0F70895FB0155910E
+:106BA0005523A9F0BF01DC014D9145174111E1F7D3
+:106BB00059F4CD010590002049F04D914015411147
+:106BC000C9F3FB014111EFCF81E090E001970895F7
+:106BD000FB01DC0104C08D910190801921F441502A
+:106BE0005040C8F7881B990B0895FB01DC0102C0D7
+:106BF00001900D9241505040D8F70895DC0101C03A
+:106C00006D9341505040E0F70895FB01DC018D91F8
+:106C100081341CF08B350CF4805E619161341CF082
+:106C20006B350CF4605E861B611189F3990B089536
+:106C3000FB01DC010D900020E9F7119701900D9206
+:106C40000020E1F70895FC018191861721F0882347
+:106C5000D9F7992708953197CF010895FB01DC01F9
+:106C60008D91019080190110D9F3990B0895FB01C2
+:106C7000DC0101900D920020E1F70895FB01DC0199
+:106C80004150504030F08D910190801919F400204E
+:106C9000B9F7881B990B0895FB01DC014150504066
+:106CA00048F001900D920020C9F701C01D9241509B
+:106CB0005040E0F708950F931F93CF93DF93CDB724
+:106CC000DEB72E970FB6F894DEBF0FBECDBF0E898C
+:106CD0001F898EE08C831A8309838FEF9FE79E8341
+:106CE0008D83AE01465E5F4F688D798DCE01019632
+:106CF00010D0EF81F885E00FF11F10822E960FB6AD
+:106D0000F894DEBF0FBECDBFDF91CF911F910F91E1
+:106D100008952F923F924F925F926F927F928F923F
+:106D20009F92AF92BF92CF92DF92EF92FF920F931A
+:106D30001F93CF93DF93CDB7DEB72C970FB6F894A0
+:106D4000DEBF0FBECDBF7C016B018A01FC01178243
+:106D50001682838181FFB0C1CE0101964C01F701FB
+:106D60009381F60193FD859193FF81916F018823B3
+:106D700009F49EC1853239F493FD859193FF819189
+:106D80006F01853221F4B70190E0CAD1E8CF512CD0
+:106D9000312C20E02032A0F48B3269F030F48032C4
+:106DA00059F0833269F420612CC08D3239F0803380
+:106DB00039F4216026C02260246023C0286021C0ED
+:106DC00027FD27C030ED380F3A3078F426FF06C093
+:106DD000FAE05F9E300D1124532E13C08AE0389ED6
+:106DE000300D1124332E20620CC08E3221F426FD8A
+:106DF0005FC1206406C08C3611F4206802C088365A
+:106E000041F4F60193FD859193FF81916F0181110A
+:106E1000C1CF982F9F7D9554933028F40C5F1F4F5E
+:106E2000FFE3F9830DC0833631F0833771F083358A
+:106E300009F057C021C0F801808189830E5F1F4F80
+:106E400044244394512C540114C03801F2E06F0ED5
+:106E5000711CF801A080B18026FF03C0652D70E091
+:106E600002C06FEF7FEFC5012C874FD12C0183014A
+:106E70002C852F77222E16C03801F2E06F0E711C80
+:106E8000F801A080B18026FF03C0652D70E002C02C
+:106E90006FEF7FEFC5012C872DD12C012C85206849
+:106EA000222E830123FC19C0832D90E04816590639
+:106EB000A0F4B70180E290E033D13A94F5CFF50128
+:106EC00027FC859127FE81915F01B70190E028D1D1
+:106ED00031103A94F1E04F1A51084114510479F7F6
+:106EE000DEC0843611F0893631F5F80127FF07C07E
+:106EF00060817181828193810C5F1F4F08C0608126
+:106F00007181882777FD8095982F0E5F1F4F2F7610
+:106F1000B22E97FF09C090958095709561957F4F2F
+:106F20008F4F9F4F2068B22E2AE030E0A4012AD173
+:106F3000A82EA81843C0853729F42F7EB22E2AE048
+:106F400030E025C0F22FF97FBF2E8F36C1F018F444
+:106F5000883579F0ADC0803719F0883721F0A8C0A6
+:106F60002F2F2061B22EB4FE0DC08B2D8460B82E61
+:106F700009C024FF0AC09F2F9660B92E06C028E0E2
+:106F800030E005C020E130E002C020E132E0F8014D
+:106F9000B7FE07C060817181828193810C5F1F4FB2
+:106FA00006C06081718180E090E00E5F1F4FA401F8
+:106FB000E9D0A82EA818FB2DFF77BF2EB6FE0BC078
+:106FC0002B2D2E7FA51450F4B4FE0AC0B2FC08C0CD
+:106FD0002B2D2E7E05C07A2C2B2D03C07A2C01C0C0
+:106FE000752C24FF0DC0FE01EA0DF11D8081803358
+:106FF00011F4297E09C022FF06C07394739404C063
+:10700000822F867809F0739423FD12C020FF06C0FA
+:107010005A2C731418F4530C5718732C731460F40F
+:10702000B70180E290E02C877BD073942C85F6CF5B
+:10703000731410F4371801C0312C24FF11C0B701AC
+:1070400080E390E02C876CD02C8522FF16C021FFB6
+:1070500003C088E590E002C088E790E0B7010CC06B
+:10706000822F867851F021FD02C080E201C08BE2C0
+:1070700027FD8DE2B70190E053D0A51430F4B7019D
+:1070800080E390E04DD05A94F8CFAA94F401EA0D31
+:10709000F11D8081B70190E043D0A110F6CF3320DD
+:1070A00009F45DCEB70180E290E03AD03A94F7CF90
+:1070B000F7018681978102C08FEF9FEF2C960FB664
+:1070C000F894DEBF0FBECDBFDF91CF911F910F911E
+:1070D000FF90EF90DF90CF90BF90AF909F908F90F8
+:1070E0007F906F905F904F903F902F9008959927D9
+:1070F00088270895FC010590615070400110D8F771
+:10710000809590958E0F9F1F0895FC0161507040EF
+:1071100001900110D8F7809590958E0F9F1F0895CC
+:107120000F931F93CF93DF93182F092FEB018B81C0
+:1071300081FD03C08FEF9FEF20C082FF10C04E8102
+:107140005F812C813D81421753077CF4E881F981EE
+:107150009F012F5F3F4F39832883108306C0E88546
+:10716000F985812F1995892B29F72E813F812F5F72
+:107170003F4F3F832E83812F902FDF91CF911F911F
+:107180000F910895FA01AA27283051F1203181F199
+:10719000E8946F936E7F6E5F7F4F8F4F9F4FAF4F1F
+:1071A000B1E03ED0B4E03CD0670F781F891F9A1F32
+:1071B000A11D680F791F8A1F911DA11D6A0F711DE6
+:1071C000811D911DA11D20D009F468943F912AE0F2
+:1071D000269F11243019305D3193DEF6CF010895DA
+:1071E000462F4770405D4193B3E00FD0C9F7F6CF0B
+:1071F000462F4F70405D4A3318F0495D31FD4052D3
+:10720000419302D0A9F7EACFB4E0A6959795879568
+:1072100077956795BA95C9F7009761057105089547
+:107220009B01AC010A2E06945795479537952795F3
+:10723000BA95C9F7620F731F841F951FA01D08958B
+:107240001EE1C8E4DEE100E005C022970109FE016D
+:107250000BBFAED9CA34D10780E00807B1F7F89464
+:02726000FFCF5E
+:107262000000BD1420000A01FF3FFF3F0000803FE5
+:107272008145644325DF363E33334B410160EA00EA
+:10728200000080BB440101000000410000344200C4
+:1072920000504100004040000056430000464300B9
+:1072A20000494300000000000000001F856B3E0003
+:1072B20000803F00004040640064006400640000FD
+:1072C200803B4500803B4500007043000000000207
+:1072D200248050727573612069332072656164790C
+:1072E2002E0000000000003200FA006400DC005AA8
+:1072F20000F0006400FE0001010101015203C2011D
+:107302000E0100003E43FF00004000140054000044
+:107312001F1511151F00000C12120C0000000004B2
+:107322000A0A0A0A11110E040E1F041C00000000B2
+:1073320006191803130C00001C1F11111F00001C5A
+:1073420010181705060500000E1315110E00000097
+:1073520000C8420000C84200007A450040034400D1
+:1073620000FA430000FA43000040400000C84128F0
+:10737200230000282300001E000000102700001038
+:1073820010101010504944204175746F74756E6569
+:1073920020737461727400504944204175746F7493
+:1073A200756E65206661696C65642E204261642099
+:1073B2006578747275646572206E756D6265722E81
+:1073C2000000000000362A80AD2F0043616E6E6F10
+:1073D20074206F70656E2073756264697200534425
+:1073E2002D5052494E54494E472020202020202023
+:1073F2002020004D313132004D32323120496E763B
+:10740200616C696420657874727564657220004DE0
+:1074120032313820496E76616C6964206578747205
+:107422007564657220004D31303920496E76616C89
+:10743200696420657874727564657220004D31301C
+:107442003520496E76616C69642065787472756462
+:10745200657220004D31303420496E76616C69646A
+:1074620020657874727564657220005452494747EA
+:1074720045524544006F70656E00322E322E310047
+:107482003330302D3161005265706F7274696E67EE
+:1074920020656E6473746F70207374617475730009
+:1074A2004D32303020496E76616C696420657874A3
+:1074B200727564657220006F6B0020703A0020695B
+:1074C2003A0020643A0020633A005400496E766123
+:1074D2006C696420657874727564657200416374C6
+:1074E2006976652045787472756465723A20000089
+:1074F200000100250030001D000C0018002400319E
+:10750200001C000B00170023002F001B000A001EA6
+:107512000047000400080022002B001A0003003676
+:107522000037003500380058595A454552524F52DB
+:107532003A005072656865617420746865206E6FE8
+:107542007A7A6C6521004368616E67696E672066AE
+:10755200696C616D656E742100496E736572742089
+:1075620066696C616D656E7400416E64207072654F
+:10757200737320746865206B6E6F62004368616E7E
+:107582006765207375636365737321004C6F616473
+:10759200696E6720636F6C6F7200506C6561736512
+:1075A2002077616974004C6F6164696E6720666957
+:1075B2006C616D656E74005072696E742061626FE9
+:1075C20072746564004368616E67656420636F72FC
+:1075D200726563746C793F005965730046696C612A
+:1075E2006D656E74206E6F74206C6F6164656400EB
+:1075F200436F6C6F72206E6F7420636C65617200F2
+:107602003E0020205A0000803B4500803B450000A0
+:1076120070430000704200000000318B80AD537453
+:1076220065707261746520746F6F20686967683A6B
+:10763200200000000000AFA583A558A560A573A592
+:0276420082A51F
+:00000001FF

+ 5992 - 0
hex_files/300-RAMBo1-3a-cz.hex

@@ -0,0 +1,5992 @@
+:100000000C94250F0C94560F0C94560F0C94560F0D
+:100010000C94560F0C94560F0C94560F0C94560FCC
+:100020000C94560F0C94560F0C94560F0C94560FBC
+:100030000C94560F0C9421AD0C94560F0C94560F43
+:100040000C94560F0C94FA8B0C94560F0C94560F7C
+:100050000C94560F0C94560F0C9439260C94E7A868
+:100060000C94560F0C940D890C94560F0C94560F4B
+:100070000C94560F0C94560F0C94560F0C94560F6C
+:100080000C94560F0C94560F0C94560F0C94560F5C
+:100090000C94560F0C94560F0C94560F0C9419A6F2
+:1000A0000C94560F0C94560F0C94560F0C94560F3C
+:1000B0000C94560F0C94560F0C94560F0C94560F2C
+:1000C0000C94560F0C94560F0C94560F0C94560F1C
+:1000D0000C94560F0C94560F0C94560F0C94560F0C
+:1000E0000C94560F86269426B026BE26D826E626E1
+:1000F0000027042706270A2712276BA770A775A7D2
+:100100007FA7F8A789A791A799A7A3A7ADA7B7A786
+:10011000C6A7D0A7F8A7DAA7E4A7EEA716A819A83C
+:100120000CA810A850A81DA821A827A82BA82FA864
+:1001300035A839A83DA850A843A847A84BA8084A05
+:10014000D73B3BCE016E84BCBFFDC12F3D6C7431EB
+:100150009ABD56833DDA3D00C77F11BED9E4BB4C42
+:100160003E916BAAAABE000000803F05A84CCDB20C
+:10017000D44EB93836A9020C50B9918688083CA6ED
+:10018000AAAA2ABE000000803F007C3C3E5E2B3DB8
+:100190003F2F5B5D3B2C2A225C004572723A204D5A
+:1001A000415854454D50204245440054656D70659A
+:1001B000726174757265206865617465642062653A
+:1001C00064207377697463686564206F66662E20A7
+:1001D0004D415854454D502074726967676572658A
+:1001E00064202121004572723A204D494E54454DFC
+:1001F00050003A204578747275646572207377698F
+:100200007463686564206F66662E204D494E5445C0
+:100210004D502074726967676572656420210045DE
+:1002200072723A204D415854454D50003A2045785D
+:10023000747275646572207377697463686564208D
+:100240006F66662E204D415854454D50207472699A
+:10025000676765726564202100202D20496E7661F4
+:100260006C6964206578747275646572206E756D52
+:10027000626572202100504944204175746F747585
+:100280006E652066696E69736865642120507574B7
+:1002900020746865206C617374204B702C204B694E
+:1002A00020616E64204B6420636F6E7374616E74A2
+:1002B000732066726F6D2061626F766520696E745F
+:1002C0006F20436F6E66696775726174696F6E2E19
+:1002D0006800504944204175746F74756E652066DE
+:1002E00061696C6564212074696D656F75740020A7
+:1002F000403A006F6B20543A006F6B20423A005036
+:100300004944204175746F74756E65206661696C2F
+:100310006564212054656D70657261747572652025
+:10032000746F6F206869676800204B643A20002072
+:100330004B693A2000204B703A200020436C6173D7
+:100340007369632050494420002054753A200020EE
+:100350004B753A2000206D61783A2000206D696E5F
+:100360003A200020643A200020626961733A20003C
+:1003700070012C0190012701B0012201C0011D0173
+:10038000F00118011002130130020E016002090190
+:1003900090020401C002FF000003FA004003F500D0
+:1003A0008003F000D003EB002004E6007004E100BD
+:1003B000E004DC004005D700C005D2004006CD00B7
+:1003C000D006C8008007C3003008BE00F008B9009E
+:1003D000C009B400B00AAF00B00BAA00D00CA50051
+:1003E000000EA000500F9B00C0109600501291000C
+:1003F00000148C00C0158700B0178200B0197D0072
+:10040000D01B7800001E730040206E00902269000F
+:10041000F024640040275F0090295A00E02B55002B
+:10042000102E500020304B0010324600E0334100C7
+:1004300090353C001037370070383200A0392D005D
+:10044000B03A2800A03B2300603C1E00103D19007C
+:10045000903D1400103E0F00703E0A00C03E0500A3
+:10046000003F00004D383420582059205A204500C4
+:1004700043616E6E6F7420656E7465722073756271
+:100480006469723A20004D3234004D3233202573B6
+:10049000006175746F25692E67006572726F722036
+:1004A00077726974696E6720746F2066696C650085
+:1004B0004E6F74205344207072696E74696E6700C9
+:1004C0002F005344207072696E74696E67206279E0
+:1004D000746520002E0044656C6574696F6E20663B
+:1004E00061696C65642C2046696C653A2000466938
+:1004F0006C652064656C657465643A002E006F70ED
+:10050000656E206661696C65642C2046696C653A8D
+:10051000200057726974696E6720746F2066696C79
+:10052000653A20002E006F70656E206661696C650B
+:10053000642C2046696C653A20002E006F70656E51
+:10054000206661696C65642C2046696C653A200000
+:1005500046696C652073656C65637465640020533F
+:10056000697A653A200046696C65206F70656E6532
+:10057000643A20002E006F70656E206661696C65BC
+:10058000642C2046696C653A20004E6F77206672B5
+:100590006573682066696C653A20004E6F77206449
+:1005A0006F696E672066696C653A20002220706F63
+:1005B00073002220706172656E743A2200535542B6
+:1005C000524F5554494E452043414C4C2074617262
+:1005D0006765743A2200747279696E6720746F20BF
+:1005E00063616C6C207375622D67636F6465206650
+:1005F000696C6573207769746820746F6F206D6112
+:100600006E79206C6576656C732E204D4158206C98
+:100610006576656C2069733A0053442063617264A7
+:10062000206F6B006F70656E526F6F74206661692A
+:100630006C656400766F6C756D652E696E697420EB
+:100640006661696C656400534420696E6974206654
+:1006500061696C0000002110422063308440A55085
+:10066000C660E770088129914AA16BB18CC1ADD1F8
+:10067000CEE1EFF13112100273325222B5529442A0
+:10068000F772D662399318837BB35AA3BDD39CC348
+:10069000FFF3DEE36224433420040114E664C774EC
+:1006A000A44485546AA54BB528850995EEE5CFF598
+:1006B000ACC58DD55336722611163006D776F66640
+:1006C0009556B4465BB77AA719973887DFF7FEE7E8
+:1006D0009DD7BCC7C448E5588668A778400861180C
+:1006E00002282338CCC9EDD98EE9AFF94889699938
+:1006F0000AA92BB9F55AD44AB77A966A711A500AE0
+:10070000333A122AFDDBDCCBBFFB9EEB799B588B87
+:100710003BBB1AABA66C877CE44CC55C222C033C2B
+:10072000600C411CAEED8FFDECCDCDDD2AAD0BBDD7
+:10073000688D499D977EB66ED55EF44E133E322E7F
+:10074000511E700E9FFFBEEFDDDFFCCF1BBF3AAF27
+:10075000599F788F8891A981CAB1EBA10CD12DC185
+:100760004EF16FE18010A100C230E320045025401B
+:1007700046706760B9839893FBA3DAB33DC31CD37B
+:100780007FE35EF3B1029012F322D232354214526B
+:1007900077625672EAB5CBA5A89589856EF54FE5C7
+:1007A0002CD50DC5E234C324A014810466744764BB
+:1007B00024540544DBA7FAB79987B8975FE77EF71B
+:1007C0001DC73CD7D326F2369106B016576676760B
+:1007D000154634564CD96DC90EF92FE9C899E989E7
+:1007E0008AB9ABA94458654806782768C018E1085B
+:1007F0008238A3287DCB5CDB3FEB1EFBF98BD89BBB
+:10080000BBAB9ABB754A545A376A167AF10AD01AAA
+:10081000B32A923A2EFD0FED6CDD4DCDAABD8BAD06
+:10082000E89DC98D267C076C645C454CA23C832CFA
+:10083000E01CC10C1FEF3EFF5DCF7CDF9BAFBABF5A
+:10084000D98FF89F176E367E554E745E932EB23E4A
+:10085000D10EF01E53544F505045442E200050727C
+:10086000696E7465722073746F707065642064754E
+:100870006520746F206572726F72732E20466978DE
+:1008800020746865206572726F7220616E642075D5
+:100890007365204D39393920746F20726573746126
+:1008A00072742E202854656D70657261747572655E
+:1008B0002069732072657365742E205365742069F6
+:1008C00074206166746572207265737461727469F4
+:1008D0006E6729004B494C4C45442E2000507269EC
+:1008E0006E7465722068616C7465642E206B696C2F
+:1008F0006C28292063616C6C656421006F6B005269
+:100900006573656E643A20002200556E6B6E6F77DA
+:100910006E20636F6D6D616E643A2022004D32323D
+:100920003020532569005A204F6666736574203A5B
+:1009300020007A5F6D61783A20007A5F6D696E3AC7
+:1009400020005A204F6666736574005A204F666611
+:10095000736574206F6B002200556E6B6E6F776E3F
+:1009600020636F6D6D616E643A2022007A5F6D6165
+:10097000783A20007A5F6D696E3A2000795F6D6188
+:10098000783A2000795F6D696E3A2000785F6D617A
+:10099000783A2000785F6D696E3A2000205A3A005C
+:1009A00020593A0020436F756E7420583A20002079
+:1009B000453A00205A3A0020593A00583A00464930
+:1009C000524D574152455F4E414D453A4D61726C13
+:1009D000696E2056312E302E323B20537072696E74
+:1009E0007465722F6772626C206D61736875702018
+:1009F000666F722067656E36204649524D574152E8
+:100A0000455F55524C3A68747470733A2F2F67697A
+:100A1000746875622E636F6D2F4D61726C696E46DE
+:100A200069726D776172652F4D61726C696E2050CD
+:100A3000524F544F434F4C5F56455253494F4E3AD5
+:100A4000312E30204D414348494E455F5459504561
+:100A50003A50727573612069332045585452554499
+:100A600045525F434F554E543A3120555549443A0B
+:100A700030303030303030302D303030302D30307C
+:100A800030302D303030302D30303030303030306C
+:100A9000303030300A005072757361206933204F56
+:100AA00066662E005072757361206933207265612D
+:100AB00064792E0042656420646F6E652E002042CA
+:100AC0003A0020453A00543A004265642048656186
+:100AD00074696E672E0048656174696E6720646F83
+:100AE0006E652E0020573A0020453A00543A0048DF
+:100AF000656174696E672E2E2E002042403A0020F8
+:100B0000403A00202F003A00205400202F002042BD
+:100B10003A00202F006F6B20543A002569206D6940
+:100B20006E2C2025692073656300456E642066691C
+:100B30006C65206C69737400426567696E20666934
+:100B40006C65206C697374004E6F206D6F76652E36
+:100B50000050727573612069332072656164792E6B
+:100B600000526573756D696E67207072696E7400EE
+:100B70005761697420666F7220757365722E2E2E10
+:100B800000536C6565702E2E2E00256920686F75E8
+:100B90007273202569206D696E7574657300446FEA
+:100BA0006E65207072696E74696E672066696C6527
+:100BB0000053544F505045442E20005072696E74BB
+:100BC00065722073746F707065642064756520743D
+:100BD0006F206572726F72732E2046697820746878
+:100BE00065206572726F7220616E64207573652076
+:100BF0004D39393920746F20726573746172742EA7
+:100C0000202854656D706572617475726520697312
+:100C10002072657365742E20536574206974206199
+:100C2000667465722072657374617274696E672987
+:100C3000004E6F204C696E65204E756D62657220A6
+:100C40007769746820636865636B73756D2C204CDD
+:100C5000617374204C696E653A20004E6F204368C2
+:100C600065636B73756D2077697468206C696E6558
+:100C7000206E756D6265722C204C617374204C6916
+:100C80006E653A2000636865636B73756D206D69EE
+:100C9000736D617463682C204C617374204C696EB1
+:100CA000653A20004C696E65204E756D6265722054
+:100CB0006973206E6F74204C617374204C696E658B
+:100CC000204E756D6265722B312C204C617374203F
+:100CD0004C696E653A20004D31313000446F6E65CD
+:100CE00020736176696E672066696C652E006F6B94
+:100CF000004D3239002020506C616E6E6572427575
+:100D00006666657242797465733A200020467265A2
+:100D100065204D656D6F72793A200044656320321D
+:100D200033203230313500436F6D70696C65643A41
+:100D30002000286E6F6E652C2064656661756C748A
+:100D400020636F6E6669672900207C204175746896
+:100D50006F723A20004465632032332032303135DF
+:100D60002031353A34383A343600204C61737420DF
+:100D7000557064617465643A2000312E302E320063
+:100D80004D61726C696E0020536F66747761726595
+:100D900020526573657400205761746368646F67DF
+:100DA000205265736574002042726F776E206F75F4
+:100DB00074205265736574002045787465726E61A5
+:100DC0006C20526573657400506F776572557000C2
+:100DD0007374617274002200656E717565696E6767
+:100DE0002022002200656E717565696E6720220001
+:100DF000FFFFFF0000A0400000A0400000004000F6
+:100E0000005643000046431FC54843000000000051
+:100E10000000001F856B3E00005643000046430063
+:100E200000494300000000000000001F856B3E6584
+:100E300063686F3A004572726F723A004361726480
+:100E40002072656D6F766564004361726420696E1F
+:100E50007365727465640047312045343020463133
+:100E60003030004731204536352046343030004D93
+:100E7000383300473120452D38302046343030009B
+:100E80004D3833002D2D3A2D2D002D2D2D0053449E
+:100E9000000120000120004D363030004368616EB3
+:100EA00067652066696C616D656E7400466C6F776E
+:100EB00000466C6F770046616E2073706565640054
+:100EC00046616E207370656564004265640042652A
+:100ED00064004E6F7A7A6C65004E6F7A7A6C6500AA
+:100EE0005370656564005370656564004D61696E9B
+:100EF00000436F6F6C646F776E00464C4558202D31
+:100F000020203235302F35300050502020202D2029
+:100F1000203235342F3130300048495053202D20B5
+:100F2000203232302F3130300050455420202D20D7
+:100F3000203234302F393000504C4120202D2020D9
+:100F40003232302F35300041425320202D202032C4
+:100F500038352F313030004D61696E004D38340026
+:100F60004D383420582059205A2045004D32340045
+:100F70004D323320257300052E2E004D61696E0021
+:100F800046616E2073706565640046616E20737003
+:100F90006565640042656400426564004E6F7A7A5C
+:100FA0006C65004E6F7A7A6C650053657474696E77
+:100FB000677300580059005A00457874727564656B
+:100FC00072004578747275646572004D6F766520A5
+:100FD0005A004D6F76652059004D6F766520580098
+:100FE00053657474696E67730047323800417574D5
+:100FF0006F20686F6D65004D38340044697361621D
+:101000006C652073746570706572730047323820A8
+:101010005A0043616C696272617465205A004D6FB9
+:10102000766520617869730054656D7065726174CE
+:10103000757265004D61696E005265763A203330F5
+:10104000302D316100686F77746F2E707275736127
+:1010500033642E636F6D00666F72756D2E707275DE
+:10106000736133642E636F6D0070727573613364E6
+:101070002E636F6D004669726D77617265202D2059
+:10108000322E322E31004D61696E00537570706FD3
+:1010900072740053657474696E677300556E6C6F7B
+:1010A00061642066696C616D656E74004C6F61648B
+:1010B0002066696C616D656E74004E6F205344202C
+:1010C00063617264005072696E742066726F6D2085
+:1010D00053440053746F70207072696E74005265CF
+:1010E00073756D65207072696E74005061757365FB
+:1010F000207072696E740050726568656174005486
+:10110000756E6500496E666F2073637265656E006B
+:1011100048617264636F6465642044656661756CE0
+:10112000742053657474696E6773204C6F616465D5
+:10113000640046696C616D656E74207365747469D2
+:101140006E67733A2044697361626C6564002020A5
+:10115000204D32303020440046696C616D656E74FC
+:101160002073657474696E67733A002020204D32D5
+:1011700030392053004175746F2D5265747261636C
+:10118000743A20533D3020746F2064697361626C3F
+:10119000652C203120746F20696E746572707265E1
+:1011A0007420657874727564652D6F6E6C79206D2E
+:1011B0006F766573206173207265747261637473F6
+:1011C000206F72207265636F7665726965730020A7
+:1011D00046002020204D3230382053005265636F86
+:1011E0007665723A20533D4578747261206C656E65
+:1011F00067746820286D6D2920463A5370656564D0
+:1012000020286D6D2F6D2900205A002046002020D7
+:10121000204D323037205300526574726163743A46
+:1012200020533D4C656E67746820286D6D292046FB
+:101230003A537065656420286D6D2F6D29205A3AE8
+:10124000205A4C69667420286D6D290020440020C6
+:1012500049002020204D3330312050005049442097
+:1012600073657474696E67733A00205A00205900E0
+:1012700020204D323036205800486F6D65206F6653
+:101280006673657420286D6D293A00204500205A48
+:101290000020580020420020540020204D323035DC
+:1012A000205300416476616E6365642076617269E3
+:1012B00061626C65733A20533D4D696E20666565C9
+:1012C000647261746520286D6D2F73292C20543D44
+:1012D0004D696E2074726176656C20666565647216
+:1012E00061746520286D6D2F73292C20423D6D6936
+:1012F0006E696D756D207365676D656E74207469B8
+:101300006D6520286D73292C20583D6D6178696DBD
+:10131000756D205859206A65726B20286D6D2F738A
+:10132000292C20205A3D6D6178696D756D205A20F9
+:101330006A65726B20286D6D2F73292C2020453D26
+:101340006D6178696D756D2045206A65726B202826
+:101350006D6D2F73290020540020204D3230342031
+:101360005300416363656C65726174696F6E3A2006
+:10137000533D616363656C65726174696F6E2C20A7
+:10138000543D7265747261637420616363656C655A
+:10139000726174696F6E00204500205A0020590068
+:1013A00020204D3230312058004D6178696D756DC7
+:1013B00020416363656C65726174696F6E20286D8E
+:1013C0006D2F7332293A00204500205A0020590021
+:1013D00020204D3230332058004D6178696D756D95
+:1013E0002066656564726174657320286D6D2F7366
+:1013F000293A00204500205A0020590020204D396C
+:101400003220580053746570732070657220756EB9
+:1014100069743A0045303A20005A3A2000593A207F
+:1014200000583A20004D53312C4D53322050696EF4
+:10143000730A00656E6473746F7073206869743A20
+:10144000205A00205A3A00656E6473746F707320DE
+:101450006869743A20590020593A00656E647374C3
+:101460006F7073206869743A20580020583A0065FC
+:101470006E6473746F7073206869743A200024F48A
+:10148000D43050C38E20C2A24017828B7011127AC2
+:10149000910D816CD90AA861E108C75866076151AE
+:1014A00043061E4B5D05C145A7041A411104093DC1
+:1014B0009803713931034036DB0265339102D43031
+:1014C0005402802E1D02632CEE01752AC501B0283E
+:1014D000A001102781018F2564012B244B01E022FC
+:1014E0003401AC211F018D200D01801FFC00841EE2
+:1014F000ED00971DDF00B81CD200E61BC600201BC4
+:10150000BC00641AB200B219A8000A19A0006A1837
+:101510009900D117910040178B00B5168400311641
+:101520007E00B31579003A157300C7146F00581484
+:101530006A00EE1366008813630025135E00C7126D
+:101540005B006C12570015125400C111510070114C
+:101550004F0021114B00D61049008D104700461056
+:10156000440002104200C00F4000800F3E00420FB6
+:101570003C00060F3B00CB0E3800930E37005C0E8C
+:101580003500270E3400F30D3200C10D3100900DEF
+:101590003000600D2E00320D2D00050D2C00D90CF1
+:1015A0002B00AE0C2900850C29005C0C2700350CA3
+:1015B00027000E0C2600E80B2400C40B2400A00B0F
+:1015C00023007D0B23005A0B2100390B2100180B3F
+:1015D0002000F80A1F00D90A1E00BB0A1E009D0A3F
+:1015E0001D00800A1D00630A1C00470A1B002C0A0C
+:1015F0001B00110A1A00F7091A00DD091900C409B5
+:101600001900AB091900920917007B09180063093A
+:1016100017004C09160036091600200916000A09A1
+:101620001500F5081500E0081400CC081400B808EF
+:101630001400A4081400900813007D0812006B0821
+:10164000130058081200460812003408110023083D
+:1016500011001208110001081100F0071000E00746
+:101660001000D0071000C0071000B0070F00A1073E
+:10167000100091070E0083070F0074070F00650725
+:101680000E0057070E0049070E003B070D002E07FE
+:101690000E0020070D0013070D0006070D00F906C8
+:1016A0000C00ED060D00E0060C00D4060C00C80688
+:1016B0000C00BC060C00B0060C00A4060B0099063A
+:1016C0000C008D060B0082060B0077060B006C06E3
+:1016D0000B0061060A0057060B004C060A00420682
+:1016E0000A0038060A002E060A0024060A001A0616
+:1016F0000A001006090007060A00FD050900F405A6
+:101700000900EB050900E2050900D9050900D0052B
+:101710000900C7050900BE050900B5050800AD05AB
+:101720000800A50509009C050800940508008C0523
+:101730000800840508007C050800740508006C0595
+:101740000700650508005D050700560508004E0501
+:101750000700470507004005080038050700310568
+:1017600007002A050700230507001C0506001605CB
+:1017700007000F0507000805060002050700FB0427
+:101780000600F5040700EE040600E8040600E20483
+:101790000700DB040600D5040600CF040600C904D8
+:1017A0000600C3040600BD040600B7040600B10429
+:1017B0000500AC040600A6040600A00405009B0476
+:1017C000060095040500900406008A0405008504BF
+:1017D0000500800406007A04050075040500700405
+:1017E00005006B04050066040500610405005C0447
+:1017F000050057040500520405004D040500480487
+:101800000500430405003E0404003A0405003504C5
+:101810000500300404002C04050027040400230400
+:1018200005001E0404001A04040016040500110437
+:1018300004000D040400090405000404040000046D
+:101840000400FC030400F8030400F4030400F003A4
+:101850000400EC030400E8030400E4030400E003D4
+:101860000400DC030400D8030400D4030400D00304
+:101870000400CC030400C8030300C503030024F4E0
+:1018800004D9201BC40C5C0E9804C4095F026507D0
+:101890007101F405F900FB04B30048048700C1039B
+:1018A00069005803550003034500BE023A00840254
+:1018B000310053022A002902250004022000E4011D
+:1018C0001C00C8011900AF01170098011400840121
+:1018D0001300710110006101100051010E0043015D
+:1018E0000D0036010B002B010B0020010B00150130
+:1018F00009000C01090003010800FB000800F300C7
+:101900000800EB000700E4000600DE000600D80037
+:101910000600D2000600CC000500C7000500C2008A
+:101920000500BD000400B9000400B5000400B100CA
+:101930000400AD000400A9000400A5000300A200FB
+:1019400003009F0004009B00030098000300950023
+:10195000020093000300900003008D0002008B0042
+:10196000030088000200860002008400030081005A
+:1019700002007F0002007D0002007B00020079006F
+:10198000020077000100760002007400020072007D
+:101990000100710002006F0002006D0001006C0088
+:1019A00002006A0001006900020067000100660091
+:1019B0000100650001006400020062000100610096
+:1019C0000100600001005F0002005D0001005C009A
+:1019D00001005B0001005A0001005900010058009D
+:1019E000010057000100560001005500010054009D
+:1019F000010053000000530001005200010051009B
+:101A00000100500001004F0001004E0000004E0098
+:101A100001004D0001004C0001004B0000004B0094
+:101A200001004A0001004900010048000000480090
+:101A3000010047000100460000004600010045008B
+:101A40000000450001004400010043000000430085
+:101A5000010042000000420001004100000041007E
+:101A60000100400001003F0000003F0001003E0077
+:101A700000003E0001003D0000003D0001003C0070
+:101A800000003C0000003C0001003B0000003B0067
+:101A900001003A0000003A0001003900000039005E
+:101AA0000100380000003800000038000100370055
+:101AB000000037000100360000003600000036004C
+:101AC0000100350000003500000035000100340041
+:101AD0000000340000003400010033000000330037
+:101AE000000033000100320000003200000032002C
+:101AF0000100310000003100000031000100300021
+:101B0000000030000000300001002F0000002F0016
+:101B100000002F0000002F0001002E0000002E000A
+:101B200000002E0001002D0000002D0000002D00FF
+:101B300000002D0001002C0000002C0000002C00F3
+:101B400000002C0001002B0000002B0000002B00E7
+:101B500000002B0001002A0000002A0000002A00DB
+:101B600000002A00010029000000290000002900CF
+:101B700000002900000029000100280000002800C2
+:101B800000002800000028000000280001002700B5
+:101B900000002700000027000000270000002700A9
+:101BA000010026000000260000002600000026009C
+:101BB000000026000100250000002500000025008F
+:101BC0000000250000002500000025000100240081
+:101BD0000000240000002400000024000000240075
+:101BE0000100230000002300000023000000230068
+:101BF0000000230000002300000023000100220059
+:101C0000000022000000220000002200000022004C
+:101C1000000022000100210000002100000021003E
+:101C20000000210000002100000021000000210030
+:101C30000100200000002000000020000000200023
+:101C40000000200000002000000020000000200014
+:101C500001001F0000001F0000001F0000001F0007
+:101C600000001F0000001F0000001F0001001E00F8
+:101C700000001E0000001E0000001E000000207476
+:101C80006F6F206C6F6E6720657874727573696F03
+:101C90006E2070726576656E7465640020636F6C8B
+:101CA0006420657874727573696F6E2070726576E2
+:101CB000656E746564000000090A02080B0C0D07CC
+:101CC0000603040100000000000000000000000006
+:101CD0000000000000000000000000000000000004
+:101CE000000011100F0000000000000000000000C4
+:101CF00000000000000000000000000000000000E4
+:101D000000000000000000000000000001021020A0
+:101D10002008081020401020408002010201080421
+:101D200002010102040810204080804020100804B5
+:101D3000020180040201804020100804020108040E
+:101D40000201010204081020408001020408102052
+:101D5000408010080408801020400440801020407B
+:101D600004800505050507050808080802020202A7
+:101D70000A0A080804040404010101010101010127
+:101D80000303030303030303040707070C0C0C0CF2
+:101D90000C0C0C0C020202020606060606060606DB
+:101DA0000B0B0B0B0B0B0B0B07070A0A0A0A0A0A91
+:101DB000050505040404080800002000230026008F
+:101DC00029002C002F003200000100000301060151
+:101DD000090100002200250028002B002E00310000
+:101DE000340002010000050108010B010000210080
+:101DF000240027002A002D003000330001010000DC
+:101E0000040107010A01024E414E494E4954594905
+:101E10004E46CDCCCC3D0AD7233C17B7D13877CC32
+:101E20002B329595E6241FB14F0A00002041000097
+:101E3000C84200401C4620BCBE4CCA1B0E5AAEC550
+:101E40009D749D63FF7DEDA5A16311241FBECFEF9F
+:101E5000D1E2DEBFCDBF00E00CBF15E0A0E0B2E0F4
+:101E6000E2E6F2E701E00BBF02C007900D92A23E4E
+:101E7000B107D9F724E1A2EEB5E001C01D92AD3B58
+:101E8000B207E1F71EE1C8E4DEE100E006C02297F8
+:101E90000109FE010BBF0E94D8B2C234D10780E015
+:101EA0000807A9F70E94F1A90C9420B90C9400002E
+:101EB000CF93DF93EC019C012C5F3F4F41E050E05A
+:101EC00060E070E0898D9A8D0E94FA19882399F05C
+:101ED0004D895E896F89788D452B462B472B59F4A8
+:101EE0004C815D816E817F814D8B5E8B6F8B788F96
+:101EF000998190689983DF91CF910895CF92DF9275
+:101F0000EF92FF920F931F93CF93DF93EC01898998
+:101F10009A89AB89BC89803E9F4FAF41B10510F0D3
+:101F200080E06BC0CE01C4DF8823D1F30E940E187D
+:101F3000182F8823A9F3E98DFA8DCC80DD80EE80FF
+:101F4000FF8032E0C31AD108E108F108058404C01B
+:101F5000CC0CDD1CEE1CFF1C0A94D2F786859785FD
+:101F6000A089B189C80ED91EEA1EFB1E81E08093AC
+:101F7000E805C092EB07D092EC07E092ED07F092F3
+:101F8000EE0780E092E0EBEEF5E0DF019C011D92B0
+:101F900021503040E1F701E0E98DFA8D8481081786
+:101FA00090F42BEE35E0B701A601400F511D611DE5
+:101FB000711D8091E9059091EA050E94E73B882315
+:101FC000E1F00F5FE9CFC12C82E0D82EE12CF12C9B
+:101FD000058404C0CC0CDD1CEE1CFF1C0A94D2F757
+:101FE00049895A896B897C894C0D5D1D6E1D7F1D49
+:101FF000498B5A8B6B8B7C8B812FDF91CF911F91FB
+:102000000F91FF90EF90DF90CF900895CF93DF93E3
+:10201000EC0141E0611101C040E06C857D858E8559
+:102020009F850E944E18882341F0888920E2829F74
+:10203000C001112485519A4F02C080E090E0DF91E9
+:10204000CF91089530E020E04EE2DC015C91503207
+:1020500071F0383029F4FB01E20FF11D40832F5F4E
+:10206000FB01E20FF11DDC015C9150832F5F3F5FAC
+:1020700001963B3051F7FB01E20FF11D10820895EC
+:10208000CF93DF93EB01FC012381211102C080E09B
+:102090000EC02250223020F48FE28883198206C0BD
+:1020A00060E0B4DF009799F3BE01CCDF81E0DF91FF
+:1020B000CF910895FB012BE030E231932150E9F7F5
+:1020C000DC0190E027E03A2FEB2F8D9181110AC0BF
+:1020D000DA013C931196EC9381E0FB019081903200
+:1020E00039F525C08F32A1F38E3219F0EAE8F1E01C
+:1020F00008C02A30E1F098E02AE0E5CF31963817A1
+:10210000B1F034913111FACF291788F03FED380F33
+:102110003E3568F431E0390FFB01E90FF11D9FE90D
+:10212000980F9A3108F480528083932FCCCF80E0AF
+:1021300008950F931F93CF93DF93EC018B018B8155
+:10214000882311F080E042C0FB018789803139F19A
+:102150008032C1F783E08B83F801428D538D648D0B
+:10216000758D4D8B5E8B6F8B788F9E012F5E3F4FF1
+:10217000C8010E940519882329F31A8F098F81E06D
+:1021800089831C821D821E821F82188619861A86E8
+:102190001B861C861D861E861F86188A17C082E035
+:1021A0008B831D8A1E8A1F8A188EFB01408D518DDC
+:1021B00060E070E095E0440F551F661F771F9A9509
+:1021C000D1F7498B5A8B6B8B7C8BD7CFDF91CF911B
+:1021D0001F910F9108952F923F924F925F926F92AD
+:1021E0007F928F929F92AF92BF92CF92DF92EF92A7
+:1021F000FF920F931F93CF93DF93EC015B016A0172
+:102200008B81811103C08FEF9FEFC7C0898180FF51
+:10221000FACF49895A896B897C8988859985AA85ED
+:10222000BB852601612C712C8A019B01081B190BAF
+:102230002A0B3B0B401651066206730618F06A0122
+:10224000C81AD90A76013E0124E0620E711CE1141D
+:10225000F10409F476C0488559856A857B854A0171
+:1022600081E098222B811A012B01E9E056944794D2
+:1022700037942794EA95D1F7898D9A8DFC01223005
+:1022800049F4628D738D848D958D620D731D841D4F
+:10229000951D3CC014811150122181149104C1F488
+:1022A000111116C0452B462B472B49F48D899E8969
+:1022B000AF89B88D8C839D83AE83BF8309C04C8169
+:1022C0005D816E817F81930121D7882309F49BCFA3
+:1022D000E98DFA8D6C817D818E819F8162507109BB
+:1022E00081099109058404C0660F771F881F991F13
+:1022F0000A94D2F72685378540895189620F731F6A
+:10230000841F951F610F711D811D911D20E032E01A
+:102310002819390987012E153F0508F4890101158F
+:10232000F2E01F0769F52091EB073091EC0740912F
+:10233000ED075091EE07621773078407950719F4AC
+:102340001FC0C6012AC09501AB01BC018091E905FF
+:102350009091EA050E94723B882309F454CFA00EA5
+:10236000B11E88859985AA85BB85800F911FA11D07
+:10237000B11D88879987AA87BB87E01AF10A67CFC2
+:1023800040E08CD6882309F43ECFB40165517A4FE2
+:10239000A801C5010E94F5B5E2CFDF91CF911F9151
+:1023A0000F91FF90EF90DF90CF90BF90AF909F90F4
+:1023B0008F907F906F905F904F903F902F900895F7
+:1023C000CF93DF931F92CDB7DEB741E050E0BE015F
+:1023D0006F5F7F4F00DF019719F4898190E002C0A1
+:1023E0008FEF9FEF0F90DF91CF910895CF92DF9203
+:1023F000EF92FF920F931F93CF93DF936C01EB014A
+:102400007A01FC018381823060F00085118522858C
+:1024100033850F71112722273327012B022B032B22
+:1024200011F08FEF5CC04115510511F0F7011082DA
+:102430001DE040E250E0BE01C601CDDE80329105D4
+:1024400039F021E0892B09F420E0822F819547C0E3
+:1024500028812223C1F0253E61F32E3251F33B85C2
+:102460003F733F3061F4E114F10449F04A8D5B8D14
+:10247000452B29F42F713FEF320F343030F02B858C
+:1024800023FDD7CF2CC080E02AC030E02150310995
+:10249000129FC001139F900D1124F701E80FF91F3F
+:1024A000298120832B8121832D8122832F812383E6
+:1024B000298524832E852583288926832A892783B5
+:1024C0002C8920872E892187288D22872C8D238790
+:1024D0002E8D2487288126FFD2CF1586D0CFDF917D
+:1024E000CF911F910F91FF90EF90DF90CF900895C3
+:1024F0001F93CF93DF93EC018B81823018F480E03F
+:1025000090E023C0488559856A857B85A5E076954E
+:10251000679557954795AA95D1F7142F1F70CE014F
+:102520004FDF97FDECCF488559856A857B85415EF5
+:102530005F4F6F4F7F4F488759876A877B8720E2BD
+:10254000129FC001112485519A4FDF91CF911F91A5
+:1025500008954F925F926F927F92AF92BF92CF9207
+:10256000DF92EF92FF920F931F93CF93DF93EC01D3
+:102570006A017B012B81222349F089899A89AB89E1
+:10258000BC8984179507A607B70710F480E06BC0D5
+:10259000223009F463C0C114D104E104F10449F408
+:1025A0001C821D821E821F82188619861A861B862F
+:1025B00059C088859985AA85BB85E98DFA8DE58501
+:1025C000F0E03996AC01BD01415051096109710932
+:1025D0000E2E04C076956795579547950A94D2F7C5
+:1025E00097018601015011092109310904C036956E
+:1025F000279517950795EA95D2F70417150726072B
+:10260000370720F0892B8A2B8B2B49F48D899E89E3
+:10261000AF89B88D8C839D83AE83BF8304C0041BB8
+:10262000150B260B370B280139015E0184E0A80E3B
+:10263000B11C411451046104710481F04C815D812D
+:102640006E817F819501898D9A8D60D591E0491ABF
+:102650005108610871088111ECCF05C0C886D98680
+:10266000EA86FB8681E0DF91CF911F910F91FF9069
+:10267000EF90DF90CF90BF90AF907F906F905F9082
+:102680004F9008950F931F93CF93DF93EC018B81AD
+:102690008823D1F1898187FF32C061E0CE01B6DCA9
+:1026A0008C01009789F1FC018081853E69F18B8165
+:1026B000823040F449895A896B897C89448F558FCF
+:1026C000668F778F4D895E896F89788DF801538F7A
+:1026D000428F758B648BE091E205F091E3053097B2
+:1026E00059F0B8016A5E7F4FC80148961995F80104
+:1026F000808D918D938B828B89818F778983DF91F8
+:10270000CF911F910F918AC481E0888380E0DF918F
+:10271000CF911F910F910895CF93DF93EC01B2DF1A
+:102720001B82DF91CF910895FC0123812111F4CF09
+:1027300008954F925F926F927F92AF92BF92CF9225
+:10274000DF92EF92FF920F931F93CF93DF9300D00E
+:102750001F92CDB7DEB75C016A017B01FC0183816A
+:102760008130E9F4818181FF1AC0F5018189928964
+:10277000A389B48984179507A607B70780F0892B2A
+:102780008A2B8B2B09F472C0F5014084518462843A
+:102790007384B701A601C501DCDE811102C080E0AF
+:1027A00066C0F501818D928DC114D104E104F1045C
+:1027B00069F4458956896789708D25D7882379F30F
+:1027C000F501158A168A178A108E37C0F5014481E3
+:1027D0005581668177819E012F5F3F4F97D4882373
+:1027E000F1F249815A816B817C81F501818D928D55
+:1027F000FC012789203139F4483FFFEF5F0761056D
+:102800007105D8F407C0483F2FEF520762072FE049
+:10281000720798F4F8D6882309F4C1CFF5014481F2
+:102820005581668177810FEF1FEF2FEF3FE0818D9C
+:10283000928D51D5882309F4B2CFF501C18AD28A8D
+:10284000E38AF48A818180688183C5011BDF882344
+:1028500009F4A5CFB701A6014C145D046E047F04F2
+:1028600010F4B301A201C50174DE01C081E00F9034
+:102870000F900F900F90DF91CF911F910F91FF90CC
+:10288000EF90DF90CF90BF90AF907F906F905F9070
+:102890004F900895FF920F931F93CF93DF93EC0116
+:1028A000F42E80E2689FF0011124E551FA4F8385F0
+:1028B000817121F0842F827109F04EC08091EB0765
+:1028C0009091EC07A091ED07B091EE078C879D8762
+:1028D000AE87BF87688B4489558960E070E0BA0194
+:1028E00055274427028D138D20E030E0402B512BDB
+:1028F000622B732B4D8B5E8B6F8B788F83858871EA
+:1029000051F4048D158D268D378D098B1A8B2B8BE9
+:102910003C8B81E00BC08031F9F49E012F5E3F4F6C
+:10292000898D9A8D72D48823B9F084E08B838F2DA2
+:102930008F7089831C821D821E821F8218861986D1
+:102940001A861B86F4FE0BC040E050E0BA01CE01AF
+:10295000F0DE811104C011C01B8280E00EC0F5FEC4
+:102960000BC049895A896B897C89CE01DF91CF914F
+:102970001F910F91FF90EDCD81E0DF91CF911F91DD
+:102980000F91FF900895AF92BF92CF92DF92EF9296
+:10299000FF920F931F93CF93DF937C01EB016A01AA
+:1029A000B22E898D9A8DF701928F818F40E050E091
+:1029B000BA01CE01CEDDA12C088519852A853B857B
+:1029C00089899A89AB89BC89081719072A073B07A7
+:1029D000A0F585E036952795179507958A95D1F747
+:1029E0000F70CE0185DD009709F481C0FC012081C4
+:1029F000222311F0253EB9F4A1100EC04091EB073F
+:102A00005091EC076091ED077091EE07F701448754
+:102A1000558766877787008BFC018081AA24A39461
+:102A20008111CACF0AC04BE050E0BC01C6010E9430
+:102A3000E8B5892B09F0C0CF58C08B2D8274823441
+:102A400009F055C0AA2049F0F701008961E0C701EB
+:102A5000DDDAEC01009769F44AC08B81823009F419
+:102A600046C0CE014BDA882309F441C0CBEED5E055
+:102A700000E080E2FE0111928A95E9F78BE0F60111
+:102A8000DE0101900D928A95E1F7E091E205F09167
+:102A9000E305309739F0BE01625F7F4FCE0140966B
+:102AA000199508C081E298E2998B888B80E098E0C4
+:102AB0009F878E87888999899B8B8A8B998F888F2E
+:102AC0008E859F859F8B8E8BA9D2882381F04B2D7D
+:102AD000602FC701DF91CF911F910F91FF90EF9071
+:102AE000DF90CF90BF90AF90D5CEB7FEF0CF80E013
+:102AF000DF91CF911F910F91FF90EF90DF90CF90DA
+:102B0000BF90AF9008953F924F925F926F927F92E5
+:102B10008F929F92AF92BF92CF92DF92EF92FF92ED
+:102B20000F931F93CF93DF93CDB7DEB7C354D10973
+:102B30000FB6F894DEBF0FBECDBF5C016B012496CB
+:102B40005FAF4EAF2497522E1C8E1F8E19821C82AF
+:102B50006115710511F410E073C0FC0183818111CE
+:102B6000FACF2496EEADFFAD249780818F3211F01D
+:102B700076011DC02496EEADFFAD249780818F3283
+:102B800031F431962496FFAFEEAF2497F3CFF601E0
+:102B900083818250823060F3F601618D728DCE01A7
+:102BA0000196C7DA8823B9F2CE0101967C018E0125
+:102BB000045E1F4F3801FE0131964F01402E312E29
+:102BC00019C08823A9F121E0AE01495C5F4FB7012C
+:102BD000C801D9DE882309F4BECFEC14FD0411F03E
+:102BE000C7019ADD0615170501F1942D832D780193
+:102BF000092F182FAE014E5B5F4FBE01695C7F4FFE
+:102C000024968EAD9FAD249755DA882309F4A3CF7F
+:102C10002496EEADFFAD249780818F3291F63196E8
+:102C20002496FFAFEEAF2497F3CF982D892DDFCFF9
+:102C3000252DAE01495C5F4FB701C501A4DE182FF9
+:102C4000CE01019671DDCE014C966EDD812FCD5BFC
+:102C5000DF4F0FB6F894DEBF0FBECDBFDF91CF912F
+:102C60001F910F91FF90EF90DF90CF90BF90AF90AA
+:102C70009F908F907F906F905F904F903F900895BE
+:102C8000CF93DF93EC0140E050E0BA0152DD88239E
+:102C900061F061E0CE01BAD9009739F025EEFC0170
+:102CA00020831B82DF91CF91B9C180E0DF91CF916A
+:102CB00008951F93CF93DF93CDB7DEB76B970FB611
+:102CC000F894DEBF0FBECDBFAB0119821C8222E09B
+:102CD000BC01CE01019617DF182F882321F0CE0109
+:102CE0000196CEDF182FCE0101961EDD812F6B9647
+:102CF0000FB6F894DEBF0FBECDBFDF91CF911F910D
+:102D000008952F923F924F925F926F927F928F928F
+:102D10009F92AF92BF92CF92DF92EF92FF920F936A
+:102D20001F93CF93DF9300D01F921F92CDB7DEB7D2
+:102D30008C015B013A01DC0113968C911397813071
+:102D4000C1F411968C9181FF14C082FF18C0F80164
+:102D5000418952896389748980859185A285B3856B
+:102D600084179507A607B70751F0C801F2DB811158
+:102D700006C081E0F80180838FEF9FEF37C16301C8
+:102D800083C0D80159968D919C915A97FC01F4818A
+:102D9000F1501A012B0169E0569447943794279417
+:102DA0006A95D1F7F221FD834A0121E09222FF23A7
+:102DB00009F476C080E092E08819990976018C15B3
+:102DC0009D0508F47C01D8015996ED91FC915A9724
+:102DD00014962D903D904D905C901797B2E02B1A71
+:102DE000310841085108058404C0220C331C441CDE
+:102DF000551C0A94D2F786859785A089B189280E3B
+:102E0000391E4A1E5B1EED812E0E311C411C511CC9
+:102E1000E114F2E0FF0609F089C08091EB07909180
+:102E2000EC07A091ED07B091EE0782159305A4057C
+:102E3000B50569F41092E8058FEF9FEFDC018093F0
+:102E4000EB079093EC07A093ED07B093EE07950185
+:102E5000B201A1018091E9059091EA050E94E73B4A
+:102E6000882309F486CFF80180859185A285B385F2
+:102E70008E0D9F1DA11DB11D80879187A287B387ED
+:102E8000AE0CBF1CCE18DF08D80118964D915D918D
+:102E90006D917C911B97C114D10409F072CF7AC057
+:102EA0008114910409F086CF14964D915D916D9136
+:102EB0007C911797411551056105710559F4559697
+:102EC0008D919D910D90BC91A02D0097A105B1050C
+:102ED00039F520C09E012F5F3F4F18D1882309F498
+:102EE00048CF89819A81AB81BC81F801218D328DD7
+:102EF000F9012789203139F4883FFFEF9F07A105A9
+:102F0000B10540F40DC0883F2FEF9207A2072FE0D4
+:102F1000B20730F0C8010E94580F81114BCF29CF62
+:102F2000F80184839583A683B78344CF81149104E9
+:102F300011F5D80118964D915D916D917C911B977B
+:102F400051968D919D910D90BC91A02D48175907D8
+:102F50006A077B0780F062D0882309F40ACF81E0FA
+:102F60008093E8052092EB073092EC074092ED0742
+:102F70005092EE0707C041E0C201B1018FD0882313
+:102F800009F4F7CEA701B501C40185519A4F0E94FB
+:102F9000F5B569CF51968D919D910D90BC91A02D65
+:102FA000F801218184179507A607B70738F4418BEC
+:102FB000528B638B748B206821830CC08091E20557
+:102FC0009091E305892B31F06114710419F02068A8
+:102FD000F8012183D80111968C9183FD02C0C301B1
+:102FE00005C0C8014FDB8111FACFC3CE0F900F90FF
+:102FF0000F900F900F90DF91CF911F910F91FF9045
+:10300000EF90DF90CF90BF90AF909F908F907F9088
+:103010006F905F904F903F902F900895CF93809145
+:10302000E8058823B9F14091EB075091EC076091D6
+:10303000ED077091EE072BEE35E08091E905909158
+:10304000EA050E94E73BC82F811102C0C0E023C0FF
+:103050004091E4055091E5056091E6057091E70522
+:10306000411551056105710591F02BEE35E0809118
+:10307000E9059091EA050E94E73B882339F3109215
+:10308000E4051092E5051092E6051092E70510920E
+:10309000E80501C0C1E08C2FCF910895CF92DF9257
+:1030A000EF92FF92CF936B017C01C42F8091EB07CD
+:1030B0009091EC07A091ED07B091EE078C159D055E
+:1030C000AE05BF05C9F0AADF811102C080E018C0BB
+:1030D0002BEE35E0B701A6018091E9059091EA0554
+:1030E0000E94723B882391F3C092EB07D092EC07C9
+:1030F000E092ED07F092EE0781E0C1118093E805C0
+:10310000CF91FF90EF90DF90CF9008958F929F9294
+:10311000AF92BF92CF92DF92EF92FF920F931F93E5
+:10312000CF93DF93EC016A017B01890189859A8540
+:10313000AB85BC850196A11DB11D84179507A60717
+:10314000B70710F480E054C08F89803129F49927A3
+:10315000872F762F652F0BC08032A1F7CB01BA01E4
+:1031600027E096958795779567952A95D1F78B886F
+:103170009C88AD88BE88680D791D8A1D9B1D809036
+:10318000EB079090EC07A090ED07B090EE07681564
+:1031900079058A059B0581F48F89803191F4DD24BE
+:1031A000EE24FF24F601EE0FFF1FE551FA4F808158
+:1031B0009181A0E0B0E016C040E070DF8111ECCF5B
+:1031C000C1CFE894C7F8DD24EE24FF24F601EE0F0A
+:1031D000FF1FEE0FFF1FE551FA4F80819181A28101
+:1031E000B381BF70F80180839183A283B38381E0B0
+:1031F000DF91CF911F910F91FF90EF90DF90CF90D3
+:10320000BF90AF909F908F9008954F925F926F9272
+:103210007F92AF92BF92CF92DF92EF92FF920F9385
+:103220001F93CF93DF9300D01F92CDB7DEB78C01F1
+:1032300049835A836B837C835901C12CD12C76013D
+:10324000412C42E0542E612C712C49815A816B81B2
+:103250007C819E012F5F3F4FC80158DF882341F1D9
+:10326000D301C201F801058404C0880F991FAA1F69
+:10327000BB1F0A94D2F7C80ED91EEA1EFB1E498155
+:103280005A816B817C818789803139F481E0483FA4
+:103290005F4F6105710538F4D8CF81E0483F5F4F3B
+:1032A0006F4F7F4090F2F501C082D182E282F382BB
+:1032B0000F900F900F900F90DF91CF911F910F9172
+:1032C000FF90EF90DF90CF90BF90AF907F906F9086
+:1032D0005F904F9008954F925F926F927F928F927E
+:1032E0009F92AF92BF92CF92DF92EF92FF920F9395
+:1032F0001F93CF93DF93EC014A015B012801390151
+:10330000423051056105710508F462C049855A854E
+:103310006B857C854F5F5F4F6F4F7F4F4815590519
+:103320006A057B0508F454C08F89803129F4FF2495
+:10333000EB2CDA2CC92C0CC0803209F049C0750185
+:10334000640177E0F694E794D794C7947A95D1F71F
+:103350004B895C896D897E89C40ED51EE61EF71ED9
+:1033600041E0C701B6019ADE882391F19F8990312F
+:1033700059F49924AA24BB24F401EE0FFF1FE55150
+:10338000FA4F5182408210C0E89487F89924AA2409
+:10339000BB24F401EE0FFF1FEE0FFF1FE551FA4FA4
+:1033A00040825182628273829A89923090F04D817C
+:1033B0005E816F8178854C0D5D1D6E1D7F1D409374
+:1033C000E4055093E5056093E6057093E70501C0B9
+:1033D00080E0DF91CF911F910F91FF90EF90DF90F0
+:1033E000CF90BF90AF909F908F907F906F905F90A5
+:1033F0004F9008952F923F924F925F926F927F92DB
+:103400008F929F92AF92BF92CF92DF92EF92FF92F4
+:103410000F931F93CF93DF93CDB7DEB72F970FB6E0
+:10342000F894DEBF0FBECDBF1C014C875D876E8751
+:103430007F873B872A87DC0119960D911D912D917D
+:103440003C911C970F5F1F4F2F4F3F4F0D831E83E3
+:103450002F833887EA85FB8580809180A280B380A6
+:1034600081149104A104B10431F0FFEF8F1A9F0A77
+:10347000AF0ABF0A10C0DC018D909D90AD90BC904A
+:10348000B1E0B9870C851D852E853F85013011057A
+:103490002105310509F0198675016401412C512C73
+:1034A0003201F10181859285A385B48548165906BC
+:1034B0006A067B0608F04EC00D811E812F8138857B
+:1034C0000C151D052E053F0550F4F2E0CF2ED12C32
+:1034D000E12CF12CA2E08A2E912CA12CB12C9E0182
+:1034E0002F5F3F4FB701A601C10110DE882391F184
+:1034F00049815A816B817C81D701C6010196A11D4A
+:10350000B11D452B462B472B19F04C015D010FC017
+:10351000AC01BD01481959096A097B090C851D8553
+:103520002E853F85401751076207730741F01FEF53
+:10353000411A510A610A710A6C017D01B2CF0FEF85
+:103540001FEF2FEF3FE0B701A601C101C4DE8D835D
+:10355000811113C01D823DC02601370121E0421AAE
+:1035600051086108710897018601B301A201C101E8
+:10357000B2DE882379F3730162018C149D04AE04DA
+:10358000BF0450F3AA85BB854D915D916D917C91EF
+:103590004115510561057105A9F4EA85FB85808215
+:1035A0009182A282B382F985FF2399F00FEF801AEE
+:1035B000900AA00AB00AD1018D929D92AD92BC9260
+:1035C000139707C095018401C10185DE8111E5CF04
+:1035D000C1CF8D812F960FB6F894DEBF0FBECDBF41
+:1035E000DF91CF911F910F91FF90EF90DF90CF90DF
+:1035F000BF90AF909F908F907F906F905F904F9013
+:103600003F902F900895AF92BF92CF92DF92EF92AA
+:10361000FF920F931F93CF93DF9300D01F92CDB7EC
+:10362000DEB75C016A017B0182E090E0A0E0B0E0DF
+:10363000F50180839183A283B3839E012F5F3F4F67
+:10364000B701A601C50162DD811102C080E023C07F
+:1036500000E010E09801B701A601C5013CDE882317
+:10366000A9F3C980DA80EB80FC80F501878980317D
+:1036700049F481E0F8EFCF16FFEFDF06E104F10433
+:1036800050F4DBCF81E098EFC9169FEFD906E90629
+:103690009FE0F90690F20F900F900F900F90DF913E
+:1036A000CF911F910F91FF90EF90DF90CF90BF903F
+:1036B000AF9008957F928F929F92AF92BF92CF92D8
+:1036C000DF92EF92FF920F931F93CF93DF93EC0162
+:1036D000142F7093EA056093E9051F8A82E090E059
+:1036E000A0E0B0E088839983AA83BB831092E805A9
+:1036F0001092E4051092E5051092E6051092E70598
+:103700008FEF9FEFDC018093EB079093EC07A09382
+:10371000ED07B093EE07442349F1453008F0DEC0D1
+:1037200040E060E070E0CB01B9DC882309F4D6C04A
+:1037300020E1129FF0011124E756F84F80818F7726
+:1037400009F0CCC084859585A685B785843691051A
+:10375000A105B10508F4C2C0C084D184E284F38419
+:10376000C114D104E104F10421F4B8C0C12CD12C5E
+:10377000760140E0C701B60191DC782E882309F478
+:10378000ADC08091F6059091F7058115924009F042
+:10379000A5C03091FB05332309F4A0C08091F90541
+:1037A0009091FA05892B09F499C02091F8052223FC
+:1037B00009F494C03A8B2C831D8630E041E050E040
+:1037C0006D85062FCA01062E02C0880F991F0A9424
+:1037D000E2F72817390731F081E0860F8D876830CE
+:1037E00078F37CC020910106309102062115310545
+:1037F00019F040E050E008C020910F06309110060B
+:1038000040911106509112062D833E834F835887B5
+:103810008091F9059091FA0546015701880E991E8D
+:10382000A11CB11C8B8A9C8AAD8ABE8AE091FC05E2
+:10383000F091FD05F98FE88FA091FB05B0E00E94A3
+:10384000C8B2680D791D8A1D9B1D6A8F7B8F8C8F76
+:103850009D8FB5E0EE0FFF1FBA95E1F7E150FE4FE7
+:10386000EF2FFF27E695DC01CB018E0F9F1FA11DD7
+:10387000B11D8E879F87A88BB98B8090FE05909095
+:10388000FF058114910419F0A12CB12C08C080907F
+:103890000B0690900C06A0900D06B0900E06A701A6
+:1038A0009601281B390B4A0B5B0BDA01C901880D05
+:1038B000991DAA1DBB1D04C0B695A7959795879520
+:1038C0000A95D2F789879A87AB87BC87853F3FE007
+:1038D0009307A105B10520F48CE08F8B712C15C0E6
+:1038E000853F9F4FA105B10510F480E10DC0809187
+:1038F000170690911806A0911906B0911A068A8FA2
+:103900009B8FAC8FBD8F80E28F8B872DDF91CF9106
+:103910001F910F91FF90EF90DF90CF90BF90AF90ED
+:103920009F908F907F9008954F925F926F927F92B9
+:103930008F929F92AF92BF92CF92DF92EF92FF92BF
+:103940000F931F93CF93DF932C0124E733E081E0A3
+:1039500090E0F90145915491441655060CF062C06F
+:10396000AC0141505109DA01AA0FBB1FAA0FBB1FBE
+:10397000AE58BC4FFD0165917491440F551F440F23
+:10398000551F40595C4FFA0165907490FC01EE0F91
+:10399000FF1FEE0FFF1FEE58FC4FA590B490FD01E6
+:1039A00005911491F901C591D491FA0185909490F3
+:1039B000882777FD8095982F0E9442AF6B017C018C
+:1039C000B20166197709882777FD8095982F0E94A4
+:1039D00042AF2B013C01B501601B710B882777FDBD
+:1039E0008095982F0E9442AF9B01AC01C301B201A8
+:1039F0000E9475B12B013C01BE0168197909882725
+:103A000077FD8095982F0E9442AF9B01AC01C301C6
+:103A1000B2010E94A7AE9B01AC01C701B6010E9492
+:103A2000C7AD11C001962C5F3F4F8D33910509F052
+:103A300090CFE2E6F4E065917491882777FD809558
+:103A4000982F0E9442AFDF91CF911F910F91FF906D
+:103A5000EF90DF90CF90BF90AF909F908F907F902E
+:103A60006F905F904F9008954F925F926F927F9208
+:103A70008F929F92AF92BF92CF92DF92EF92FF927E
+:103A80000F931F93CF93DF932C01662371F1E5E32E
+:103A9000FEE08491882341F09091C00095FFFCCF17
+:103AA0008093C6003196F5CF70E04AE050E08CE993
+:103AB0009DE00E945A8AE9E5F2E08491882341F072
+:103AC0009091C00095FFFCCF8093C6003196F5CF52
+:103AD0008091C00085FFFCCF8AE08093C6000E94E1
+:103AE000224560E070E0CB017EC024E733E081E056
+:103AF00090E0F90145915491441655060CF062C0CE
+:103B0000AC0141505109DA01AA0FBB1FAA0FBB1F1C
+:103B1000AE58BC4FFD0165917491440F551F440F81
+:103B2000551F40595C4FFA0165907490FC01EE0FEF
+:103B3000FF1FEE0FFF1FEE58FC4FA590B490FD0144
+:103B400005911491F901C591D491FA018590949051
+:103B5000882777FD8095982F0E9442AF6B017C01EA
+:103B6000B20166197709882777FD8095982F0E9402
+:103B700042AF2B013C01B501601B710B882777FD1B
+:103B80008095982F0E9442AF9B01AC01C301B20106
+:103B90000E9475B12B013C01BE0168197909882783
+:103BA00077FD8095982F0E9442AF9B01AC01C30125
+:103BB000B2010E94A7AE9B01AC01C701B6010E94F1
+:103BC000C7AD11C001962C5F3F4F8D33910509F0B1
+:103BD00090CFE2E6F4E065917491882777FD8095B7
+:103BE000982F0E9442AFDF91CF911F910F91FF90CC
+:103BF000EF90DF90CF90BF90AF909F908F907F908D
+:103C00006F905F904F90089560E08091440890918C
+:103C100045082ADF6093400870934108809342086A
+:103C20009093430880913E0890913F087DDE609319
+:103C30003A0870933B0880933C0890933D088FB7F7
+:103C4000F894109232088FBF089520911402309199
+:103C50001502409116025091170260E070E08FE764
+:103C600093E40E94A7AE60931208709313088093A8
+:103C7000140890931508089597FF03C080913908A0
+:103C800004C0FC01E45FF74F808190E00895CF937A
+:103C9000DF93D82FC62FC19561E00E9451A86C2FE9
+:103CA0008D2F0E948AA86C2F70E08D2FDF91CF910D
+:103CB0000C9447A7CF93C1E020E030E048E452E401
+:103CC00060914008709141088091420890914308AA
+:103CD0000E94A3B018160CF0C0E06C2F86E090E0B4
+:103CE000CF91D5CF2F923F924F925F926F927F925A
+:103CF0008F929F92AF92BF92CF92DF92EF92FF92FC
+:103D00000F931F93CF93DF93CDB7DEB728970FB6EE
+:103D1000F894DEBF0FBECDBF80913208882309F42E
+:103D2000F8C172DF8090400890904108A09042084E
+:103D3000B09043080091480810914908B8018827BD
+:103D400077FD8095982F0E9442AFA50194010E94B3
+:103D5000C6AD6B017C0160931A0870931B088093B9
+:103D60001C0890931D0820E030E040E251E40E94DE
+:103D7000A3B0181624F481E080931108F7C020E066
+:103D800030E040E251ECC701B6010E94A0AE87FDD1
+:103D900002C0012B21F481E0809311080CC18091B5
+:103DA0001108882351F010922E0810922F081092BB
+:103DB00030081092310810921108209118023091A9
+:103DC000190240911A0250911B02C701B6010E94CC
+:103DD00075B169837A838B839C8360932608709383
+:103DE0002708809328089093290820912E08309165
+:103DF0002F084091300850913108C701B6010E9448
+:103E0000C7AD2B013C012090160830901708109187
+:103E10001808009119089101412F502F0E94A0AE5F
+:103E200087FD14C0209012083090130810911408D8
+:103E3000009115089101412F502FB201C3010E943A
+:103E4000A3B018161CF01201162D072DC101A12FC9
+:103E5000B02F80932E0890932F08A0933008B09332
+:103E600031082091140230911502409116025091B0
+:103E70001702B101812F902F0E9475B16D837E834F
+:103E80008F83988760932208709323088093240877
+:103E90009093250820912A0830912B0840912C08F6
+:103EA00050912D08C501B4010E94C6AD20911002A9
+:103EB0003091110240911202509113020E9475B18B
+:103EC00020ED3CEC4CE45DE30E9475B12B013C011C
+:103ED00023E333E343E75FE360911E0870911F081B
+:103EE00080912008909121080E9475B19B01AC013E
+:103EF000C301B2010E94C7AD2B013C0160931E08B3
+:103F000070931F0880932008909321082D813E8193
+:103F10004F81588569817A818B819C810E94C7ADD0
+:103F2000A30192010E94C6AD2B013C0120E030E0CC
+:103F30004FE753E40E94A3B020E030E0A901181637
+:103F4000E4F4C701B6010E94A3B018167CF4A701DF
+:103F50009601B101812F902F0E94C6AD60932E086B
+:103F600070932F088093300890933108412C512C86
+:103F70009FE7692E93E4792E21C0C301B2010E940C
+:103F8000A0AE87FF1BC020E030E0A901C701B60149
+:103F90000E94A0AE87FF0FC0A7019601B101812F3B
+:103FA000902F0E94C6AD60932E0870932F088093C7
+:103FB000300890933108412C512C320180922A080C
+:103FC00090922B08A0922C08B0922D0860910408C2
+:103FD00070910508882777FD8095982F0E9442AF41
+:103FE0009B01AC01C501B4010E94A3B01816DCF41A
+:103FF0006091080270910902882777FD8095982FBB
+:104000000E9442AF9B01AC01C501B4010E94A0AE69
+:1040100087FF09C0C301B2010E940FAF7595679574
+:1040200060930C0802C010920C080E9431A9009104
+:1040300008081091090820910A0830910B08601BAC
+:10404000710B820B930B653C79408105910558F00B
+:1040500031DE0E9431A960930808709309088093AB
+:104060000A0890930B080E9431A900910D08109145
+:104070000E0820910F0830911008601B710B820B05
+:10408000930B683873418105910508F442C00E9482
+:1040900031A960930D0870930E0880930F089093D8
+:1040A0001008C0903A08D0903B08E0903C08F0908F
+:1040B0003D0820E030E040E751E4C701B6010E942E
+:1040C000A3B018161CF520E030E046E153E4C70128
+:1040D000B6010E94A0AE87FF19C06091460870919A
+:1040E0004708882777FD8095982F0E9442AF9B0153
+:1040F000AC01C701B6010E94A3B087FD03C01092B6
+:10410000390807C08FE78093390803C01092390837
+:10411000A59828960FB6F894DEBF0FBECDBFDF91ED
+:10412000CF911F910F91FF90EF90DF90CF90BF90B4
+:10413000AF909F908F907F906F905F904F903F9047
+:104140002F900895CF93DF931092160810921708BE
+:10415000109218081092190820911402309115023B
+:10416000409116025091170260E070E08FE793E4EF
+:104170000E94A7AE609312087093130880931408EE
+:10418000909315086D9A80910101806180930101DF
+:104190009D9A8091010180628093010187ED809357
+:1041A0007A0010927E0010927D0080917E008160E6
+:1041B00080937E0080917E00826080937E0080915B
+:1041C0007E00846080937E0080E888BD80916E00D0
+:1041D000846080936E006AEF70E080E090E00E945F
+:1041E00060A98FE090E0909305088093040860E058
+:1041F00080910A0290910B0237DC20E030E040E72A
+:1042000051E40E94A0AE87FF0AC080910A029091FB
+:104210000B02409790930B0280930A02E8CF8BE346
+:1042200091E0909309028093080260E08091060873
+:104230009091070819DC20E030E84DE953E40E9432
+:10424000A3B0181654F48091060890910708409680
+:104250009093070880930608E8CFC0910208D09198
+:104260000308CE0161DB20E030E046E153E40E9428
+:10427000A3B0181634F46096D0930308C0930208D4
+:10428000ECCFDF91CF9108950895109249081092D4
+:104290004808109247081092460810920C0875982A
+:1042A000109247081092460810923908A598089570
+:1042B0002F923F924F925F926F927F928F929F9236
+:1042C000AF92BF92CF92DF92EF92FF920F931F9324
+:1042D000CF93DF93CDB7DEB7AE970FB6F894DEBFBE
+:1042E0000FBECDBF6B8F7C8F8D8F292E5A8749874C
+:1042F0003CA72BA70E9431A96F8F78A389A39AA30B
+:104300000E9431A96FA378A789A79AA729853A8522
+:10431000121613061CF0E4E2F3E017C0E7E3F3E043
+:104320008191882339F09091C00095FFFCCF809354
+:10433000C600F6CF8091C00085FFFCCF1BC29091D4
+:10434000C00095FFFCCF8093C60081918111F7CF0B
+:104350008091C00085FFFCCF8AE08093C60095DF86
+:1043600049855A858FE7452B99F1809339088F8DC0
+:1043700098A1A9A1BAA1898B9A8BAB8BBC8B8D8795
+:104380009E87AF87B88B1D8290E4988FACE1A98F90
+:10439000B6E4BA8F1DA61D8A1E8A1F8A2FE730E059
+:1043A00040E050E029833A834B835C83EFE74E2E55
+:1043B000512C612C712C1BA21CA21DA21EA231E04B
+:1043C0003E8F1C861B86312C00E010E01EA605C027
+:1043D00080930C08CCCF0E949C7680913208882371
+:1043E00009F4F6C011DC49855A85452B51F030900F
+:1043F0003A0800913B0810913C0850913D085EA797
+:1044000009C0309040080091410810914208809105
+:1044100043088EA7232D302F412F5EA56DA57D89E2
+:104420008E899F890E94A3B018162CF03DA60D8B93
+:104430001E8B9EA59F8B232D302F412F5EA56D8156
+:10444000788D898D9A8D0E94A0AE87FD05C03D8232
+:10445000088F198FAEA5AA8F0E9431A92FA138A568
+:1044600049A55AA5621B730B840B950B653C7940DB
+:104470008105910538F01EDC0E9431A96FA378A751
+:1044800089A79AA74E8D442309F44FC02B8D3C8DEC
+:104490004D8D522D632D702F812F9EA50E94A3B0AC
+:1044A00018160CF095C00E9431A929893A894B89C8
+:1044B0005C89621B730B840B950B69387341810512
+:1044C000910508F485C0D301C20129813A814B814D
+:1044D0005C81821B930BA40BB50B49855A85B5955E
+:1044E000A79597958795452B19F08093390802C0B9
+:1044F00080930C080E9431A96D877E878F87988BE7
+:10450000DC01CB0129893A894B895C89821B930B99
+:10451000A40BB50B8BA39CA3ADA3BEA33B8D3DA762
+:104520004C8D4D8B5D8D5E8B2F8A2B8D3C8D4D8DF3
+:10453000522D632D702F812F9EA50E94A0AE87FF64
+:10454000EEC20E9431A92D853E854F855889621B98
+:10455000730B840B950B693873418105910508F441
+:10456000DEC20E9431A9698B7A8B8B8B9C8BDC011C
+:10457000CB012D853E854F855889821B930BA40B5B
+:10458000B50B4B855C85452B09F010C189819A815B
+:10459000AB81BC81840D951DA61DB71D29853A856B
+:1045A000B595A79597958795232B09F4B5C2809368
+:1045B00039084B855C854F5F5F4F5C874B875B8D10
+:1045C0005D838C8D888F9D8D998F2A8EA1E0AE8F13
+:1045D00020E030E040EA51E46B8D7C8D8D8D922D92
+:1045E0000E94C7AD9B01AC01632D702F812F9EA54A
+:1045F0000E94A3B0181694F4EFEFF2E084918823A0
+:1046000041F09091C00095FFFCCF8093C600319699
+:10461000F5CF8091C00085FFFCCFACC00E9431A9CE
+:104620002F8D38A149A15AA1621B730B840B950BE6
+:10463000613D77408105910508F44FC049855A8551
+:10464000452B81F0E0903908F12CE9EFF2E08491FC
+:104650008823C1F09091C00095FFFCCF8093C600E5
+:104660003196F5CFE0900C08F12CE3EFF2E0849165
+:10467000882341F09091C00095FFFCCF8093C60045
+:104680003196F5CF22E030E0432D502F612F7EA5EB
+:104690008CE99DE00E94308BEFEEF2E0849188235C
+:1046A00041F09091C00095FFFCCF8093C6003196F9
+:1046B000F5CF4AE050E0B7018CE99DE00E945A8AAC
+:1046C0008091C00085FFFCCF8AE08093C6000E94E5
+:1046D00031A96F8F78A389A39AA30E9431A96B0196
+:1046E0007C010E9431A989889A88AB88BC882D8575
+:1046F0003E854F855889820E931EA41EB51EC8188C
+:10470000D908EA08FB08C60ED71EE81EF91E31E8D4
+:10471000C3163FE4D30632E1E306F10490F0E2ED84
+:10472000F2E08491882341F09091C00095FFFCCF86
+:104730008093C6003196F5CF8091C00085FFFCCFF5
+:1047400019C04B855C858BA59CA5841795070CF03B
+:1047500042CEE6E7F2E08491882341F09091C000D8
+:1047600095FFFCCF8093C6003196F5CF8091C000B5
+:1047700085FFFCCF8AE08093C600AE960FB6F89412
+:10478000DEBF0FBECDBFDF91CF911F910F91FF9084
+:10479000EF90DF90CF90BF90AF909F908F907F90E1
+:1047A0006F905F904F903F902F9008958BA09CA0AA
+:1047B000ADA0BEA0880E991EAA1EBB1E2BA13CA1B7
+:1047C0004DA15EA1281B390B4A0B5B0BCA01B90135
+:1047D00029813A814B815C810E943BB2A501940101
+:1047E0000E94A0B2240D351D461D571D24313105F0
+:1047F0004105510504F129013A013CEE43165104EB
+:10480000610471042CF06BEE462E512C612C712C3E
+:1048100040E84416510461047104DCF08EEF90E02E
+:10482000A0E0B0E084199509A609B70989839A83A5
+:10483000AB83BC8312C054E1452E512C612C712CEA
+:1048400024E130E040E050E029833A834B835C83ED
+:1048500004C049825A826B827C82E8E6F3E084914C
+:10486000882341F09091C00095FFFCCF8093C60053
+:104870003196F5CF2AE030E0B301A2018CE99DE04A
+:104880000E94378AE3E6F3E08491882341F0909117
+:10489000C00095FFFCCF8093C6003196F5CF2AE08B
+:1048A00030E049815A816B817C818CE99DE00E94D6
+:1048B000378AECE5F3E08491882341F09091C000C1
+:1048C00095FFFCCF8093C6003196F5CF22E030E013
+:1048D0004D81588D698D7A8D8CE99DE00E94308BD9
+:1048E000E5E5F3E08491882341F09091C00095FFC5
+:1048F000FCCF8093C6003196F5CF22E030E04DA585
+:104900005D896E897F898CE99DE00E94308B809162
+:10491000C00085FFFCCF8AE08093C6002B853C85D4
+:10492000233031050CF432CE69817A818B819C81F0
+:104930000E9442AF20E030E040E850E40E9475B1B0
+:104940006B017C012D81388D498D5A8D6DA57D8936
+:104950008E899F890E94C6AD20ED3FE049E450E476
+:104960000E9475B120E030E040E05FE30E9475B145
+:104970009B01AC01C701B6010E94A7AE6B017C018F
+:10498000C501B4010E9442AF20E030E04AE754E4A0
+:104990000E94A7AE4B015C01EFE4F3E08491882311
+:1049A00041F09091C00095FFFCCF8093C6003196F6
+:1049B000F5CF22E030E0B701A6018CE99DE00E942E
+:1049C000308BE9E4F3E08491882341F09091C000BA
+:1049D00095FFFCCF8093C6003196F5CF22E030E002
+:1049E000B501A4018CE99DE00E94308B8091C0004C
+:1049F00085FFFCCF8AE08093C6002AE939E949E1C6
+:104A00005FE3C701B6010E9475B16B017C019B0198
+:104A1000AC010E94C7ADA50194010E94A7AE6D83B1
+:104A20007E838F839887A5019401C701B6010E94F8
+:104A300075B120E030E040E05EE30E9475B14B01CB
+:104A40005C01EBE3F3E08491882341F09091C00096
+:104A500095FFFCCF8093C6003196F5CF8091C000C2
+:104A600085FFFCCF8AE08093C600E5E3F3E0849104
+:104A7000882341F09091C00095FFFCCF8093C60041
+:104A80003196F5CF22E030E0B701A6018CE99DE038
+:104A90000E94308B8091C00085FFFCCF8AE080931C
+:104AA000C600EFE2F3E08491882341F09091C000CA
+:104AB00095FFFCCF8093C6003196F5CF22E030E021
+:104AC0004D815E816F8178858CE99DE00E94308BFD
+:104AD0008091C00085FFFCCF8AE08093C600E9E2A8
+:104AE000F3E08491882341F09091C00095FFFCCFC2
+:104AF0008093C6003196F5CF22E030E0B501A401E5
+:104B00008CE99DE00E94308B8091C00085FFFCCF36
+:104B10008AE08093C6003ACD80930C084ACD1E8E61
+:104B200057CDCF93C82FB1DB0E94E949811134C022
+:104B3000E5E3FEE09491992341F08091C00085FF68
+:104B4000FCCF9093C6003196F5CF6C2F70E04AE011
+:104B500050E08CE99DE00E945A8A8091C00085FF58
+:104B6000FCCF8AE08093C600ECE2F2E084918823D7
+:104B700041F09091C00095FFFCCF8093C600319624
+:104B8000F5CF8091C00085FFFCCF8AE08093C600FE
+:104B90008FE192E00E940D76CF910C94AA49CF93B9
+:104BA000C82F73DB0E94E949811134C0E5E3FEE0C0
+:104BB0009491992341F08091C00085FFFCCF9093A0
+:104BC000C6003196F5CF6C2F70E04AE050E08CE9DA
+:104BD0009DE00E945A8A8091C00085FFFCCF8AE048
+:104BE0008093C600E2EFF1E08491882341F0909138
+:104BF000C00095FFFCCF8093C6003196F5CF809121
+:104C0000C00085FFFCCF8AE08093C60085EE91E06E
+:104C10000E940D76CF910C94AA49A5980E94E9496B
+:104C2000811125C0E5E3FEE08491882341F0909155
+:104C3000C00095FFFCCF8093C6003196F5CFEBEA1C
+:104C4000F1E08491882341F09091C00095FFFCCF62
+:104C50008093C6003196F5CF8091C00085FFFCCFD0
+:104C60008AE08093C6008AE991E00E940D760C9458
+:104C7000AA491F920F920FB60F9211240BB60F92F2
+:104C80000F931F932F933F934F935F936F937F9354
+:104C90008F939F93AF93BF93CF93DF93EF93FF9344
+:104CA00080910702811112C080910C088093010845
+:104CB000882311F0759A01C0759880913908809306
+:104CC0000008882311F0A59A01C0A59890910108C9
+:104CD00080910702981708F47598909100088091C8
+:104CE0000702981708F4A598809107028F5F8F77C5
+:104CF000809307028091060290E08B30910508F0C6
+:104D000093C0FC01EE58FF4F0C94BCB210927B0094
+:104D100080E480937C0080917A00806480937A00A4
+:104D20000E94167681E019C02091780030917900B8
+:104D30008091FC079091FD07A091FE07B091FF07BD
+:104D4000820F931FA11DB11D8093FC079093FD0757
+:104D5000A093FE07B093FF0782E08093060264C031
+:104D600010927B0082E480937C0080917A008064C2
+:104D700080937A000E94167683E0EFCF209178002E
+:104D8000309179008091F8079091F907A091FA0786
+:104D9000B091FB07820F931FA11DB11D8093F807EF
+:104DA0009093F907A093FA07B093FB0784E0D5CF5F
+:104DB00010927B0081E480937C0080917A00806473
+:104DC00080937A000E94167685E0C7CF2091780004
+:104DD000309179008091F4079091F507A091F60742
+:104DE000B091F707820F931FA11DB11D8093F407A7
+:104DF0009093F507A093F607B093F70786E0ADCF41
+:104E00000E94167687E0A9CF88E0A7CF0E94167689
+:104E100089E0A3CF109206028091F3078F5F809301
+:104E2000F30702C0109206028091F307803108F464
+:104E300063C080913208811110C08091FC0790916D
+:104E4000FD0790934508809344088091F80790915E
+:104E5000F90790933F0880933E0881E080933208E1
+:104E60001092F3071092FC071092FD071092FE07B4
+:104E70001092FF071092F4071092F5071092F607B0
+:104E80001092F7071092EF071092F0071092F107B7
+:104E90001092F2071092F8071092F9071092FA0791
+:104EA0001092FB0720914408309145088091060834
+:104EB000909107088217930714F080E032DE20916A
+:104EC00044083091450880910A0290910B022817FE
+:104ED000390714F080E063DE20913E0830913F08EE
+:104EE0008091020890910308821793072CF010928A
+:104EF00047081092460891DE00E010E0E801CC0F70
+:104F0000DD1FCD5CD74F888199811816190644F4AE
+:104F100061E0802F0E94D59388819981019709C013
+:104F2000892B49F060E0802F0E94D5938881998178
+:104F30000196998388830F5F1F4F03301105F1F6A7
+:104F4000FF91EF91DF91CF91BF91AF919F918F91A1
+:104F50007F916F915F914F913F912F911F910F9191
+:104F60000F900BBE0F900FBE0F901F9018952CEA5C
+:104F700035EC47E25EE30C9475B12CEA35EC47E280
+:104F80005EE30C94A7AE2CEA35EC47E25EE30C94AA
+:104F9000A7AE2CEA35EC47E25EE30C9475B1CF93F3
+:104FA000DF93EC0160E08E810E948AA881E090E0AE
+:104FB0000E9484A961E08E810E948AA881E090E02D
+:104FC0000E9484A960E08E810E948AA884E690E015
+:104FD000DF91CF910C9484A9CF92DF92EF92FF9250
+:104FE0000F931F93CF93DF937C01C0E0D0E0C62ED8
+:104FF000D12C87010C0F1D1F61E0F80187810E94F1
+:1050000051A8B6010C2E02C0759567950A94E2F777
+:105010006170F80187810E948AA82196C430D10569
+:1050200041F7C701DF91CF911F910F91FF90EF9052
+:10503000DF90CF90B4CFCF92DF92EF92FF920F9399
+:105040001F93CF93DF937C01C0E0D0E0C62ED12C1C
+:1050500087010C0F1D1F61E0F80187810E9451A894
+:10506000B6010C2E02C0759567950A94E2F761703F
+:10507000F80187810E948AA82196C830D10541F79E
+:10508000C701DF91CF911F910F91FF90EF90DF90BB
+:10509000CF9085CF1F93CF93DF93EC01162F642F12
+:1050A0008C810E948AA88D818F3F19F060E00E9458
+:1050B0008AA88F85612F84FF05C0CE01DF91CF9133
+:1050C0001F91B9CF70E084E0759567958A95E1F7F7
+:1050D000CE0182DF612FCE01DF91CF911F917CCF76
+:1050E00040E0D8CF61E0FCDF80E496E00C9484A936
+:1050F00062E0F6DF80E496E00C9484A9CF93DF931E
+:10510000CDB7DEB728970FB6F894DEBF0FBECDBF80
+:1051100028E0E7EAF2E0DE01119601900D922A956F
+:10512000E1F7FC012389421710F04FEF420FFE0117
+:105130003196E40FF11DE40FF11D2081260F206848
+:10514000622F28960FB6F894DEBF0FBECDBFDF9159
+:10515000CF91C6CFFC016089262F2460208B6C6024
+:10516000BFCFCF93DF93EC01423018F08F8588607A
+:105170008F874B8B1C8A222329F0413019F48F85AD
+:1051800084608F8780E593EC0E9484A960E08C8125
+:105190000E948AA860E08E810E948AA88D818F3F3C
+:1051A00019F060E00E948AA86F8564FD19C063E071
+:1051B000CE0112DF84E991E10E9484A963E0CE016F
+:1051C0000BDF84E991E10E9484A963E0CE0104DF52
+:1051D00086E990E00E9484A962E0CE01FDDE13C062
+:1051E0006062CE017DDF84E991E10E9484A96F8530
+:1051F0006062CE0175DF86E990E00E9484A96F8528
+:105200006062CE016DDF6F856062CE0169DF84E090
+:10521000888BCE019FDFCE0165DF82E0898B66E05F
+:10522000CE01DF91CF915CCF6F927F928F92AF9240
+:10523000CF92EF920F931F93CF93DF93CDB7DEB74B
+:105240003C01162F842F5E854F8538899989F3019B
+:10525000848325830683E782C086A186828653875E
+:1052600044873587968761E00E9451A8F3018581C4
+:105270008F3F19F061E00E9451A861E0F30186813F
+:105280000E9451A8112319F0F301178603C080E191
+:10529000F301878720E041E060E1C301DF91CF9116
+:1052A0001F910F91EF90CF90AF908F907F906F9064
+:1052B00058CF8F92AF92CF92EF920F93DC0113965B
+:1052C0001C921E921297E5E6F3E0ED93FC931F9279
+:1052D0001F921F921F928C2CAE2CC02EE22E042FF8
+:1052E0002FEF462F61E0A0DF0F900F900F900F90EF
+:1052F0000F91EF90CF90AF908F900895CF93DF9361
+:10530000EC01423018F08F8588608F874B8B1C8AA8
+:10531000222329F0413019F48F8584608F8780E53E
+:1053200093EC0E9484A960E08C810E948AA860E0CE
+:105330008E810E948AA88D818F3F19F060E00E94C3
+:105340008AA86F8564FD19C063E0CE0145DE84E95B
+:1053500091E10E9484A963E0CE013EDE84E991E1FF
+:105360000E9484A963E0CE0137DE86E990E00E94C6
+:1053700084A962E0CE0130DE13C06062CE01B0DEEF
+:1053800084E991E10E9484A96F856062CE01A8DE64
+:1053900086E990E00E9484A96F856062CE01A0DE5C
+:1053A0006F856062CE019CDE84E0888BCE01D2DE08
+:1053B000CE019EDE82E0898B66E0CE0191DE40E088
+:1053C00068E0CE019BDE6EE873E0CE010E94BEADC8
+:1053D00041E068E0CE0192DE6EE873E0CE010E940B
+:1053E000BEAD42E066E0CE0189DE6CE873E0CE013E
+:1053F000DF91CF910C94BEADCF92DF92EF92FF92EE
+:105400000F931F93CF93DF931F921F92CDB7DEB7F9
+:105410008C01677088E0689FB00111246064C80146
+:1054200049835A835DDE4981C42E5A81D52EE12CF1
+:10543000F12CD6016D916D01D801ED91FC91019097
+:10544000F081E02DC8011995BFEFEB1AFB0AE8E0E7
+:10545000EE16F10471F70F900F90DF91CF911F912D
+:105460000F91FF90EF90DF90CF90089541E012DE12
+:1054700081E090E008952F923F924F925F926F9259
+:105480007F928F929F92AF92BF92CF92DF92EF92D4
+:10549000FF920F931F93CF93DF93CDB7DEB7CF5417
+:1054A000D1090FB6F894DEBF0FBECDBF1C017E8FB1
+:1054B0006D8F4A012FAB09AF2896EFAE28972C9637
+:1054C000ACAEBDAECEAEDFAE2C9734E0239F500124
+:1054D0001124FC01EA0DFB1D80819181A281B38121
+:1054E000898F9A8FAB8FBC8FDA01AA0DBB1DBCAF21
+:1054F000ABAF4D905D906D907C90A3019201698D52
+:105500007A8D8B8D9C8D0E94C7AD21966CAF7DAF3F
+:105510008EAF9FAF2197B4E00B9F80011124F10162
+:10552000E00FF11F20813181428153812F8F38A3F9
+:1055300049A35AA3A401400F511F23965FAF4EAF5A
+:105540002397DA01CD90DD90ED90FC90A7019601B4
+:105550006F8D78A189A19AA10E94C7AD27966CAFE3
+:105560007DAF8EAF9FAF27972896EFAD2897B4E019
+:10557000EB9FC0011124F101E80FF91F2081318157
+:10558000428153812BA33CA34DA35EA3ED8DFE8DE1
+:10559000E80FF91F60817181828193810E94C6ADFD
+:1055A0006FA378A789A79AA7AD8DBE8D1C968D9104
+:1055B0009D910D90BC91A02D60968CAF9DAFAEAF2C
+:1055C000BFAF6097D1011C962D913D914D915C919B
+:1055D0001F972BA73CA74DA75EA7A3019201505888
+:1055E0002D8B3E8B4F8B588FD701C601B058898BBE
+:1055F0009A8BAB8BBC8BED8DFE8DEA0DFB1D208154
+:105600003181428153812FA738AB49AB5AAB2196E8
+:105610002CAD3DAD4EAD5FAD21976FA578A989A9A1
+:105620009AA90E94C6AD6B017C01ED8DFE8DE00F45
+:10563000F11F80819181A281B3818BAB9CABADAB1B
+:10564000BEAB27962CAD3DAD4EAD5FAD2797BC01EF
+:10565000CD010E94C6AD4B015C01A70196016D8989
+:105660007E898F89988D0E9475B12B013C01A5011F
+:10567000940169897A898B899C890E9475B19B0103
+:10568000AC01C301B2010E94C7AD2B013C01A501D1
+:1056900094016D897E898F89988D0E9475B14B0127
+:1056A0005C01A701960169897A898B899C890E948E
+:1056B00075B19B01AC01C501B4010E94C6ADA30147
+:1056C00092010E943AAE6B017C0120E030E0A9011A
+:1056D0000E94A0AE87FF0AC02BED3FE049EC50E4EA
+:1056E000C701B6010E94C7AD6B017C01AA968FADC0
+:1056F000AA97882351F02BED3FE049EC50E4C70115
+:10570000B6010E94C6AD6B017C012FA538A949A93D
+:105710005AA9698D7A8D8B8D9C8D0E94A0AE8111C6
+:105720001FC02BA93CA94DA95EA96F8D78A189A1A5
+:105730009AA10E94A0AE811113C020E030E0A9011F
+:10574000C701B6010E94A0AE81110AC02BED3FE057
+:1057500049EC50E4C701B6010E94C7AD6B017C0162
+:10576000A9962CAD3DAD4EAD5FADA997C701B60171
+:105770000E9475B12FA138A549A55AA55F770E944F
+:10578000B0B04B015C012FE632E143E85AE30E94DE
+:10579000A0AE87FDC8C1C501B4010E947DAF0E94C3
+:1057A00014AF7A8F698FDB01AB2B21F4E1E0F0E0DD
+:1057B000FA8FE98F298D3A8DB90180E090E00E943F
+:1057C00040AF4B015C019B01AC01C701B6010E94D7
+:1057D000A7AE2B013C01A50194016FA178A589A575
+:1057E0009AA50E94A7AE6FA778AB89AB9AAB2BA501
+:1057F0003CA54DA55EA560966CAD7DAD8EAD9FAD13
+:1058000060970E94C6ADA50194010E94A7AE6BAB44
+:105810007CAB8DAB9EAB20E030E040E05FE3C301AA
+:10582000B2010E9475B1A30192010E9475B19B0162
+:10583000AC0160E070E080E89FE30E94C6AD6FA31A
+:1058400078A789A79AA7CE010196FC0128964FADAB
+:10585000289734E0439FE00DF11D11242BA13CA1BA
+:105860004DA15EA120833183428353832BA53CA5A8
+:105870004DA55EA52D873E874F87588BB12C41E003
+:1058800050E058A34F8F1C01BFA9A4E0BA9F800D20
+:10589000911D112498AF8FAB910159AD44E0549FF5
+:1058A000200D311D11243AAF29AFFCA7EBA74F8D76
+:1058B00058A1898D9A8D4817590708F01AC188E1B7
+:1058C0008B150CF444C02FA138A549A55AA56989A8
+:1058D0007A898B899C890E9475B16B017C01A30137
+:1058E00092016D897E898F89988D0E9475B1A7017B
+:1058F00096010E94C7ADA62E172F982E892E2FA194
+:1059000038A549A55AA56D897E898F89988D0E94F1
+:1059100075B16B017C01A301920169897A898B8938
+:105920009C890E9475B19B01AC01C701B6010E9420
+:10593000C6AD6D8B7E8B8F8B988FB3948A2D912FF4
+:10594000A92DB82D898B9A8BAB8BBC8B6CC0AF8D7E
+:10595000B8A1BD0180E090E00E9440AFA301920198
+:105960000E9475B16B017C010E94A4AE698B7A8B99
+:105970008B8B9C8BC701B6010E94D8B14B015C0197
+:10598000EBADFCADC080D180E280F380F7FAF094FB
+:10599000F7F8F0942396AEADBFAD23972D913D91CE
+:1059A0004D915C912BA33CA34DA35EA329893A8919
+:1059B0004B895C89C701B6010E9475B16D8B7E8BE6
+:1059C0008F8B988FA50194016BA17CA18DA19EA1C5
+:1059D0000E9475B19B01AC016D897E898F89988D7C
+:1059E0000E94C7AD6D8B7E8B8F8B988FA501940124
+:1059F000C701B6010E9475B16B017C0129893A8902
+:105A00004B895C896BA17CA18DA19EA10E9475B17F
+:105A10009B01AC01C701B6010E94C6AD698B7A8BB0
+:105A20008B8B9C8BB12C2D893E894F89588D21966B
+:105A30006CAD7DAD8EAD9FAD21970E94C7ADEFA936
+:105A4000F8AD608371838283938329893A894B8976
+:105A50005C8927966CAD7DAD8EAD9FAD27970E947A
+:105A6000C7ADA9ADBAAD6D937D938D939C931397FC
+:105A70002FA538A949A95AA9EBA5FCA56081718178
+:105A8000828193810E94C7ADABA5BCA56D937D9328
+:105A90008D939C9313972BA93CA94DA95EA96D8565
+:105AA0007E858F8598890E94C7AD6D877E878F8799
+:105AB000988BC1010E946A41FE01E659FF4F6F01B8
+:105AC0002C96ECACFDAC0EAD1FAD2C979E01235F68
+:105AD0003F4FAE01475F5F4FBE016B5F7F4FC1011C
+:105AE0000E94779A2F8D38A12F5F3F4F38A32F8FB9
+:105AF000DECE2D8D3E8D245F3F4F4D8D5E8D485FF8
+:105B00005F4F6D8D7E8D6C5F7F4FDE01A659BF4F5D
+:105B10006D012C96ECACFDAC0EAD1FAD2C978D8DB0
+:105B20009E8D0E94779AC15BDF4F0FB6F894DEBF5F
+:105B30000FBECDBFDF91CF911F910F91FF90EF90DE
+:105B4000DF90CF90BF90AF909F908F907F906F909D
+:105B50005F904F903F902F900895FC011482178220
+:105B6000138212828AEB95E09183808308952AEB59
+:105B700035E0FC01318320832781222319F004962C
+:105B80000C948C130895CF92DF92EF92FF920F93B3
+:105B90001F93CF93DF93EC01875B9F4FDEDFCE0136
+:105BA00086599F4FDADF7E0129E8E20EF11C87015A
+:105BB0006E0131E4C31A3EEFD30AC801CEDF015EA5
+:105BC0001F4F0C151D05C9F7FE01EF53FE4F89E16C
+:105BD000818314823596178ACE018C519E4FBDDF8A
+:105BE000FE01EB56FD4F108211821282138238960D
+:105BF00010821182128213821A821B8218821982E9
+:105C00006E0187E6C81A8DEFD80AF601108211825C
+:105C100012821382F80111821082FE01ED5FFD4FA6
+:105C2000108286E391E0F7019C01119221503040EF
+:105C3000E1F7FE01EF55FD4F81E08083C95BDF4F47
+:105C4000198218820E9431A968577C4E8F4F9F4F4E
+:105C5000F6016083718382839383DF91CF911F91DB
+:105C60000F91FF90EF90DF90CF900895FC0120E01E
+:105C70003EE2DB014C91403241F0283011F4308398
+:105C80003196DB014C91408331962F5F6F5F7F4FE0
+:105C90002B3079F7108208952F923F924F925F92A6
+:105CA0006F927F928F929F92AF92BF92CF92DF922C
+:105CB000EF92FF920F931F93CF93DF93CDB7DEB791
+:105CC000CA58D1090FB6F894DEBF0FBECDBF8C0104
+:105CD0006B017A014901CA57DF4F1882C658D0407C
+:105CE00084E0E80EF11C180191E1290E311CF80145
+:105CF000EA5BFF4FC957DF4FF983E883C758D040AD
+:105D00003801FEE56F1AFDEF7F0A58018CE5A81AED
+:105D10008DEFB80A80E4482E512C4C0E5D1E94E0A5
+:105D2000490E511CA101BE016F5F7F4FC7010E9448
+:105D3000F61118160CF03CC12C85322F3871303119
+:105D400009F09EC0F301808191810197029708F4C8
+:105D500097C0BE016F5F7F4FCE0187589F4F86DF90
+:105D6000A0961FAEA097F6018081811107C069E659
+:105D700073E0CE01815A9F4F0E9418B6B601CE0142
+:105D8000815A9F4F0E9418B6BE0167587F4FCE01BF
+:105D9000815A9F4F0E9418B669E673E0CE01815A7E
+:105DA0009F4F0E9418B6CE01805C9F4FD6DE21E047
+:105DB000AE0147585F4FB701C2010E9483158111A0
+:105DC00039C0F30180819181892BA1F5EFE2FEE0DA
+:105DD0008491882341F09091C00095FFFCCF80937F
+:105DE000C6003196F5CFEBE6F3E08191882339F0D8
+:105DF0009091C00095FFFCCF8093C600F6CF8091B4
+:105E0000C00085FFFCCF8AE08093C600FE01E75802
+:105E1000FF4F8191882339F09091C00095FFFCCF0E
+:105E20008093C600F6CF8091C00085FFFCCF8AE04A
+:105E30008093C6008BE1FE01EC5BFF4FDE0195967F
+:105E400001900D928A95E1F724968EAD9FAD24972F
+:105E50009CA38BA38AEB95E09AA389A320E030E072
+:105E6000AE014F5D5F4FBE01615A7F4FC80114DF25
+:105E7000CE0181967CDECE01805C9F4F78DE52CFD2
+:105E80008981882309F494C08E3209F44BCF8F3571
+:105E900009F448CFF80181898E3209F443CF8F3558
+:105EA00009F440CF23FD3ECF81E0303109F080E09E
+:105EB000C957DF4FE881F981C758D04080838111ED
+:105EC00008C08985873409F02DCF8A858E3709F47B
+:105ED00029CF98012C5F3F4FBE016F5F7F4FC901F3
+:105EE000C757DF4F2883C958D040C657DF4F388384
+:105EF000CA58D040BBDEF30180819181C757DF4F84
+:105F00002881C958D040C657DF4F3881CA58D04081
+:105F10000097F1F4F6018191882339F09091C00047
+:105F200095FFFCCF8093C600F6CFF90181918823BD
+:105F300039F09091C00095FFFCCF8093C600F6CF5A
+:105F40008091C00085FFFCCF8AE08093C600EACE36
+:105F50008130910539F4F501808191810196918319
+:105F60008083E0CE029709F0DDCE8114910439F0F0
+:105F7000B901C4010E9405B6892B71F419C0CA5732
+:105F8000DF4FF881C658D0402F2F30E0F5018081D7
+:105F900091812817390761F0CA57DF4FF881C65839
+:105FA000D040FF5FCA57DF4FF883C658D040BACE03
+:105FB000C657DF4F0FB6F894DEBF0FBECDBFDF91DF
+:105FC000CF911F910F91FF90EF90DF90CF90BF90F6
+:105FD000AF909F908F907F906F905F904F903F9089
+:105FE0002F9008950F931F93CF93DF93CDB7DEB714
+:105FF0006F970FB6F894DEBF0FBECDBF8C01FC01CA
+:10600000EE55FD4F1182108240E050E0BA01835BF3
+:106010009F4F0E94A912C801875B9F4F2BE1FC0193
+:106020003496DE01159601900D922A95E1F7FC0158
+:10603000828193819C838B838AEB95E09A83898309
+:1060400020E030E0AE014F5F5F4F62E973E0C801CE
+:1060500023DECE0101968BDD6F960FB6F894DEBF7E
+:106060000FBECDBFDF91CF911F910F9108952BE10E
+:10607000FB013496DC01149601900D922A95E1F70C
+:10608000FB0122813381FC01338322830895EF9247
+:10609000FF920F931F93CF93DF93EC011B82FC01C0
+:1060A000E05BFF4F8081882329F0CE01835B9F4F07
+:1060B0000E948C137E018FE3E81A8EEFF80A45E305
+:1060C00060E0C7010E94BF3A81111FC0EFE2FEE00D
+:1060D0008491882341F09091C00095FFFCCF80937C
+:1060E000C6003196F5CFE7E4F6E08491882341F0CD
+:1060F0009091C00095FFFCCF8093C6003196F5CFFC
+:106100008091C00085FFFCCF77C08E010A531E4FDF
+:1061100041E0B701C8010E945A1B811126C040E02E
+:10612000B701C8010E945A1B81111FC0E5E3FEE0C0
+:106130008491882341F09091C00095FFFCCF80931B
+:10614000C6003196F5CFE4E3F6E08491882341F070
+:106150009091C00095FFFCCF8093C6003196F5CF9B
+:106160008091C00085FFFCCF47C0B801CE01835BA2
+:106170009F4F0E94991081111FC0E5E3FEE08491BA
+:10618000882341F09091C00095FFFCCF8093C6001A
+:106190003196F5CFE4E2F6E08491882341F09091C6
+:1061A000C00095FFFCCF8093C6003196F5CF80915B
+:1061B000C00085FFFCCF20C081E08B83EFE2FEE0D2
+:1061C0008491882341F09091C00095FFFCCF80938B
+:1061D000C6003196F5CFE9E1F6E08491882341F0DD
+:1061E0009091C00095FFFCCF8093C6003196F5CF0B
+:1061F0008091C00085FFFCCF8AE08093C6008E01AD
+:10620000075B1F4FB801CE0186599F4F30DFC85939
+:10621000DF4F19830883DF91CF911F910F91FF907A
+:10622000EF900895FC01128213820895FC012381EE
+:10623000222311F021E022830895FC012281211103
+:1062400012820895AF92BF92CF92DF92EF92FF92A7
+:106250000F931F93CF93DF931F92CDB7DEB78C01BF
+:106260008FE2FB0181935F01D12C41E07801F1E4E1
+:10627000EF1AFEEFFF0A9FE1C92E2D2D30E0F70146
+:106280008081918128173907D8F4C29EC001C39E2E
+:10629000900D112483579F4FB501800F911F4983A3
+:1062A0000E944010C50149815C010196F5012081E1
+:1062B000222321F04D3810F44F5FF6CFD394DDCF79
+:1062C00047FD11C0B501C80188519E4F0F90DF9165
+:1062D000CF911F910F91FF90EF90DF90CF90BF90E3
+:1062E000AF900C944010F50110820F90DF91CF9188
+:1062F0001F910F91FF90EF90DF90CF90BF90AF90E4
+:1063000008953F924F925F926F927F928F929F92E9
+:10631000AF92BF92CF92DF92EF92FF920F931F93B3
+:10632000CF93DF93CDB7DEB7AC970FB6F894DEBF4F
+:106330000FBECDBF7C015B01FC018381882309F482
+:1063400008C1C70188519E4F0E948C13F701128229
+:10635000CE0101966C0101DC270198E6490E511C23
+:10636000C701875B9F4FF20191838083F501808194
+:106370008F3209F084C06FE270E0C5010E9423B63D
+:106380008C010F5F1F4F2AE0322E0115110509F411
+:106390007CC06FE270E0C8010E9423B64C010097F8
+:1063A00009F474C00817190708F070C03C01601A9E
+:1063B000710AA301B801CE0180960E944CB6E0E2BA
+:1063C000F0E0EC0FFD1FE60DF71D1082FE01B09608
+:1063D0008191882339F09091C00095FFFCCF809384
+:1063E000C600F6CF8091C00085FFFCCF3092C6007A
+:1063F000F201608171816115710519F06C5F7F4F49
+:1064000002C060E070E021E0AE01405E5F4FCE016F
+:1064100005960E94831581112BC0EEEFF4E0849164
+:10642000882341F09091C00095FFFCCF8093C60077
+:106430003196F5CFFE01B0968191882339F0909185
+:10644000C00095FFFCCF8093C600F6CFECEFF4E0E0
+:106450008491882341F09091C00095FFFCCF8093F8
+:10646000C6003196F5CF8091C00085FFFCCF6CC08F
+:10647000F201D182C08284010F5F1F4F86CFC70116
+:1064800086599F4FF201918380838501F2018081BB
+:106490009181009711F0049602C080E090E0B8016D
+:1064A0000E945916882339F1EEEEF4E08491882396
+:1064B00041F09091C00095FFFCCF8093C6003196CB
+:1064C000F5CFF8018191882339F09091C00095FFB4
+:1064D000FCCF8093C600F6CF8091C00085FFFCCF33
+:1064E0008AE08093C600F701E356FD4F10821182C7
+:1064F000128213822CC0E6EDF4E08491882341F0EF
+:106500009091C00095FFFCCF8093C6003196F5CFE7
+:10651000F8018191882339F09091C00095FFFCCF5C
+:106520008093C600F6CFE4EDF4E08491882341F037
+:106530009091C00095FFFCCF8093C6003196F5CFB7
+:106540008091C00085FFFCCF8AE08093C600C60121
+:106550000EDBAC960FB6F894DEBF0FBECDBFDF9159
+:10656000CF911F910F91FF90EF90DF90CF90BF9050
+:10657000AF909F908F907F906F905F904F903F90E3
+:106580000895CF93DF93EC018B818823C1F1E2EC76
+:10659000F4E08491882341F09091C00095FFFCCFF6
+:1065A0008093C6003196F5CFFE01E356FD4F408142
+:1065B0005181628173812AE030E08CE99DE00E9484
+:1065C000868AE0ECF4E08491882341F09091C00049
+:1065D00095FFFCCF8093C6003196F5CFCB56DD4FAB
+:1065E000488159816A817B812AE030E08CE99DE015
+:1065F0000E94868A8091C00085FFFCCF11C0E0EB2D
+:10660000F4E08491882341F09091C00095FFFCCF85
+:106610008093C6003196F5CF8091C00085FFFCCFF6
+:106620008AE08093C600DF91CF910895AF92BF9228
+:10663000CF92DF92EF92FF920F931F93CF93DF934E
+:106640005C01EB01FB0101900020E9F78F01015093
+:106650001109061B170B6C01F8E1CF1AFEEFDF0AD8
+:10666000F60110826EE470E0CE010E9423B67C0138
+:10667000009729F4F8013197EC0FFD1F0DC060E27F
+:1066800070E00E9423B6EC0121966AE270E0C70137
+:106690000E9423B6FC0131978DE081838AE08283DA
+:1066A0001382BE01C5018C519E4F0E94438BF6019F
+:1066B0008081882309F1E5E3FEE08491882341F09D
+:1066C0009091C00095FFFCCF8093C6003196F5CF26
+:1066D000EAE9F4E08491882341F09091C00095FFAD
+:1066E000FCCF8093C6003196F5CF8091C00085FF26
+:1066F000FCCF8AE08093C600DF91CF911F910F916C
+:10670000FF90EF90DF90CF90BF90AF9008952F92C1
+:106710003F924F925F926F927F928F929F92AF9231
+:10672000BF92CF92DF92EF92FF920F931F93CF937E
+:10673000DF93CDB7DEB7CC55D1090FB6F894DEBFE5
+:106740000FBECDBF4C018C010F551D4F662339F094
+:10675000F8011082F401838181111DC015C0F80178
+:106760008081882309F4AFC0F401E756FD4FC08053
+:10677000D180E280F3800E9431A9C616D706E806D0
+:10678000F90608F4A0C0E4CFC40181DCF4018381E0
+:10679000882309F498C07401F7E4EF0EF11CF701A7
+:1067A00081818F9380818F9381E994E09F938F9370
+:1067B0008E01015C1F4F1F930F930E945BB60F90D9
+:1067C0000F900F900F900F900F90B12CF801019047
+:1067D0000020E9F73197E01BF10BBE1684F4680145
+:1067E000CB0CD11CB7FCDA94F6018081992787FD88
+:1067F00090950E9498B5F6018083B394E7CFFDE4AD
+:106800008F0E911C40E050E0BA01C4010E94A91211
+:10681000512CCE0101966C013AE8632E34E0732EC0
+:106820005E0191E2A90EB11C40E050E0B601C40146
+:106830000E94F6111816DCF5412CF601019000209B
+:10684000E9F73197EC19FD094E1674F41601240C82
+:10685000311C47FC3A94F101808190E00E9498B588
+:10686000F10180834394E9CF8A858E37E9F245E0D0
+:1068700050E0B801C6010E943EB6892BA9F61F93CD
+:106880000F937F926F92BF92AF920E945BB6C50149
+:106890000E94C03D86E894E00E94333E0F900F9026
+:1068A0000F900F900F900F9055245394BDCF51101F
+:1068B00004C08FEF9FEFF70104C0F7018081918141
+:1068C000019691838083C45ADF4F0FB6F894DEBFE0
+:1068D0000FBECDBFDF91CF911F910F91FF90EF9031
+:1068E000DF90CF90BF90AF909F908F907F906F90F0
+:1068F0005F904F903F902F9008950F931F93CF93E9
+:10690000DF93EC018C0108511E4FC8010E94421315
+:10691000C8010E948C1318821982DF91CF911F91B8
+:106920000F910895CF92DF92EF92FF920F931F93F2
+:10693000CF93DF93CDB7DEB76F970FB6F894DEBF76
+:106940000FBECDBF8C016A017C0188E6E80EF11C08
+:10695000C80186599F4FF70191838083E65CFD4F04
+:1069600022E030E03183208332967183608340E0FF
+:1069700050E0BA0104960E94A912F701808191812A
+:106980002BE1FC013496DE01159601900D922A95BB
+:10699000E1F7FC01828193819C838B838AEB95E0F4
+:1069A0009A8389839601AE014F5F5F4F62E973E07E
+:1069B000C80172D9CE010196DAD86F960FB6F89455
+:1069C000DEBF0FBECDBFDF91CF911F910F91FF9022
+:1069D000EF90DF90CF9008952F923F924F925F9269
+:1069E0006F927F928F929F92AF92BF92CF92DF92DF
+:1069F000EF92FF920F931F93CF93DF93CDB7DEB744
+:106A0000AC970FB6F894DEBF0FBECDBF8C016B0103
+:106A1000342EDC0113968C91882309F4EEC2F80120
+:106A2000E551FE4F8081882309F4F5C02111C1C0D2
+:106A30007801BDEFEB1AFB0AF7018081882361F131
+:106A4000E5E3FEE08491882341F09091C00095FF3A
+:106A5000FCCF8093C6003196F5CFE6EDF5E084914A
+:106A6000882341F09091C00095FFFCCF8093C60031
+:106A70003196F5CF4AE050E061E070E08CE99DE0AE
+:106A80000E945A8A8091C00085FFFCCF8AE08093E3
+:106A9000C6000E942245B1C2EFE2FEE08491882345
+:106AA00041F09091C00095FFFCCF8093C6003196D5
+:106AB000F5CFEDEBF5E08491882341F09091C00093
+:106AC00095FFFCCF8093C6003196F5CFF6018191FA
+:106AD000882339F09091C00095FFFCCF8093C600C9
+:106AE000F6CFE2EBF5E08491882341F09091C0006D
+:106AF00095FFFCCF8093C6003196F5CFD7018C91DE
+:106B00005DE8B52EB801B89E600D711D1124685F57
+:106B10007D4FC80197DBF7018081F801B89EE00D39
+:106B2000F11D1124E85FFD4F8191882339F0909188
+:106B3000C00095FFFCCF8093C600F6CFECEAF5E0ED
+:106B40008491882341F09091C00095FFFCCF809301
+:106B5000C6003196F5CF5801F3E6AF1AFDEFBF0A34
+:106B6000D5014D915D916D917C912AE030E08CE9E9
+:106B70009DE00E94868A8091C00085FFFCCF8AE05C
+:106B80008093C600F7012081F80184E0289FE00D82
+:106B9000F11D1124EC5FFD4FD5014D915D916D917B
+:106BA0007C9140835183628373832F5FF70120833D
+:106BB0002CC0EFE2FEE08491882341F09091C00068
+:106BC00095FFFCCF8093C6003196F5CFEBE9F5E059
+:106BD0008491882341F09091C00095FFFCCF809371
+:106BE000C6003196F5CFF6018191882339F0909156
+:106BF000C00095FFFCCF8093C600F6CF8091C00007
+:106C000085FFFCCF8AE08093C600C80188519E4F63
+:106C10000E948C1330C0F801ED5FFD4F1082EFE24F
+:106C2000FEE08491882341F09091C00095FFFCCF55
+:106C30008093C6003196F5CFEAE8F5E08491882389
+:106C400041F09091C00095FFFCCF8093C600319633
+:106C5000F5CFF6018191882339F09091C00095FF1E
+:106C6000FCCF8093C600F6CF8091C00085FFFCCF9B
+:106C70008AE08093C600D80112961C92FE013196DC
+:106C80005F01CF010E94AD2D2801F8E64F0E511C87
+:106C9000C801875B9F4FD2018D939C93F601808141
+:106CA0008F3209F084C06FE270E0C6010E9423B603
+:106CB00001967C014AE0242EE114F10409F47DC020
+:106CC0006FE270E0C7010E9423B64C01009709F4FF
+:106CD00075C0E816F90608F071C03C016E187F080F
+:106CE000A301B701CE0180960E944CB6E0E2F0E02D
+:106CF000EC0FFD1FE60DF71D1082FE01B09681918D
+:106D0000882339F09091C00095FFFCCF8093C60096
+:106D1000F6CF8091C00085FFFCCF2092C600D20143
+:106D20006D917C916115710519F06C5F7F4F02C008
+:106D300060E070E021E0AE01405E5F4FCE0105965D
+:106D40000E94831581112BC0E6E7F5E0849188232A
+:106D500041F09091C00095FFFCCF8093C600319622
+:106D6000F5CFFE01B0968191882339F09091C00053
+:106D700095FFFCCF8093C600F6CFE4E7F5E0849161
+:106D8000882341F09091C00095FFFCCF8093C6000E
+:106D90003196F5CF8091C00085FFFCCF02C1F20192
+:106DA000B182A0827401FFEFEF1AFF0A85CFC801FC
+:106DB00086599F4FD2018D939C937601F801E8513B
+:106DC000FE4F4F01332009F4B1C0D2016D917C9187
+:106DD0006115710519F06C5F7F4F02C060E070E0D3
+:106DE00021E0A701C4010E948315882309F474C01F
+:106DF000F40181899289A389B489F801EB56FD4F8A
+:106E000080839183A283B383E6E6F5E08491D80181
+:106E1000AB56BD4F882349F09091C00095FFFCCF41
+:106E20008093C60031968491F5CFF7018191882334
+:106E300039F09091C00095FFFCCF8093C600F6CF4B
+:106E4000EEE5F5E08491882341F09091C00095FF34
+:106E5000FCCF8093C6003196F5CF4D915D916D9139
+:106E60007C912AE030E08CE99DE00E94868A809146
+:106E7000C00085FFFCCF8AE08093C600F801E3568E
+:106E8000FD4F1082118212821382E0E5F5E08491B9
+:106E9000882341F09091C00095FFFCCF8093C600FD
+:106EA0003196F5CF8091C00085FFFCCF8AE08093BA
+:106EB000C600A70160E070E0C80134DDD80151963A
+:106EC0008C91882319F0C801419601C0C7010E9426
+:106ED00048728EE793E08CC0ECE3F5E08491882360
+:106EE00041F09091C00095FFFCCF8093C600319691
+:106EF000F5CFF7018191882339F09091C00095FF7B
+:106F0000FCCF8093C600F6CFEAE3F5E084918823B6
+:106F100041F09091C00095FFFCCF8093C600319660
+:106F2000F5CF8091C00085FFFCCF3BC0F2016081AE
+:106F300071816115710519F06C5F7F4F02C060E0CF
+:106F400070E026E5A701C4010E94831581112DC0C0
+:106F5000E6E2F5E08491882341F09091C00095FF2E
+:106F6000FCCF8093C6003196F5CFF701819188233D
+:106F700039F09091C00095FFFCCF8093C600F6CF0A
+:106F8000E4E2F5E08491882341F09091C00095FF00
+:106F9000FCCF8093C6003196F5CF8091C00085FF6D
+:106FA000FCCF8AE08093C60025C081E0D8018C9395
+:106FB000E2E1F5E08491882341F09091C00095FFD3
+:106FC000FCCF8093C6003196F5CFF60181918823DE
+:106FD00039F09091C00095FFFCCF8093C600F6CFAA
+:106FE0008091C00085FFFCCF8AE08093C600C70176
+:106FF0000E944872C5010E94B72DAC960FB6F89456
+:10700000DEBF0FBECDBFDF91CF911F910F91FF90DB
+:10701000EF90DF90CF90BF90AF909F908F907F9038
+:107020006F905F904F903F902F90089521E0FC016A
+:10703000218340E0D1CCCF92DF92EF92FF920F9369
+:107040001F93CF93DF93CDB7DEB76F970FB6F8944A
+:10705000DEBF0FBECDBF8C016C0128E6C20ED11C75
+:1070600086599F4FF60191838083E65CFD4F21E0B6
+:1070700030E0318320837801FCE5EF1AFDEFFF0A51
+:10708000F7011182108240E050E0BA0104960E949C
+:10709000A912F601808191812BE1FC013496DE0179
+:1070A000159601900D922A95E1F7FC01828193815A
+:1070B0009C838B838AEB95E09A83898320E030E080
+:1070C000AE014F5F5F4F62E973E0C8010E944C2E32
+:1070D000CE0101960E94B72DF701808191816F96B4
+:1070E0000FB6F894DEBF0FBECDBFDF91CF911F91D9
+:1070F0000F91FF90EF90DF90CF900895AF92BF92E5
+:10710000CF92DF92EF92FF920F931F93CF93DF9373
+:10711000CDB7DEB76F970FB6F894DEBF0FBECDBF09
+:107120008C017B01CE0101960E94AD2DF801EF5834
+:10713000FF4F80816801811104C029E4C20ED11C77
+:1071400003C08AE6C80ED11C21E0A701B6016C5F1E
+:107150007F4FCE0105960E94831581112DC0EFE26D
+:10716000FEE08491882341F09091C00095FFFCCF10
+:107170008093C6003196F5CFE0E7F4E08491882350
+:1071800041F09091C00095FFFCCF8093C6003196EE
+:10719000F5CFF7018191882339F09091C00095FFD8
+:1071A000FCCF8093C600F6CF8091C00085FFFCCF56
+:1071B0008AE08093C60036C0F801E154FE4F80811A
+:1071C00091818A30910530F59C012F5F3F4F3183CB
+:1071D00020832FE1289F7001299FF00C112429E8BA
+:1071E000E20EF11CE00EF11E5C01B701C7014F96E3
+:1071F0000E94373081E0A81AB1082FE1E21AF108A5
+:107200008FEFA816B80689F7B601C80187579F4FB8
+:107210000E943730BE016F5F7F4FC80186599F4F74
+:107220000E943730CE0101960E94B72D6F960FB69F
+:10723000F894DEBF0FBECDBFDF91CF911F910F91AC
+:10724000FF90EF90DF90CF90BF90AF900895EF92B6
+:10725000FF920F931F93CF93DF93EC01C154DE4F46
+:107260002881398121153105F9F0215031093983FF
+:1072700028838C0107571F4FB80186599F4F0E94E2
+:107280003730C80100E010E07C012FE1E20EF11C74
+:10729000288139810217130738F40F5F1F4FB70198
+:1072A0000E943730C701F0CFDF91CF911F910F912E
+:1072B000FF90EF900895EF92FF920F931F93CF935B
+:1072C000DF93EC010E943D938E010D5F1D4FF8018D
+:1072D00080819E0128513E4F79018823A1F1C90187
+:1072E0000E948C13F801808181508083BE01FDE8EB
+:1072F0008F9F600D711D1124685F7D4F21E041E07B
+:10730000CE016ADBF8018081FE0124E0829FE00D5E
+:10731000F11D1124EC5FFD4F408151816281738129
+:10732000FE01E356FD4F4083518362837383C7019F
+:107330000E94A912CE01DF91CF911F910F91FF9072
+:10734000EF900C9416310E94B393C7010E948C13E6
+:107350001A8284E694E0DF91CF911F910F91FF9004
+:10736000EF9081C48FEF8EBD0DB407FEFDCF8EB5BB
+:1073700008958EBD0DB407FEFDCF089561E0FC01B8
+:1073800080810C948AA8FC012281322F306A3695C4
+:107390003CBD20FD06C031E0263009F430E0232F4B
+:1073A00001C020E02DBD60E0FC0180810C948AA822
+:1073B000CF92DF92EF92FF920F931F93CF93DF93C1
+:1073C000EC018B017A010E9431A96B01CBDF8B8329
+:1073D0008F3F49F40E9431A96C197D096D327140CB
+:1073E000A8F381E144C08E3F11F08FE040C0E1146A
+:1073F000F104D9F0C70101972FEF2EBDF8014FEF2F
+:107400009F01201B310B2817390738F40DB407FEF4
+:10741000FDCF2EB521934EBDF3CF0DB407FEFDCFAA
+:107420002EB5F801E80FF91F2083D801E00EF11EF8
+:10743000C12CD12CAE15BF0579F08D91ED2DFF2714
+:10744000E827EE0FFF1FEC5AF94F85919491DC2C41
+:10745000CC24C826D926EECF85DF082F10E0102FC8
+:10746000002780DF082BC016D10631F080E2898327
+:10747000CE0184DF80E003C0CE0180DF81E0DF91B8
+:10748000CF911F910F91FF90EF90DF90CF900895D3
+:107490000F931F93CF93DF93EB010E9431A98B01D0
+:1074A00061DF8F3F49F00E9431A9601B710B6C179F
+:1074B0007D07B0F380E001C081E0DF91CF911F91A3
+:1074C0000F910895CF92DF92FF920F931F93CF9366
+:1074D000DF9300D01F92CDB7DEB76C01F62E298363
+:1074E0003A834B835C834FDF6CE271E0C601D0DFEF
+:1074F0008F2D80643EDF08E110E05C814B813A8192
+:107500002981DA01C901002E04C0B695A795979587
+:1075100087950A94D2F729833A834B835C8329DFCA
+:107520000850110929813A814B815C81083F8FEF16
+:10753000180739F7FF2029F0E8E0FE1621F08FEF59
+:1075400003C085E901C087E814DFFCE0FF1201C039
+:1075500009DF10E007DFF601838387FF04C01F3FC8
+:1075600011F01F5FF7CF0F900F900F900F90DF91EA
+:10757000CF911F910F91FF90DF90CF900895BF9210
+:10758000CF92DF92EF92FF920F931F93CF93DF93EF
+:10759000EC01B62E1C82198248830E9431A98B010E
+:1075A00061E088810E9451A8CE01E8DE60E082E3BC
+:1075B0000E9451A861E083E30E9451A861E084E346
+:1075C0000E9451A861E085E30E9451A861E085E333
+:1075D0000E948AA885E08A8382E58CBD1DBC6AE092
+:1075E000F62E8FEFC6DEFA94E1F720E030E0A90135
+:1075F00060E0CE0167DFF82E8B8381E0F81649F05A
+:107600000E9431A9601B710B613D774070F381E0EE
+:1076100046C02AEA31E040E050E068E0CE0152DFA7
+:1076200082FF02C0FC820CC054E0F52E9BDE8B83EF
+:10763000FA94E1F78A3A11F082E031C082E08C835B
+:107640008C81823031F4C12CD12CE12C40E4F42E19
+:1076500003C0C12CD12C760120E030E0A90167E302
+:10766000CE0130DFA701960169E2CE012BDF8B83CB
+:10767000882349F00E9431A9601B710B613D77405E
+:1076800058F38AE00CC08C818230B1F420E030E005
+:10769000A9016AE3CE0116DF882329F088E08983F7
+:1076A000CE016CDE14C05EDE807C803C11F483E091
+:1076B0008C8358DE57DE56DECE0160DE86E08B1509
+:1076C00018F488E1898303C0BA8281E001C080E0B8
+:1076D000DF91CF911F910F91FF90EF90DF90CF90AE
+:1076E000BF900895AF92BF92CF92DF92EF92FF9238
+:1076F0000F931F93CF93DF93EC016A017B01890104
+:107700008C81833039F0F9E0CC0CDD1CEE1CFF1CC1
+:10771000FA95D1F773E0B72EE4E0AE2EBA94A70144
+:10772000960161E1CE01CEDE882311F0A98207C067
+:1077300040E052E0B801CE013BDE81110EC0CE0127
+:10774000BB2049F01BDE20E030E0A9016CE0CE0157
+:10775000B9DE1982E3CF12DE80E0DF91CF911F9175
+:107760000F91FF90EF90DF90CF90BF90AF90089572
+:10777000CF93DF93EC016EBD20E030E00DB407FE47
+:10778000FDCFFA01E20FF31F80818EBD0DB407FE1D
+:10779000FDCF81818EBD2E5F3F4F211582E03807DE
+:1077A00069F70DB407FEFDCF8FEFE3DD8FEFE1DD6D
+:1077B000D9DD8B838F71853031F083E18983CE01F0
+:1077C000DDDD80E001C081E0DF91CF9108950F936E
+:1077D0001F93CF93DF93EC0189018C81833039F0C3
+:1077E000B9E0440F551F661F771FBA95D1F79A016C
+:1077F000AB0168E1CE0166DE882311F086E01EC091
+:10780000A8016EEFCE01B4DF8823C9F068E572E00D
+:10781000CE013EDE182F811102C087E10FC020E0AB
+:1078200030E0A9016DE0CE014DDE811106C09ADD88
+:10783000811103C0CE01A2DD05C086E18983CE019E
+:107840009DDD10E0812FDF91CF911F910F91089561
+:10785000FC01659175918591949108952F923F92C5
+:107860004F925F926F927F928F929F92AF92BF9250
+:10787000CF92DF92EF92FF920F931F93CF93DF93FC
+:1078800000D000D0CDB7DEB71C01FC01E051F24FB3
+:1078900014919C01220F331F220F331F3E832D832F
+:1078A0002C5B354F4901F90110821182128213823B
+:1078B00020E53AE04CE45AE068E47AE084E49AE0B7
+:1078C0000E943EA48D819E818150924FC1DF6B0149
+:1078D0007C01612F772767FD7095872F972F0E9476
+:1078E00042AF2B013C012D813E81215F354F590173
+:1078F00020E030E040EC5FE3C701B6010E9475B1C3
+:10790000A30192010E9475B1F501608371838283A6
+:1079100093832D813E81215A3D4F3C832B83F90176
+:107920006081718182819381609321027093220230
+:10793000809323029093240220E030E040E752E459
+:107940000E94A7AE20E3C22E2AE0D22E7B018C013A
+:107950002BE13AE047E15AE063E17AE08FE09AE018
+:107960000E94779A0E943D93F40110821182128244
+:10797000138220E53AE04CE45AE068E47AE084E4DB
+:107980009AE00E943EA42D813E812D50324F3A83D1
+:107990002983C9015DDF9058A30192010E9475B14E
+:1079A000F501608371838283938320E030E040E7B8
+:1079B00052E4609121027091220280912302909101
+:1079C00024020E94A7AE7B018C012BE13AE047E143
+:1079D0005AE063E17AE08FE09AE00E94779A0E9491
+:1079E0003D9389819A8134DF9B01AC010E94C7AD30
+:1079F000A30192010E9475B1F501608371838283B6
+:107A0000938320E030E040E05FE3EB81FC81608124
+:107A10007181828193810E9475B16093210270937C
+:107A20002202809323029093240220E030E040E77A
+:107A300052E40E94A7AE7B018C012BE13AE047E1C2
+:107A40005AE063E17AE08FE09AE00E94779A0E9420
+:107A50003D938D819E81855F914FFADE0D811E8160
+:107A6000085C154FF80120813181428153810E94C9
+:107A7000C7ADF40160837183828393838D819E817E
+:107A80008D5D914FE5DE2D813E812D5B3D4F79016E
+:107A9000F80120813181428153810E94C7ADF701F5
+:107AA00060837183828393838D819E81895E914FF0
+:107AB000CFDE2D813E81295C3D4F7901F801208187
+:107AC0003181428153810E94C7ADF7016083718388
+:107AD00082839383F40180819181A281B381F50136
+:107AE00080839183A283B383109221021092220299
+:107AF00010922302109224020E94EA8BF101EB5CA7
+:107B0000F54F81E0808326960FB6F894DEBF0FBE56
+:107B1000CDBFDF91CF911F910F91FF90EF90DF903C
+:107B2000CF90BF90AF909F908F907F906F905F901D
+:107B30004F903F902F900895FC012491222341F013
+:107B40003091C00035FFFCCF2093C6000196F4CFE2
+:107B500022E030E08CE99DE00C94308BFC01249114
+:107B6000222341F03091C00035FFFCCF2093C600A6
+:107B70000196F4CF2AE030E08CE99DE00C94868AEF
+:107B80002091640830916508243031050CF06AC0FA
+:107B9000409166085091670860E6649F9001659F78
+:107BA000300D1124BC01C9018259974F0E9437B68C
+:107BB000EFE2FEE08491882341F09091C00095FFB0
+:107BC000FCCF8093C6003196F5CFE5EEFDE08491C1
+:107BD000882341F09091C00095FFFCCF8093C600B0
+:107BE0003196F5CF809166089091670820E6289F2E
+:107BF000F001299FF00D1124E259F74F819188235C
+:107C000039F09091C00095FFFCCF8093C600F6CF6D
+:107C1000E3EEFDE08491882341F09091C00095FF50
+:107C2000FCCF8093C6003196F5CF8091C00085FFD0
+:107C3000FCCF8AE08093C600809166089091670827
+:107C4000019664E070E00E946BB2909367088093A5
+:107C50006608809164089091650801969093650884
+:107C60008093640808952091640830916508243059
+:107C700031050CF06AC0409166085091670860E6D3
+:107C8000649F9001659F300D1124BC01C901825988
+:107C9000974F0E94A0B5EFE2FEE08491882341F067
+:107CA0009091C00095FFFCCF8093C6003196F5CF30
+:107CB000E8EDFDE08491882341F09091C00095FFAC
+:107CC000FCCF8093C6003196F5CF809166089091E5
+:107CD000670820E6289FF001299FF00D1124E25942
+:107CE000F74F8191882339F09091C00095FFFCCF28
+:107CF0008093C600F6CFE6EDFDE08491882341F045
+:107D00009091C00095FFFCCF8093C6003196F5CFCF
+:107D10008091C00085FFFCCF8AE08093C6008091EF
+:107D2000660890916708019664E070E00E946BB26B
+:107D30009093670880936608809164089091650825
+:107D40000196909365088093640808959B9AA39880
+:107D50000895FCDF40E052EC61E070E08CE99DE0CA
+:107D60000E944689E0EDFDE08491882341F09091E6
+:107D7000C00095FFFCCF8093C6003196F5CF80916F
+:107D8000C00085FFFCCF8AE08093C6008FE29EE0B2
+:107D9000FC012491222341F03091C00035FFFCCF3B
+:107DA0002093C6003196F5CF24B720FF14C0E8EC2D
+:107DB000FDE03491332341F04091C00045FFFCCFFA
+:107DC0003093C6003196F5CF3091C00035FFFCCF1F
+:107DD0003AE03093C60021FF14C0E8EBFDE0349197
+:107DE000332341F04091C00045FFFCCF3093C600E3
+:107DF0003196F5CF3091C00035FFFCCF3AE030939B
+:107E0000C60022FF14C0E7EAFDE03491332341F0BD
+:107E10004091C00045FFFCCF3093C6003196F5CFAE
+:107E20003091C00035FFFCCF3AE03093C60023FF0D
+:107E300014C0E7E9FDE03491332341F04091C000E4
+:107E400045FFFCCF3093C6003196F5CF3091C0008E
+:107E500035FFFCCF3AE03093C60025FF14C0E7E8B9
+:107E6000FDE02491222341F03091C00035FFFCCF8A
+:107E70002093C6003196F5CF2091C00025FFFCCF9E
+:107E80002AE02093C60014BEE0E8FDE024912223FE
+:107E900041F03091C00035FFFCCF2093C6003196F1
+:107EA000F5CFEAE7FDE02491222341F03091C000B4
+:107EB00035FFFCCF2093C6003196F5CF2091C0004E
+:107EC00025FFFCCF2AE02093C600FC012491EFE2BD
+:107ED000FEE0222349F03091C00035FFFCCF209313
+:107EE000C60031962491F5CFEAE6FDE024912223E5
+:107EF00041F03091C00035FFFCCF2093C600319691
+:107F0000F5CFE5E5FDE02491222341F03091C0005A
+:107F100035FFFCCF2093C6003196F5CFE9E4FDE0B4
+:107F20002491222341F03091C00035FFFCCF2093F3
+:107F3000C6003196F5CFE2E3FDE02491222341F023
+:107F40003091C00035FFFCCF2093C6003196F5CFAD
+:107F50002091C00025FFFCCF2AE02093C600E7E275
+:107F6000FDE02491222341F03091C00035FFFCCF89
+:107F70002093C6003196F5CFEBE1FDE0249122235A
+:107F800041F03091C00035FFFCCF2093C600319600
+:107F9000F5CF2091C00025FFFCCF2AE02093C6003A
+:107FA000FC018491EFE2FEE0882349F09091C0004B
+:107FB00095FFFCCF8093C60031968491F5CFECE01D
+:107FC000FDE08491882341F09091C00095FFFCCFA3
+:107FD0008093C6003196F5CF0E9458964AE050E053
+:107FE000BC018CE99DE00E945A8AE5EFFCE0849197
+:107FF000882341F09091C00095FFFCCF8093C6008C
+:108000003196F5CF4AE050E060ED74E08CE99DE0F8
+:108010000E945A8A8091C00085FFFCCF8AE080933D
+:10802000C60010926A0810926B0810926C081092A9
+:108030006D080E9467870E9439830E94A2200E94D7
+:10804000279A0E9446950E947076FFEF23ED80E309
+:10805000F15020408040E1F700C000000895809179
+:108060005E0890915F0860E070E001960C94F7B2B2
+:1080700080915E0890915F084AE050E060E070E017
+:1080800001960C945FB4682F772767FD7095209157
+:1080900068083091690840E6429FC001439F900DF7
+:1080A00011248259974F0E9423B690935F088093C2
+:1080B0005E0821E0892B09F420E0822F08950E94B8
+:1080C00031A960935A0870935B0880935C08909381
+:1080D0005D0808950E9431A960935A0870935B0867
+:1080E00080935C0890935D08E0916808F0916908BE
+:1080F000E659F74F8081811114C0ECEFF8E08491CC
+:10810000882341F09091C00095FFFCCF8093C6007A
+:108110003196F5CF8091C00085FFFCCF8AE0809337
+:10812000C60008958CE99DE00E949889EFEFF8E081
+:108130008491882341F09091C00095FFFCCF8093FB
+:10814000C6003196F5CF4091F3095091F409609142
+:10815000F5097091F6094F5F5F4F6F4F7F4F2AE02F
+:1081600030E08CE99DE00E94378A8091C00085FF55
+:10817000FCCF8AE08093C600ADCF8F929F92AF92E2
+:10818000BF92CF92DF92EF92FF920F931F93CF9304
+:10819000DF9337ECE32E34E0F32E04E41AE0CFE073
+:1081A000DAE049E5C42E4AE0D42EF70181917F013F
+:1081B0006ADF882311F153DF4B015C01F6018081F6
+:1081C000811103C06091EE0901C061E070E080E0C0
+:1081D00090E00E9442AFF8012081318142815381B9
+:1081E0000E9475B19B01AC01C501B4010E94C7ADED
+:1081F000688379838A839B8309C0F8018081918198
+:10820000A281B38188839983AA83BB830C5F1F4FAC
+:108210002496FFEFCF1ADF0A8BECE81684E0F8060D
+:1082200021F686E430DF8823D1F019DF6B017C0171
+:108230006093FF097093000A8093010A9093020AE9
+:1082400020E030E0A9010E94A3B0181644F4C092C7
+:108250002102D0922202E0922302F0922402DF91C6
+:10826000CF911F910F91FF90EF90DF90CF90BF9033
+:10827000AF909F908F90089580DF89E404DF88237A
+:1082800051F0EDDE6093030A7093040A8093050AAF
+:108290009093060A08C01092030A1092040A1092E2
+:1082A000050A1092060A8AE4EEDE882351F0D7DE32
+:1082B0006093070A7093080A8093090A90930A0A48
+:1082C00008951092070A1092080A1092090A109253
+:1082D0000A0A0895CF92DF92EF92FF92CF93DF9335
+:1082E000EC01C0904302D0904402E0904502F0902F
+:1082F0004602A7019601688179818A819B810E944B
+:10830000A0AE87FF04C0C882D982EA82FB82C090F7
+:108310004702D0904802E0904902F0904A02A7013B
+:1083200096016C817D818E819F810E94A0AE87FF26
+:1083300004C0CC82DD82EE82FF8220E030E0A90121
+:1083400060914B0270914C0280914D0290914E02CF
+:108350000E94C7AD6B017C019B01AC0168857985EA
+:108360008A859B850E94A0AE87FF04C0C886D986F7
+:10837000EA86FB86C0903702D0903802E09039023E
+:10838000F0903A02A7019601688179818A819B81E8
+:108390000E94A3B0181624F4C882D982EA82FB8214
+:1083A000C0903B02D0903C02E0903D02F0903E0233
+:1083B000A70196016C817D818E819F810E94A3B06F
+:1083C000181624F4CC82DD82EE82FF82C0903F0238
+:1083D000D0904002E0904102F0904202A701960145
+:1083E000688579858A859B850E94A3B0181624F438
+:1083F000C886D986EA86FB86DF91CF91FF90EF9001
+:10840000DF90CF900895CF92DF92EF92FF920F937B
+:108410001F938FE09AE05EDF0E9431A960935A08B3
+:1084200070935B0880935C0890935D0820910F0A1D
+:108430003091100A4091110A5091120A6091440A39
+:108440007091450A8091460A9091470A0E94A0AE19
+:10845000811179C02091130A3091140A4091150AB4
+:108460005091160A6091480A7091490A80914A0A0F
+:1084700090914B0A0E94A0AE811165C020E030E0CF
+:1084800040E752E460912102709122028091230220
+:10849000909124020E94A7AE50E3C52E5AE0D52E3B
+:1084A0007B018C012BE13AE047E15AE063E17AE09D
+:1084B0008FE09AE00E94779A80910F0A9091100ABB
+:1084C000A091110AB091120A8093440A9093450A30
+:1084D000A093460AB093470A8091130A9091140A18
+:1084E000A091150AB091160A8093480A9093490A00
+:1084F000A0934A0AB0934B0A8091170A9091180AE8
+:10850000A091190AB0911A0A80934C0A90934D0ACF
+:10851000A0934E0AB0934F0A80911B0A90911C0AB7
+:10852000A0911D0AB0911E0A8093500A9093510A9F
+:10853000A093520AB093530A1F910F91FF90EF90AE
+:10854000DF90CF90089560915D0270915E02882760
+:1085500077FD8095982F0E9442AF209121023091A3
+:10856000220240912302509124020E9475B120E022
+:1085700030E040E752E40E94A7AE20E030E048EC53
+:1085800052E488CFCF92DF92EF92FF92CF93C62F23
+:10859000E091300AF0E0882309F4C2C0DF01A45D55
+:1085A000B54F8C91811196C18091440A9091450AF2
+:1085B000A091460AB091470A80930F0A9093100A3F
+:1085C000A093110AB093120A8091480A9091490A27
+:1085D000A0914A0AB0914B0A8093130A9093140A0F
+:1085E000A093150AB093160A80914C0A90914D0AF7
+:1085F000A0914E0AB0914F0A8093170A9093180ADF
+:10860000A093190AB0931A0AC090500AD090510A48
+:10861000E090520AF090530AC0921B0AD0921C0AB2
+:10862000E0921D0AF0921E0AEE0FFF1FEE0FFF1FD1
+:10863000E15BFD4F2081318142815381CC2349F0A0
+:1086400060912F027091300280913102909132023C
+:1086500008C060913302709134028091350290918C
+:1086600036020E94A7AE9B01AC01C701B6010E9471
+:10867000C7AD6093500A7093510A8093520A909349
+:10868000530A80E59AE00E94E3A4C0902102D090B2
+:108690002202E0902302F090240220E030E040E744
+:1086A00052E460912B0270912C0280912D029091E6
+:1086B0002E020E9475B16093210270932202809372
+:1086C000230290932402E091300AF0E0E45DF54F3C
+:1086D00081E0808398DE2091280A3091290A409118
+:1086E0002A0A50912B0A60914C0A70914D0A809190
+:1086F0004E0A90914F0A0E94C6AD60934C0A709347
+:108700004D0A80934E0A90934F0A20E53AE04CE4DC
+:108710005AE068E47AE084E49AE00E943EA4D1C082
+:10872000E45DF54F8081882309F4D4C08091440A28
+:108730009091450AA091460AB091470A80930F0A8A
+:108740009093100AA093110AB093120A8091480ADC
+:108750009091490AA0914A0AB0914B0A8093130A5A
+:108760009093140AA093150AB093160A60914C0ACC
+:1087700070914D0A80914E0A90914F0A6093170AAA
+:108780007093180A8093190A90931A0AC090500A9D
+:10879000D090510AE090520AF090530AC0921B0AFE
+:1087A000D0921C0AE0921D0AF0921E0A2091280A1B
+:1087B0003091290A40912A0A50912B0A0E94C7AD94
+:1087C00060934C0A70934D0A80934E0A90934F0A1F
+:1087D00020E53AE04CE45AE068E47AE084E49AE088
+:1087E0000E943EA4F090300ACC2389F02091200A08
+:1087F0003091210A4091220A5091230A60912F0260
+:1088000070913002809131029091320210C020911B
+:10881000240A3091250A4091260A5091270A609136
+:1088200033027091340280913502909136020E9499
+:10883000C7AD24E0F29EF0011124E15BFD4F2081E1
+:108840003181428153810E94A7AE9B01AC016091AE
+:10885000500A7091510A8091520A9091530A0E94D5
+:10886000C6AD6093500A7093510A8093520A909358
+:10887000530A80E59AE00E94E3A4C0902102D090C0
+:108880002202E0902302F090240220E030E040E752
+:1088900052E4609127027091280280912902909100
+:1088A0002A020E9475B16093210270932202809384
+:1088B000230290932402E091300AF0E0E45DF54F4A
+:1088C0001082A1DDC0922102D0922202E092230206
+:1088D000F0922402CF91FF90EF90DF90CF90089517
+:1088E000AF92BF92CF92DF92EF92FF920F931F93BE
+:1088F000CF93DF93D82F2091070A3091080A409137
+:10890000090A50910A0A6091030A7091040A809141
+:10891000050A9091060A0E94B0B0C62F172F082FA3
+:10892000F92E60915D0270915E02882777FD809537
+:10893000982F0E9442AF2091210230912202409153
+:108940002302509124020E9475B120E030E040E7FC
+:1089500052E40E94A7AE20E030E048EC52E40E94CE
+:10896000A7AE2091300A2F93DF93FF920F931F93AE
+:10897000CF935B016C0172E0E72E01E020E043E061
+:108980005AE06FE07AE084E49AE00E943B2A80910A
+:108990000F0A9091100AA091110AB091120A8093C7
+:1089A000440A9093450AA093460AB093470A8091DF
+:1089B000130A9091140AA091150AB091160A809397
+:1089C000480A9093490AA0934A0AB0934B0A8091AF
+:1089D000170A9091180AA091190AB0911A0A809367
+:1089E0004C0A90934D0AA0934E0AB0934F0A80917F
+:1089F0001B0A90911C0AA0911D0AB0911E0A809337
+:108A0000500A9093510AA093520AB093530A0E94BD
+:108A100031A960935A0870935B0880935C08909327
+:108A20005D080F900F900F900F900F900F90DF91B7
+:108A3000CF911F910F91FF90EF90DF90CF90BF905B
+:108A4000AF900895F8940E944521179A1092350A24
+:108A5000169A1092360A159A1092370A149A60E004
+:108A600087E40E9451A8E5E3FEE08491882341F069
+:108A70009091C00095FFFCCF8093C6003196F5CF52
+:108A8000EDEDF8E08491882341F09091C00095FFCE
+:108A9000FCCF8093C6003196F5CF8091C00085FF52
+:108AA000FCCF8AE08093C60084ED98E00E940D76AA
+:108AB0007894C6E0D0E02197209749F068EC70E008
+:108AC00080E090E00E9460A90E949C76F4CFF89428
+:108AD000FFCF2F923F924F925F926F927F928F9231
+:108AE0009F92AF92BF92CF92DF92EF92FF920F933D
+:108AF0001F93CF93DF93CDB7DEB76E970FB6F89481
+:108B0000DEBF0FBECDBFB0E6BB2E14E0E12EF12CD0
+:108B10000BEBC02E0BE0D02E8AE0A82E9924939464
+:108B200080911D0E90911E0E20911F0E3091200EEF
+:108B3000821B930B8F779927892B09F41AC2809196
+:108B400064089091650804970CF013C28CE99DE0CD
+:108B50000E947C89809363082091610830916208AB
+:108B60008A3061F08D3051F08A3321F490916008A1
+:108B7000992321F02F3531050CF41DC12115310544
+:108B800009F437C18091660890916708B89E30015A
+:108B9000B99E700C1124F301E20FF31FE259F74F55
+:108BA000108220916008211101C110926008FC011F
+:108BB000E659F74F108283010259174F6EE470E0B7
+:108BC000C8010E9423B60097F1F190935F0880934B
+:108BD0005E08801B910B860D971D4AE050E060E017
+:108BE00070E08159974F0E945FB46093F7097093CA
+:108BF000F8098093F9099093FA094090F30950908D
+:108C0000F4096090F5097090F6092FEF421A520AA4
+:108C1000620A720A0091660810916708641575056A
+:108C20008605970509F4E8C0B09EC001B19E900D7D
+:108C3000112467ED7CE08259974F0E94CEB5892BB5
+:108C400009F0DAC069C16AE270E0C8010E9423B687
+:108C5000892B09F444C0E5E3FEE08491882341F0C8
+:108C60009091C00095FFFCCF8093C6003196F5CF60
+:108C7000E1E3FCE08491882341F09091C00095FFEE
+:108C8000FCCF8093C6003196F5CF4091F309509107
+:108C9000F4096091F5097091F6092AE030E08CE959
+:108CA0009DE00E94378A8091C00085FFFCCF8AE05A
+:108CB0008093C6001092620810926108C0C2809131
+:108CC000F7099091F809A091F909B091FA098093F8
+:108CD000F3099093F409A093F509B093F6098091F4
+:108CE000660890916708B89E8001B99E100D112406
+:108CF000C8018259974F3C0167E470E00E9423B697
+:108D0000009781F190935F0880935E088619970918
+:108D1000800F911F60E070E08159974F0E94F7B279
+:108D20000E940FAF64307105E8F480914C088823ED
+:108D3000C9F0F6018491EBEBFBE0882349F09091B8
+:108D4000C00095FFFCCF8093C60031968491F5CF8B
+:108D50008091C00085FFFCCFA092C60081EB9BE014
+:108D60000E9400760091660810916708B09EC001CD
+:108D7000B19E900D112463E973E08259974F0E94D0
+:108D80002EB6892B09F45EDEC8010196B7010E9458
+:108D90006BB2909367088093660880916408909105
+:108DA00065080196909365088093640810926208A4
+:108DB00010926108B5CE8B3311F4909260089091B7
+:108DC00060089111ADCE4091660850916708B901D5
+:108DD0006F5F7F4F7093620860936108B49EF001EB
+:108DE000B59EF00D1124E20FF31FE259F74F808377
+:108DF00097CE1092600823C2B09E3001B19E700CD5
+:108E00001124C3018259974F1C016AE270E00E944D
+:108E100023B6009789F5E5E3FEE08491882341F0CD
+:108E20009091C00095FFFCCF8093C6003196F5CF9E
+:108E3000EBE5FCE08491882341F09091C00095FF20
+:108E4000FCCF8093C6003196F5CF4091F309509145
+:108E5000F4096091F5097091F6092AE030E08CE997
+:108E60009DE00E94378A8091C00085FFFCCF8AE098
+:108E70008093C60057D91ECF20E010E0F301E20F27
+:108E8000F11DE259F74F30813A3219F02F5F132765
+:108E9000F5CF90935F0880935E0882199309860D41
+:108EA000971D60E070E08159974F0E94F7B20E94D1
+:108EB0000FAF212F30E02617370709F400CFE5E385
+:108EC000FEE08491882341F09091C00095FFFCCF93
+:108ED0008093C6003196F5CFE5E8FCE084918823C5
+:108EE00041F09091C00095FFFCCF8093C600319671
+:108EF000F5CF4091F3095091F4096091F509709113
+:108F0000F6092AE030E08CE99DE00E94378A8091E2
+:108F1000C00085FFFCCFABCFE5E3FEE08491882362
+:108F200041F09091C00095FFFCCF8093C600319630
+:108F3000F5CFE4EAFCE08491882341F09091C000F1
+:108F400095FFFCCF8093C6003196F5CF4091F30991
+:108F50005091F4096091F5097091F6092AE030E02A
+:108F60008CE99DE00E94378A8091C00085FFFCCF8C
+:108F70007ECF80915F0A882309F461C180916108E6
+:108F800090916208892B09F05AC1809164089091F0
+:108F90006508892B11F410924A08F8EE2F2EF3E0A1
+:108FA0003F2E412C512CACE3CA2ED12CE12CF12CBC
+:108FB0008E010F5F1F4FE0E66E2E77247394409171
+:108FC000FA0C5091FB0C6091FC0C7091FD0C80919F
+:108FD000F20C9091F30CA091F40CB091F50C4817A1
+:108FE00059076A077B0708F02AC1809164089091AD
+:108FF000650804970CF023C180914A0881111FC1B4
+:1090000080914D0C90914E0CA0914F0CB091500C52
+:109010008093FA0C9093FB0CA093FC0CB093FD0C86
+:1090200085E49CE00E94E011482F809363088A3019
+:10903000B9F04D30A9F0433229F420916008222381
+:1090400079F002C04A33C9F3209161083091620877
+:109050002F3531052CF48F3FFFEF9F0709F0D1C06A
+:109060004091FA0C5091FB0C6091FC0C7091FD0C3E
+:109070008091F20C9091F30CA091F40CB091F50C4E
+:10908000481759076A077B0708F481C0EEE9FBE03F
+:109090008491882341F09091C00095FFFCCF80938C
+:1090A000C6003196F5CF8091C00085FFFCCFFAE075
+:1090B000F093C6000E9431A960934E0870934F0848
+:1090C00080935008909351088090520890905308D4
+:1090D000A0905408B0905508681979098A099B092D
+:1090E000A20191010E947EB249015A01CA01B9014F
+:1090F000A70196010E947EB2CA01B901A70196019B
+:109100000E947EB27F936F93C501B40120E13EE0DF
+:1091100040E050E00E947EB23F932F93AAE8BBE06C
+:10912000BF93AF931F930F930E945BB6EFE2FEE0F5
+:1091300084910FB6F894DEBF0FBECDBF882349F0EF
+:109140009091C00095FFFCCF8093C600319684912A
+:10915000F5CFF8018191882339F09091C00095FFF7
+:10916000FCCF8093C600F6CF8091C00085FFFCCF76
+:109170003AE03093C600C8010E9448728DE59AE03B
+:109180000E945B3961E08DE59AE00E94873380910F
+:109190006308833211F470924A082091610830917B
+:1091A00062082115310509F424CE8091660890915A
+:1091B0006708689EF001699EF00D1124E20FF31F0D
+:1091C000E259F74F1082FC01E659F74F7082209167
+:1091D0006408309165082F5F3F4F309365082093F6
+:1091E0006408019664E070E00E946BB29093670897
+:1091F00080936608109260081092620810926108CD
+:10920000DECE4B3311F4709260084091600841113A
+:10921000D2CE4091660850916708B9016F5F7F4FC9
+:109220007093620860936108649EF001659EF00D82
+:109230001124E20FF31FE259F74F8083C0CE6E96E0
+:109240000FB6F894DEBF0FBECDBFDF91CF911F9157
+:109250000F91FF90EF90DF90CF90BF90AF909F90D5
+:109260008F907F906F905F904F903F902F900895D8
+:10927000CF92DF92EF92FF920F931F93CF93C82F5D
+:10928000809164089091650803970CF422DC0E9499
+:1092900031A9009156081091570820915808309133
+:1092A0005908C0905A08D0905B08E0905C08F09094
+:1092B0005D086C197D098E099F0906171707280795
+:1092C000390728F4012B022B032B09F0BBDB40915B
+:1092D0001D0250911E0260911F0270912002452BC9
+:1092E000462B472B19F10E9431A900915A08109181
+:1092F0005B0820915C0830915D08601B710B820B4C
+:10930000930B00911D0210911E0220911F023091BB
+:109310002002061717072807390740F490916D0EB1
+:1093200080916C0E981302C0CC2349F0CF911F910D
+:109330000F91FF90EF90DF90CF900C945B9A179A6B
+:109340001092350A169A1092360A159A1092370A18
+:10935000149AECCF0E94452180914C08811138C0AD
+:1093600081E080934C088091F3099091F409A091D9
+:10937000F509B091F6098093EF099093F009A09355
+:10938000F109B093F209E5E3FEE08491882341F00E
+:109390009091C00095FFFCCF8093C6003196F5CF29
+:1093A000EEE5F8E08491882341F09091C00095FFAC
+:1093B000FCCF8093C6003196F5CF8091C00085FF29
+:1093C000FCCF8AE08093C60084E598E00C94007698
+:1093D000089580914C080895CF93DF93EC0180911C
+:1093E000300A80934D0884E50E944340811102C0F9
+:1093F00080E075C00E942F400E9414AF60934D081A
+:109400006623B1F3EFE2FEE08491882341F090916E
+:10941000C00095FFFCCF8093C6003196F5CFCD36C6
+:10942000D105B9F054F4C836D105B1F0C936D1052B
+:1094300009F045C0EDEDF3E021C0CA3DD10531F0A2
+:10944000CD3DD105E1F5E8E9F3E036C0EFEAF3E020
+:1094500029C0E6ECF3E01CC0E4EFF3E0819188233F
+:1094600071F19091C00095FFFCCF8093C600F6CFBC
+:109470009091C00095FFFCCF8093C600819181112F
+:10948000F7CF1DC09091C00095FFFCCF8093C60020
+:1094900081918111F7CF13C09091C00095FFFCCF4F
+:1094A0008093C60081918111F7CF09C09091C000CF
+:1094B00095FFFCCF8093C60081918111F7CF40E0EA
+:1094C00050E060914D088CE99DE00E94918A809166
+:1094D000C00085FFFCCF8AE08093C60081E0DF9169
+:1094E000CF910895CF92DF92EF92FF922091540A8C
+:1094F0002223F1F020E030E040E05FE30E9475B10C
+:109500006B017C0120E030E0A9010E94A0AE88231D
+:1095100079F0A7019601C701B6010E9475B12BED44
+:109520003FE049E450E40E9475B19B01AC0104C0E6
+:1095300020E030E040E85FE360E070E080E89FE337
+:109540000E94A7AEFF90EF90DF90CF9008956091BA
+:109550005302709154028091550290915602C2DFDD
+:1095600060934F0270935002809351029093520285
+:1095700008953F924F925F926F927F928F929F9247
+:10958000AF92BF92CF92DF92EF92FF920F931F9311
+:10959000CF93DF93CDB7DEB7E9970FB6F894DEBF70
+:1095A0000FBECDBF80E50E9443408823B1F186E421
+:1095B0000E9443408823A9F0EAE1F4E081918823E6
+:1095C00039F09091C00095FFFCCF8093C600F6CF94
+:1095D0008091C00085FFFCCF8AE08093C6000C9488
+:1095E000F46082E50E944340882311F40C94F460F7
+:1095F000E0E2F4E08191882339F09091C00095FF7A
+:10960000FCCF8093C600F6CF8091C00085FFFCCFD1
+:109610008AE08093C6000C94F46087E40E94434083
+:10962000882309F44CC20E942F400E940FAF6A3079
+:10963000710509F4AFC09CF46230710509F44CC0A7
+:1096400024F477FF25C00C94F4606330710509F4AD
+:109650004EC06430710509F455C00C94F4606A354D
+:10966000710509F4D8C154F46B30710509F498C040
+:109670006C31710509F49AC00C94F4606B35710576
+:1096800009F4CDC16C35710509F4CEC10C94F460B8
+:1096900080914C0881110C94F4600E94BD4080912F
+:1096A0002D0A8823A9F088E50E944340811110C04B
+:1096B00089E50E94434081110BC08AE50E94434026
+:1096C000811106C085E40E94434081110C94F7602B
+:1096D0000E9403420C94F46080914C0881110C9418
+:1096E000F4600E943C4181E0FBD80C94F4608091CE
+:1096F0004C0881110C94F4600E943C4180E0F0D849
+:109700000C94F46081E89BE00E94007680E50E9462
+:109710004340882339F00E942F400E9414AF4B0130
+:109720005C0103C0812C912C540183E50E944340CD
+:10973000882361F00E942F4020E030E04AE754E4A3
+:109740000E9475B10E9414AF4B015C010E943D93D1
+:109750000E9431A96B017C01C80CD91CEA1CFB1CBE
+:109760000E9431A960935A0870935B0880935C084B
+:1097700090935D080E9431A96C157D058E059F05AB
+:1097800010F00C94F4600E94721E80E071DD0E9463
+:109790009C76F0CF60E081E00E94C2420C94F460BD
+:1097A00060E080E00E94C2420C94F460809121024B
+:1097B00090912202A0912302B09124028093FB0990
+:1097C0009093FC09A093FD09B093FE0980915D027E
+:1097D00090915E029093580A8093570A84E690E035
+:1097E00090935E0280935D020E9431A960935A08B3
+:1097F00070935B0880935C0890935D0881E00E9401
+:10980000F18B8091440A9091450AA091460AB0914B
+:10981000470A80930F0A9093100AA093110AB093FD
+:10982000120A8091480A9091490AA0914A0AB0917F
+:109830004B0A8093130A9093140AA093150AB093CD
+:10984000160A80914C0A90914D0AA0914E0AB0914F
+:109850004F0A8093170A9093180AA093190AB0939D
+:109860001A0A8091500A9091510AA091520AB0911F
+:10987000530A80931B0A90931C0AA0931D0AB0936D
+:109880001E0A1092210210922202109223021092BC
+:10989000240288E50E944340882311F090E00AC02A
+:1098A00089E50E9443408111F9CF8AE50E94434037
+:1098B00091E098279093250291110C94266188E5F8
+:1098C0000E94434081110C942661809125028111F0
+:1098D0000C942C6189E50E94434081110C942C6109
+:1098E00088E50E9443408823D1F00E943840672BCE
+:1098F000682B692BA1F00E942F402091380A3091EB
+:10990000390A40913A0A50913B0A0E94C7AD6093D0
+:10991000440A7093450A8093460A9093470A89E562
+:109920000E9443408823D1F00E943840672B682B67
+:10993000692BA1F00E942F4020913C0A30913D0AF2
+:1099400040913E0A50913F0A0E94C7AD6093480A79
+:109950007093490A80934A0A90934B0A809125029A
+:1099600081110C9432618AE50E94434081110C946C
+:1099700032618AE50E9443408823D1F00E9438403A
+:10998000672B682B692BA1F00E942F402091400A81
+:109990003091410A4091420A5091430A0E94C7AD5A
+:1099A00060934C0A70934D0A80934E0A90934F0A2D
+:1099B00020E53AE04CE45AE068E47AE084E49AE096
+:1099C0000E943EA480E00E94F18B8091FB0990915F
+:1099D000FC09A091FD09B091FE09809321029093AA
+:1099E0002202A0932302B09324028091570A9091FF
+:1099F000580A90935E0280935D020E9431A96093A1
+:109A00005A0870935B0880935C0890935D080E94ED
+:109A1000EA8B0C94F4601092EE090C94F46081E0EF
+:109A20008093EE090C94F46085E40E944340811118
+:109A300002C00E943D9357ECC52E54E0D52E68E33A
+:109A4000E62E6AE0F62E04E41AE0B12CF6018191CC
+:109A50006F010E944340882339F1F3E0BF120CC02C
+:109A60000E942F40F801608371838283938380E595
+:109A70009AE00E94E3A418C00E942F40F7012081C1
+:109A80003181428153810E94C7ADF80160837183A7
+:109A90008283938320E53AE04CE45AE068E47AE07C
+:109AA00084E49AE00E943EA4B394F4E0EF0EF11C2B
+:109AB0000C5F1F4F24E0B212C9CF0C94F4608DE408
+:109AC0000E944340882311F40C9423600E942F408D
+:109AD0000E940FAF6537710511F40C94C9550CF055
+:109AE000A6C06032710509F4F0C20CF056C06731AF
+:109AF000710509F445C254F56231710509F468C76E
+:109B0000BCF477FF02C00C94F460623071050CF471
+:109B100061C16131710511F00C94F46088E49BE03F
+:109B20000E94007617981698159814980C94F46073
+:109B30006531710509F418C20CF01CC2643171055D
+:109B400011F00C94F460E8E3FBE0EAC16B317105BD
+:109B500009F442C2B4F46931710509F429C20CF068
+:109B60002DC28DE59AE00E9416310E9431A96093C2
+:109B700052087093530880935408909355080C949E
+:109B8000F4606E31710509F462C20CF03AC36C31B5
+:109B9000710509F427C20C94F4606C35710509F461
+:109BA0006AC7ECF46235710509F409C764F46035DD
+:109BB000710509F4DAC60CF0E5C66A32710509F4DC
+:109BC0007EC30C94F4606435710509F401C70CF48C
+:109BD000FAC66535710509F433C70C94F4606B3629
+:109BE000710509F4BCC664F46936710509F4DEC375
+:109BF0000CF085C66836710509F4A8C30C94F460AE
+:109C00006037710509F4BFC334F46D36710509F48A
+:109C1000D9C40C94F4606237710509F4CEC7633778
+:109C2000710511F00C94F460EEEBF9E0ADC76D3DF9
+:109C3000710511F40C94D3590CF04DC06B3C7105B7
+:109C400011F40C944D5844F56C38710509F49DC31A
+:109C50009CF46837710511F40C94BD566937710591
+:109C600011F40C94C2566737710511F00C94F4602E
+:109C7000E7E2F4E00C94CD56683C710511F40C94C5
+:109C8000B757693C710511F40C942C586E3B710563
+:109C900011F00C94F46020C56F3C710511F40C9424
+:109CA000095954F46D3C710511F40C948C5814F45A
+:109CB0000C946A580C94EC58613D710511F40C94A5
+:109CC000645914F40C943E596C3D710511F40C94D4
+:109CD000C4590C94F460603931E0730711F40C94AA
+:109CE000965B54F56E3291E0790711F40C94505B59
+:109CF00084F46C32F1E07F0711F40C94545A14F0A0
+:109D00000C948A5A623E710511F40C94F9590C9422
+:109D1000F4606E3531E0730711F40C94905F6F3589
+:109D200081E0780711F40C94C75F6F32714011F035
+:109D30000C94F4600C945E5B6835E2E07E0711F4ED
+:109D40000C94745CBCF4663F21E0720711F40C942F
+:109D5000995B673F31E0730711F40C949C5B653F9E
+:109D6000714011F00C94F4600E9467870E9439835F
+:109D70000C94F4606B3893E0790711F40C946A5FEB
+:109D80003CF46335734011F40C949F5B0C94F460C5
+:109D9000603A23E0720709F401C2673E734011F094
+:109DA0000C94F46010924C080E9413768091EF0995
+:109DB0009091F009A091F109B091F2098093F30913
+:109DC0009093F409A093F509B093F6090E9492408C
+:109DD0000C94F46000915E0810915F080E5F1F4FB5
+:109DE00080E50E944340882379F00E942F400E9422
+:109DF00014AF6B017C01BB24B3946115710581051F
+:109E0000910531F4B12C04C0B12CC12CD12C7601B8
+:109E100083E50E944340882399F00E942F4020E070
+:109E200030E04AE754E40E9475B10E9414AF6B0120
+:109E30007C01AA24A394611571058105910509F49B
+:109E4000A12C6AE270E0C8010E9423B6009711F0CD
+:109E5000FC011082F801CF0121912032E1F3B11011
+:109E600007C0A11005C0222319F00E94487204C047
+:109E700080E79BE00E94007681E00E9428720E94A9
+:109E80003D930E9431A960935A0870935B088093B8
+:109E90005C0890935D08C114D104E104F104A9F0B9
+:109EA0000E9431A94B015C018C0C9D1CAE1CBF1C97
+:109EB0000E9431A9681579058A059B05B8F40E94AE
+:109EC0006277811113C00C9438610E9460778823F7
+:109ED00011F40C94F4600E94627781110AC00E9410
+:109EE000721E80E0C5D90E949C76F5CF80E00E946A
+:109EF000287280915F0A882331F081E69BE00E94FE
+:109F000000760C94F46081E59BE00E9400760C944E
+:109F1000F4609091C00095FFFCCF8093C60031960D
+:109F200084918111F6CF8091C00085FFFCCF8AE03B
+:109F30008093C6008DE59AE00E94F22FEAE2FBE0F2
+:109F40008491882341F09091C00095FFFCCF8093CD
+:109F5000C6003196F5CF8091C00085FFFCCF8AE026
+:109F60008093C6000C94F4608DE59AE00E9447301F
+:109F70000C94F4608DE59AE00E9412310C94F46028
+:109F800000915E0810915F080C5F1F4F6AE270E05D
+:109F9000C8010E9423B6009711F0FC01108221E055
+:109FA00041E0B8018DE59AE00E94EC340C94F46035
+:109FB0008DE59AE00E941D310C94F4608091600A56
+:109FC000882311F40C94F46083E50E9443408111CE
+:109FD0000C9441610C94F4608DE59AE00E94C132CA
+:109FE0000C94F46080915E0890915F086AE270E0E2
+:109FF00004960E9423B68C010097D9F0209168083E
+:10A000003091690840E6429FC001439F900D1124A2
+:10A010006EE470E08259974F0E9423B660E270E0D0
+:10A020000E9423B6019690935F0880935E08F80122
+:10A03000108260915E0870915F086C5F7F4F21E035
+:10A0400040E08DE59AE00E94EC340C94F46080913D
+:10A05000600A882311F40C94F46060E08DE59AE0C6
+:10A060000E947D3480915E0890915F086AE270E002
+:10A0700004960E9423B68C010097D9F020916808BD
+:10A080003091690840E6429FC001439F900D112422
+:10A090006EE470E08259974F0E9423B660E270E050
+:10A0A0000E9423B6019690935F0880935E08F801A2
+:10A0B000108260915E0870915F086C5F7F4F8DE544
+:10A0C0009AE00E9481310C94F46080915F0A8111C2
+:10A0D0000E943D9300915E0810915F080C5F1F4F36
+:10A0E0006AE270E0C8010E9423B67C0161E270E080
+:10A0F000C8010E9423B6009719F08C010F5F1F4F13
+:10A10000E114F10411F0F701108280E50E94434050
+:10A11000F82E20915E0830915F080217130708F4AB
+:10A12000F12C8091600A882311F40C94F46021E0F2
+:10A130002F2541E0B8018DE59AE00E94EC3483E5DB
+:10A140000E9443408823B9F020915E0830915F0857
+:10A150002017310780F40E943840AB01BC014093C6
+:10A16000FA0C5093FB0C6093FC0C7093FD0C85E48F
+:10A170009CE00E94A9128DE59AE00E941631F11030
+:10A180000C94F4600E9431A96093520870935308B4
+:10A1900080935408909355080C94F46080915E0865
+:10A1A00090915F086AE270E005960E9423B68C01E8
+:10A1B0000097D9F0209168083091690840E6429FE5
+:10A1C000C001439F900D11246EE470E08259974FB7
+:10A1D0000E9423B660E270E00E9423B6019690933D
+:10A1E0005F0880935E08F801108260915E087091AC
+:10A1F0005F086B5F7F4F8DE59AE00E9416380C94E4
+:10A20000F4600E9431A960934E0870934F088093C8
+:10A2100050089093510800915208109153082091D2
+:10A22000540830915508601B710B820B930B28EE7C
+:10A2300033E040E050E00E947EB2CA01B9012CE355
+:10A2400030E040E050E00E947EB27F936F933F93F6
+:10A250002F938BE19BE09F938F93CE0101969F9369
+:10A260008F930E945BB6EFE2FEE084910FB6F89404
+:10A27000DEBF0FBECDBF882349F09091C00095FF8F
+:10A28000FCCF8093C60031968491F5CFFE013196C4
+:10A290008191882339F09091C00095FFFCCF809385
+:10A2A000C600F6CF8091C00085FFFCCF8AE0809386
+:10A2B000C600CE0101960E9448720C94F46083E5BA
+:10A2C0000E944340882311F40C94F4600E942F40B4
+:10A2D0000E940FAFF62EE72E862F9E2D8C0180E573
+:10A2E0000E944340882331F00F3F110509F010F41C
+:10A2F0000C9452610DE010E0EFE8F4E0819191914F
+:10A300008017910711F40C94F46034E0E73CF307F4
+:10A31000A9F70830110539F48F2D9E2D90932F0A3F
+:10A3200080932E0A04C017FF02C00C94F46061E011
+:10A33000802F0E9451A86F2D802F0E948AA86F2D18
+:10A340007E2D802F0E9447A70C94F46088E690E051
+:10A3500043D881110C94F46083E50E944340882324
+:10A3600071F000914D080E942F4010E0000F111F66
+:10A37000085B174F0E940FAFF801718360830E9442
+:10A3800044210C94F4600E94224583E50E944340DE
+:10A39000882311F40C94F4600E942F400E940FAFA8
+:10A3A00070934708609346080C94F46089E690E047
+:10A3B00013D881110C94F460E5E1FBE084918823CB
+:10A3C00041F09091C00095FFFCCF8093C60031967C
+:10A3D000F5CFE0914D0824E0E29FF0011124E05C0C
+:10A3E000F74F408151816281738121E030E08CE937
+:10A3F0009DE00E94308BE2E1FBE08491882341F0F4
+:10A400009091C00095FFFCCF8093C6003196F5CFA8
+:10A41000E0914D08F0E0EE0FFF1FE85BF74F608121
+:10A420007181882777FD8095982F0E9442AFAB01FC
+:10A43000BC0121E030E08CE99DE00E94308BEEE031
+:10A44000FBE08491882341F09091C00095FFFCCF00
+:10A450008093C6003196F5CF40913A0850913B0861
+:10A4600060913C0870913D0821E030E08CE99DE06E
+:10A470000E94308BEBE0FBE08491882341F09091C7
+:10A48000C00095FFFCCF8093C6003196F5CF609158
+:10A49000460870914708882777FD8095982F0E947D
+:10A4A00042AFAB01BC0121E030E08CE99DE00E94AD
+:10A4B000308BE8E0FBE08491882341F09091C0006C
+:10A4C00095FFFCCF8093C6003196F5CF4AE050E06F
+:10A4D00060E070E08CE99DE00E945A8AE6E0FBE0D3
+:10A4E0008491882341F09091C00095FFFCCF809328
+:10A4F000C6003196F5CF40914008509141086091D7
+:10A5000042087091430821E030E08CE99DE00E9410
+:10A51000308BE3E0FBE08491882341F09091C00010
+:10A5200095FFFCCF8093C6003196F5CF6091480827
+:10A5300070914908882777FD8095982F0E9442AF37
+:10A54000AB01BC0121E030E08CE99DE00E94308B42
+:10A55000EFEFFAE08491882341F09091C00095FFDD
+:10A56000FCCF8093C6003196F5CF80914D0890E0E6
+:10A570000E943C1E4AE050E0BC018CE99DE00E9434
+:10A580005A8AEAEFFAE08491882341F09091C00062
+:10A5900095FFFCCF8093C6003196F5CF8FEF9FEFEC
+:10A5A0000E943C1E4AE050E0BC018CE99DE00E9404
+:10A5B0005A8A8091C00085FFFCCF8AE08093C60054
+:10A5C0000C94B0628DE690E00E94EC4981110C94ED
+:10A5D000F4608FEE9AE00E94007683E50E9443408B
+:10A5E000882391F000914D080E942F4010E0000F49
+:10A5F000111F085B174F0E940FAFF8017183608332
+:10A6000081E080931C0215C082E50E9443408823AC
+:10A6100081F000914D080E942F4010E0000F111FA3
+:10A62000085B174F0E940FAFF8017183608310928F
+:10A630001C020E9444210E9431A94B015C0100913F
+:10A640004D0810E0F801EE0FFF1FE85BF74F608147
+:10A650007181882777FD8095982F0E9442AFF8017D
+:10A66000EE0FFF1FEE0FFF1FE05CF74F11E02081A0
+:10A670003181428153810E94A3B018160CF010E082
+:10A6800010934B0810921F0ACC24CA94DC2C76013C
+:10A6900048EE442E43E0542E612C712C5AE0352EA6
+:10A6A00080911F0A81110C946D62FFEFCF16DF06B7
+:10A6B000EF06FF0611F40C945961F7FE02C00C94EA
+:10A6C0006D620E9431A96C197D09683B7B4010F4D2
+:10A6D0000C9459610C946D6289EC9AE00E940076AA
+:10A6E00083E50E944340882361F00E942F400E942E
+:10A6F0000FAF709347086093460881E080931C0277
+:10A700000FC082E50E944340882351F00E942F40F1
+:10A710000E940FAF709347086093460810921C0286
+:10A720000E9431A94B015C0110921F0A60914608FA
+:10A7300070914708882777FD8095982F0E9442AF37
+:10A7400011E020913A0830913B0840913C0850912B
+:10A750003D080E94A3B018160CF010E010934B08AF
+:10A7600006EC1AE0E2ECEE2EEAE0FE2EFEEBCF2E37
+:10A77000FAE0DF2EAAE07A2E80914B08609146081D
+:10A7800070914708882309F48BC080911F0A8111BA
+:10A7900087C0882777FD8095982F0E9442AF20912F
+:10A7A0003A0830913B0840913C0850913D080E9486
+:10A7B000A3B018160CF08BC00E9431A96819790952
+:10A7C0008A099B09693E73408105910508F460C0C0
+:10A7D000E091300A84E0E89FF0011124E05CF74F3B
+:10A7E0004081518162817381F8018491E6ECFAE045
+:10A7F000882349F09091C00095FFFCCF8093C6005C
+:10A8000031968491F5CF22E030E08CE99DE00E9402
+:10A81000308BF7018491E2ECFAE0882349F09091C3
+:10A82000C00095FFFCCF8093C60031968491F5CF90
+:10A830006091300A70E04AE050E08CE99DE00E94AF
+:10A840005A8AF6018491EEEBFAE0882349F0909160
+:10A85000C00095FFFCCF8093C60031968491F5CF60
+:10A8600040913A0850913B0860913C0870913D0836
+:10A8700021E030E08CE99DE00E94308B8091C000A7
+:10A8800085FFFCCF7092C6000E9431A94B015C018C
+:10A890000E94721E80E00E9438490E949C766CCF14
+:10A8A000882777FD8095982F0E9442AF20913A0823
+:10A8B00030913B0840913C0850913D080E94A0AE69
+:10A8C00087FF05C080911C02882309F475CF84EBB3
+:10A8D0009AE00E94007680915F0A882321F08EE73B
+:10A8E00093E00E9448720E9431A960935A087093C5
+:10A8F0005B0880935C0890935D080C94F46083E59A
+:10A900000E944340882319F10E942F4020E030E04C
+:10A91000A9010E94A0AE87FD0FC00E942F4020E039
+:10A9200030E04FE753E40E94A3B0181644F00E94B1
+:10A930002F400E940FAF05C060E070E002C06FEFD3
+:10A9400070E070932F0A60932E0A0C94F4608FEFDE
+:10A9500090E090932F0A80932E0A0C94F46010924A
+:10A960002F0A10922E0A0C94F4609B9AA39881E00F
+:10A970008093260284EA9AE00E9400760E949C76E8
+:10A980000C94F4600E9445210E943D93149A0E9409
+:10A99000A79310922F0A10922E0A68EE73E080E0BF
+:10A9A00090E00E9460A99B9AA39A1092260286E9E1
+:10A9B0009AE00E9400760E949C760C94F4601092BB
+:10A9C0005C0A0C94F46081E080935C0A0C94F4605F
+:10A9D00083E50E9443408823A1F00E942F4020E09D
+:10A9E00030E04AE754E40E9475B10E9414AF6093CE
+:10A9F0001D0270931E0280931F02909320020C94FC
+:10AA0000F46088E50E94434081110C948E6289E5D0
+:10AA10000E94434081110C948E628AE50E9443405B
+:10AA200081110C948E6285E40E94434081110C9444
+:10AA30008E620E943D93149A0E94A7930C94F46036
+:10AA400083E50E944340882311F40C94F4600E9433
+:10AA50002F4020E030E04AE754E40E9475B10E94A4
+:10AA600014AF6093560870935708809358089093DA
+:10AA700059080C94F46027EC34E039AF28AF01EAB0
+:10AA800013E161EB862E63E1962E75E6A72E73E146
+:10AA9000B72E312CE8ADF9AD8191F9AFE8AF0E9446
+:10AAA0004340882309F45BC0F3E03F1251C00E9489
+:10AAB0002F406B017C0120E030E040EA51E40E942D
+:10AAC000A0AE87FF3FC0A7019601F80160817181A8
+:10AAD000828193810E94A7AE2B013C019B01AC01B6
+:10AAE0006091791370917A1380917B1390917C130C
+:10AAF0000E9475B16093791370937A1380937B13DE
+:10AB000090937C13A3019201F40160817181828191
+:10AB100093810E9475B1F401608371838283938372
+:10AB2000F50160817181828193810E9440AFA30110
+:10AB300092010E9475B10E9414AFF5016083718388
+:10AB400082839383F801C082D182E282F38207C0BC
+:10AB50000E942F40F8016083718382839383339432
+:10AB60000C5F1F4FF4E08F0E911C24E0A20EB11C6D
+:10AB700034E033128FCF0C94F4609091C00095FFB5
+:10AB8000FCCF8093C600319684918111F6CF0C944E
+:10AB9000F46000915E0810915F080B5F1F4F6AE23E
+:10ABA00070E0C8010E9423B6009711F0FC011082EA
+:10ABB000C8010E9448720C94F460EBEBF9E08491B8
+:10ABC000882341F09091C00095FFFCCF8093C60090
+:10ABD0003196F5CF4091440A5091450A6091460A5A
+:10ABE0007091470A22E030E08CE99DE00E94308BB2
+:10ABF000E7EBF9E08491882341F09091C00095FF44
+:10AC0000FCCF8093C6003196F5CF4091480A509111
+:10AC1000490A60914A0A70914B0A22E030E08CE9BF
+:10AC20009DE00E94308BE3EBF9E08491882341F0B2
+:10AC30009091C00095FFFCCF8093C6003196F5CF70
+:10AC400040914C0A50914D0A60914E0A70914F0A02
+:10AC500022E030E08CE99DE00E94308BEFEAF9E0E1
+:10AC60008491882341F09091C00095FFFCCF8093A0
+:10AC7000C6003196F5CF4091500A5091510A60912B
+:10AC8000520A7091530A22E030E08CE99DE00E9464
+:10AC9000308BE4EAF9E08491882341F09091C00080
+:10ACA00095FFFCCF8093C6003196F5CF0E94999313
+:10ACB0000E9442AF2091A1133091A2134091A3139F
+:10ACC0005091A4130E94A7AEAB01BC0122E030E07A
+:10ACD0008CE99DE00E94308BE0EAF9E084918823C2
+:10ACE00041F09091C00095FFFCCF8093C600319653
+:10ACF000F5CF81E00E9499930E9442AF2091A51365
+:10AD00003091A6134091A7135091A8130E94A7AEAB
+:10AD1000AB01BC0122E030E08CE99DE00E94308B69
+:10AD2000ECE9F9E08491882341F09091C00095FF0F
+:10AD3000FCCF8093C6003196F5CF82E00E949993B4
+:10AD40000E9442AF2091A9133091AA134091AB13F6
+:10AD50005091AC130E94A7AEAB01BC0122E030E0E1
+:10AD60008CE99DE00E94308B8091C00085FFFCCF74
+:10AD70008AE08093C6000C94F46080E00E94F18B1E
+:10AD80000C94F46081E00E94F18B0C94F46090913B
+:10AD9000C00095FFFCCF8093C60081918111F7CF51
+:10ADA0008091C00085FFFCCF8AE08093C600E4E973
+:10ADB000F9E08491882341F09091C00095FFFCCF89
+:10ADC0008093C6003196F5CF1E9B03C0EBE0F4E004
+:10ADD00009C0E5E1F4E006C09091C00095FFFCCF0A
+:10ADE0008093C60081918111F7CF8091C00085FFCB
+:10ADF000FCCF8AE08093C600ECE8F9E084918823D8
+:10AE000041F09091C00095FFFCCF8093C600319631
+:10AE1000F5CF029903C0EBE0F4E009C0E5E1F4E00E
+:10AE200006C09091C00095FFFCCF8093C600819131
+:10AE30008111F7CF8091C00085FFFCCF8AE080931D
+:10AE4000C600E4E8F9E08491882341F09091C000C5
+:10AE500095FFFCCF8093C6003196F5CF1D9B03C0B4
+:10AE6000EBE0F4E009C0E5E1F4E006C09091C00039
+:10AE700095FFFCCF8093C60081918111F7CF80911F
+:10AE8000C00085FFFCCF8AE08093C600ECE7F9E0C4
+:10AE90008491882341F09091C00095FFFCCF80936E
+:10AEA000C6003196F5CF019903C0EBE0F4E009C08C
+:10AEB000E5E1F4E006C09091C00095FFFCCF8093DF
+:10AEC000C60081918111F7CF8091C00085FFFCCF32
+:10AED0008AE08093C600E4E7F9E08491882341F09A
+:10AEE0009091C00095FFFCCF8093C6003196F5CFBE
+:10AEF0001C9B03C0EBE0F4E009C0E5E1F4E006C010
+:10AF00009091C00095FFFCCF8093C6008191811184
+:10AF1000F7CF8091C00085FFFCCF8AE08093C60008
+:10AF2000ECE6F9E08491882341F09091C00095FF10
+:10AF3000FCCF8093C6003196F5CF379903C0EBE084
+:10AF4000F4E009C0E5E1F4E006C09091C00095FF8F
+:10AF5000FCCF8093C60081918111F7CF8091C00012
+:10AF600085FFFCCF8AE08093C6000C94F46080914A
+:10AF7000300A80934D0884E50E944340882319F1EC
+:10AF80000E942F400E9414AF60934D086623D9F0B1
+:10AF9000EFE2FEE08491882341F09091C00095FF9C
+:10AFA000FCCF8093C6003196F5CFE0E4F4E08191C8
+:10AFB000882311F40C94F4609091C00095FFFCCFAD
+:10AFC0008093C600F4CF84E40E944340882311F4A8
+:10AFD0000C94F4600E942F4020E030E0A9010E9410
+:10AFE000A0AE811103C01092540A32C000914D08E6
+:10AFF00010E00E942F40F801EE0FFF1FEE0FFF1F21
+:10B00000ED5AFD4F6083718382839383E0905302F6
+:10B01000F0905402009155021091560220E030E069
+:10B02000A901B701C8010E94A0AE811104C0E12CA2
+:10B03000F12C00E410E4C701D801809353029093EF
+:10B040005402A0935502B093560281E08093540AB3
+:10B050000E94A74A0C94F46007EC14E041E9E42E46
+:10B0600043E1F42EF80181918F010E94434088232F
+:10B0700049F00E942F400E9414AFF7016083718352
+:10B0800082839383F4E0EF0EF11C24E00B3C120763
+:10B0900049F70E9410A50C94F46007EC14E031EB22
+:10B0A000E32E33E1F32EF80181918F010E9443409A
+:10B0B000882339F00E942F40F701608371838283D7
+:10B0C0009383F4E0EF0EF11C24E00B3C120759F7D8
+:10B0D0000C94F46083E50E944340882351F00E9461
+:10B0E0002F406093891370938A1380938B139093EE
+:10B0F0008C1384E50E944340882311F40C94F4607F
+:10B100000E942F406093851370938613809387135A
+:10B11000909388130C94F46083E50E944340882345
+:10B1200051F00E942F4060938D1370938E13809383
+:10B130008F139093901384E50E944340882351F02D
+:10B140000E942F406093751370937613809377134A
+:10B150009093781382E40E944340882361F00E9418
+:10B160002F400E9414AF6093C1137093C213809359
+:10B17000C3139093C41388E50E944340882351F081
+:10B180000E942F40609381137093821380938313E6
+:10B19000909384138AE50E944340882351F00E94D3
+:10B1A0002F4060937D1370937E1380937F13909351
+:10B1B000801385E40E944340882311F40C94F460CA
+:10B1C0000E942F406093791370937A1380937B13BE
+:10B1D00090937C130C94F46007EC14E028E3E22EC7
+:10B1E0002AE0F22EF80181918F010E9443408823CA
+:10B1F00039F00E942F40F70160837183828393832B
+:10B20000F4E0EF0EF11C24E00A3C120709F4ECC74D
+:10B21000E9CF83E50E944340882351F00E942F40EC
+:10B220006093330270933402809335029093360218
+:10B2300086E40E944340882381F00E942F4020E052
+:10B2400030E040E752E40E94A7AE60932B02709377
+:10B250002C0280932D0290932E028AE50E94434097
+:10B26000882309F4C1C70E942F406093280A709375
+:10B27000290A80932A0A90932B0AB6C783E50E9475
+:10B280004340882351F00E942F406093240A70931A
+:10B29000250A8093260A9093270A86E40E94434059
+:10B2A000882309F4A1C70E942F4020E030E040E746
+:10B2B00052E40E94A7AE6093270270932802809305
+:10B2C000290290932A0290C783E50E944340882375
+:10B2D00009F48AC70E942F400E940FAF61157105C3
+:10B2E00049F06130710559F481E080932D0A109284
+:10B2F0002C0A7AC710922D0A10922C0A75C7EFE219
+:10B30000FEE08491882341F09091C00095FFFCCF2E
+:10B310008093C6003196F5CFE9E5F9E08491882362
+:10B3200041F09091C00095FFFCCF8093C60031960C
+:10B33000F5CF809168089091690820E6289FF00178
+:10B34000299FF00D1124E259F74F8191882339F09C
+:10B350009091C00095FFFCCF8093C600F6CFE7E543
+:10B36000F9E08491882341F09091C00095FFFCCFD3
+:10B370008093C6003196F5CF8091C00085FFFCCF49
+:10B380008AE08093C60030C783E50E94434088234B
+:10B3900009F42AC70E942F400E940FAF70935E02EB
+:10B3A00060935D0221C783E50E944340882309F42E
+:10B3B0001BC70E942F400E940FAF6B017C0184E5E8
+:10B3C0000E944340882381F08DED90E00E94EC497B
+:10B3D00081110AC7E0914D08F0E0EE0FFF1FE75A18
+:10B3E000FD4FD182C08200C7D0925C02C0925B0246
+:10B3F000FBC680E50E944340882309F4F5C60E94FD
+:10B400002F400E940FAFD62E062F172F83E50E94E4
+:10B410004340882331F00E942F400E940FAF7B01F0
+:10B4200003C0EE24EA94FE2CC7010196039708F0AE
+:10B43000DBC6EFE8F4E0819191918017910709F460
+:10B44000D3C634E0E73CF307B1F717FDCDC60E9441
+:10B450003D93CD2C60E08D2D0E9451A88FEFE81612
+:10B46000F80631F0EA94EF2871F000E010E00DC02A
+:10B470008D2D0E94BFA831E020E0892B09F030E03B
+:10B48000032F122F02C001E010E08C2D0E94BFA8F4
+:10B490008017910709F4A8C60E94721E80E00E94DE
+:10B4A00038490E949C76F1CF83E50E94434088236F
+:10B4B00031F00E942F400E940FAF8B0102C00EE6B8
+:10B4C00010E080E50E944340882331F00E942F4025
+:10B4D0000E940FAFCB0102C088EE93E06C01EE2416
+:10B4E000D7FCE094FE2C101611067CF420E030E02E
+:10B4F000A901B80184E50E94FDA9C701B6010E9417
+:10B5000060A984E50E940EAD6FC6C701B6010E9416
+:10B5100060A96AC680E50E944340882351F00E94DA
+:10B520002F40609318027093190280931A0290932F
+:10B530001B0289E40E944340882361F00E942F404F
+:10B540000E94B7276093140270931502809316022D
+:10B550009093170284E40E944340882361F00E9484
+:10B560002F400E94C32760931002709311028093B2
+:10B5700012029093130283E40E944340882351F007
+:10B580000E942F4060930C0270930D0280930E0274
+:10B5900090930F020E94251EE7E5F4E08191882335
+:10B5A00039F09091C00095FFFCCF8093C600F6CF94
+:10B5B000EAE5F4E08191882339F09091C00095FF8D
+:10B5C000FCCF8093C600F6CF40911802509119022B
+:10B5D00060911A0270911B0222E030E08CE99DE03C
+:10B5E0000E94308BEEE5F4E08191882339F0909150
+:10B5F000C00095FFFCCF8093C600F6CF6091140287
+:10B600007091150280911602909117020E94BD2739
+:10B61000AB01BC0122E030E08CE99DE00E94308B60
+:10B62000E2E6F4E08191882339F09091C00095FF23
+:10B63000FCCF8093C600F6CF60911002709111028A
+:10B6400080911202909113020E94C927AB01BC01A4
+:10B6500022E030E08CE99DE00E94308BE6E6F4E0E9
+:10B660008191882339F09091C00095FFFCCF8093A1
+:10B67000C600F6CF40910C0250910D0260910E026F
+:10B6800070910F0222E030E08CE99DE00E94308B47
+:10B690008091C00085FFFCCF8AE08093C600A4C5DE
+:10B6A00083E50E944340882319F00E942F4003C085
+:10B6B00060E070E0CB010E9407A596C585E40E947A
+:10B6C0004340882341F00E942F400E940FAF8B011E
+:10B6D00077FF03C009C000E010E0C12CD12CB6E117
+:10B6E000EB2EB3E4FB2E06C0C12CD12CACE8EA2E25
+:10B6F000A2E4FA2E83E50E944340882321F00E94B1
+:10B700002F406B017C0183E40E944340882331F089
+:10B710000E942F400E940FAF9B0102C025E030E045
+:10B72000A801C701B6010E9458215EC50E943D9341
+:10B730005BC50E94678758C50E94398355C58AE555
+:10B740000E944340882309F497C00E942F406B0158
+:10B750007C0120E030E040E751EC0E94A3B087FD7F
+:10B760003FC020E030E040EA50ECC701B6010E9443
+:10B77000A0AE1816ACF1F7FAF094F7F8F094C09276
+:10B78000310AD092320AE092330AF092340AEFE2A0
+:10B79000FEE08491882341F09091C00095FFFCCF9A
+:10B7A0008093C6003196F5CFEBE4F9E084918823CD
+:10B7B00041F09091C00095FFFCCF8093C600319678
+:10B7C000F5CF8091C00085FFFCCF8AE08093C60052
+:10B7D0008091C00085FFFCCF8AE08093C60004C53D
+:10B7E000EFE2FEE08491882341F09091C00095FF44
+:10B7F000FCCF8093C6003196F5CFE2E4F9E0849166
+:10B80000882341F09091C00095FFFCCF8093C60043
+:10B810003196F5CFEAE3F9E08491882341F09091E5
+:10B82000C00095FFFCCF8093C6003196F5CF4AE06B
+:10B8300050E061EF7FEF8CE99DE00E945A8AE2E3DD
+:10B84000F9E08491882341F09091C00095FFFCCFEE
+:10B850008093C6003196F5CF4AE050E06BEF7FEF62
+:10B860008CE99DE00E945A8A8091C00085FFFCCF40
+:10B870008AE08093C600B8C4EFE2FEE0849188239A
+:10B8800041F09091C00095FFFCCF8093C6003196A7
+:10B89000F5CFE6E2F9E08491882341F09091C00071
+:10B8A00095FFFCCF8093C6003196F5CF8091C00004
+:10B8B00085FFFCCF8AE08093C6004091310A509109
+:10B8C000320A6091330A7091340A705822E030E0F5
+:10B8D0008CE99DE00E94308B8091C00085FFFCCFF9
+:10B8E0008AE08093C60080C480915D0290915E02E0
+:10B8F0009093580280935702C090440AD090450A12
+:10B90000E090460AF090470ACF8ED8A2E9A2FAA2A8
+:10B910000091480A1091490A20914A0A30914B0A35
+:10B920000BA31CA32DA33EA340914C0A50914D0A9A
+:10B9300060914E0A70914F0A4FA358A769A77AA742
+:10B940008091500A9091510AA091520AB091530AE5
+:10B950008BA79CA7ADA7BEA7C982DA82EB82FC8227
+:10B960000D831E832F83388749875A876B877C878F
+:10B970008D879E87AF87B88B85E40E9443408823DC
+:10B9800059F00E942F409B01AC016BA57CA58DA5B1
+:10B990009EA50E94C7AD0AC020E030E040E050E420
+:10B9A0006BA57CA58DA59EA50E94C6AD6BA77CA7A7
+:10B9B0008DA79EA7E0E3CE2EEAE0DE2EE12CF12C4F
+:10B9C00008EC13E49E01255D3F4FAE01495D5F4FDA
+:10B9D000BE016D5D7F4FCE014F960E94779A8AE53A
+:10B9E0000E944340882349F00E942F409B01AC01F4
+:10B9F0006FA178A589A59AA51EC020E030E040E09F
+:10BA000050E46FA178A589A59AA50E94C7AD6B01E6
+:10BA10007C016FA378A789A79AA720E030E040E2D5
+:10BA200051E40E94A0AE87FF0CC020E030E040E26D
+:10BA300051E4C701B6010E94C7AD6FA378A789A7DB
+:10BA40009AA760E3C62E6AE0D62EE12CF12C06E917
+:10BA500013E49E01255D3F4FAE01495D5F4FBE017E
+:10BA60006D5D7F4FCE014F960E94779A88E50E94C8
+:10BA70004340882379F00E942F409B01AC016F8DD9
+:10BA800078A189A19AA10E94C7AD6F8F78A389A3DD
+:10BA90009AA308C080E090E0A3E5B3E48F8F98A359
+:10BAA000A9A3BAA389E50E944340882339F00E94E4
+:10BAB0002F406BA37CA38DA39EA304C01BA21CA23A
+:10BAC0001DA21EA240E3C42E4AE0D42EE12CF12C8C
+:10BAD0000CE812E49E01255D3F4FAE01495D5F4FCA
+:10BAE000BE016D5D7F4FCE014F960E94779A8CE428
+:10BAF0000E944340882359F00E942F409B01AC01D3
+:10BB00006BA57CA58DA59EA50E94C7AD0AC020E0AF
+:10BB100030E040EA52E46BA57CA58DA59EA50E946D
+:10BB2000C6AD6BA77CA78DA79EA720E3C22E2AE0F7
+:10BB3000D22EE12CF12C00EA11E49E01255D3F4F4D
+:10BB4000AE01495D5F4FBE016D5D7F4FCE014F96E7
+:10BB50000E94779A0E943D93149A64E670E080E018
+:10BB600090E00E9460A90E94827100E010E0F12C38
+:10BB70000E94627781112AC0F3940E94721E81E0B4
+:10BB80000E943849F110F4CF043FE1E01E0711F4A0
+:10BB900000E010E0809101018460809301010115B3
+:10BBA000110531F49FB7F89480910201846008C0B8
+:10BBB0000431110541F49FB7F894809102018B7F05
+:10BBC000809302019FBF0F5F1F4FD2CF9FB7F894A2
+:10BBD000809102018B7F809302019FBF20E030E0C3
+:10BBE0004CE852E46BA57CA58DA59EA50E94C7AD2F
+:10BBF0006BA77CA78DA79EA710E3C12E1AE0D12EBC
+:10BC0000E12CF12C00EA11E49E01255D3F4FAE01CD
+:10BC1000495D5F4FBE016D5D7F4FCE014F960E9423
+:10BC2000779A20E030E048E452E46BA57CA58DA52E
+:10BC30009EA50E94C7AD6BA77CA78DA79EA7E12CF0
+:10BC4000F12C00E010E49E01255D3F4FAE01495DFF
+:10BC50005F4FBE016D5D7F4FCE014F960E94779A78
+:10BC60001092560A1092550A0E94E8718091550A66
+:10BC70009091560A019709F47CC01092560A1092CE
+:10BC8000550A0E9468778091550A9091560A823031
+:10BC9000910549F1039709F069C020E030E048E4DC
+:10BCA00052E46BA57CA58DA59EA50E94C7AD6BA790
+:10BCB0007CA78DA79EA770E3C72E7AE0D72EE12C34
+:10BCC000F12C00E010E49E01255D3F4FAE01495D7F
+:10BCD0005F4FBE016D5D7F4FCE014F960E94779AF8
+:10BCE0000E94A871C3CF20E030E04CE852E46BA57D
+:10BCF0007CA58DA59EA50E94C7AD6BA77CA78DA72F
+:10BD00009EA7F0E3CF2EFAE0DF2EE12CF12C00EA23
+:10BD100011E49E01255D3F4FAE01495D5F4FBE01BD
+:10BD20006D5D7F4FCE014F960E94779A20E030E004
+:10BD300048E452E46BA57CA58DA59EA50E94C7ADE5
+:10BD40006BA77CA78DA79EA7E12CF12C00E010E447
+:10BD50009E01255D3F4FAE01495D5F4FBE016D5DA8
+:10BD60007F4FCE014F960E94779A7ECF0E949B71A3
+:10BD70007DCF20E030E040EA50E46BA57CA58DA5A6
+:10BD80009EA50E94C7AD6BA77CA78DA79EA790E339
+:10BD9000C92E9AE0D92EE12CF12C00E010E49E018E
+:10BDA000255D3F4FAE01495D5F4FBE016D5D7F4F29
+:10BDB000CE014F960E94779AA80197016BA57CA5AA
+:10BDC0008DA59EA50E94C6AD6BA77CA78DA79EA73B
+:10BDD000E12CF12C08EC13E49E01255D3F4FAE01F0
+:10BDE000495D5F4FBE016D5D7F4FCE014F960E9452
+:10BDF000779AE12CF12C0CE812E49E01255D3F4F6F
+:10BE0000AE01495D5F4FBE016D5D7F4FCE014F9624
+:10BE10000E94779A9E01255D3F4FAE01495D5F4FBD
+:10BE2000BE016B5F7F4FCE0101960E94779AE12C95
+:10BE3000F12C08E413E49E01255D3F4FAE01475FFE
+:10BE40005F4FBE016B5F7F4FCE0101960E94779AD4
+:10BE500020E030E040E050E46BA57CA58DA59EA5D8
+:10BE60000E94C7AD6BA77CA78DA79EA7E12CF12CE4
+:10BE700000EA10E49E01255D3F4FAE01475F5F4F32
+:10BE8000BE016B5F7F4FCE0101960E94779ACE0173
+:10BE90000D960E94E3A480915702909158028093DE
+:10BEA0005D0290935E029F938F938DE199E09F9343
+:10BEB0008F938E01015D1F4F1F930F930E945BB6FE
+:10BEC000C8010E94C03D0F900F900F900F900F90EF
+:10BED0000F908AC188E50E944340882339F00E9470
+:10BEE0002F400E940FAF80E00E9445948AE50E9497
+:10BEF0004340882339F00E942F400E940FAF81E019
+:10BF00000E94459485E40E944340882309F46CC153
+:10BF10000E942F400E940FAF82E00E94459464C1AE
+:10BF200083E50E944340811104C007EC14E0F12C2A
+:10BF300010C010E00E942F400E9414AF812F0E9479
+:10BF4000E4941F5F1530B1F7F0CFF394F4E0FF16DF
+:10BF500079F0F80181918F010E9443408823A9F371
+:10BF60000E942F400E9414AF8F2D0E94E494EDCFC9
+:10BF700082E40E944340882339F00E942F400E94AF
+:10BF800014AF84E00E94E4940E94AA952DC183E539
+:10BF90000E944340882309F453C00E942F400E940E
+:10BFA0000FAF6130710541F06230710509F048C092
+:10BFB00007EC14E0F12C25C007EC14E0F12CF8019B
+:10BFC00081918F010E944340882341F00E942F40BD
+:10BFD0000E940FAF4FEF8F2D0E94A694F394F4E0D0
+:10BFE000FF12EDCF82E40E944340882349F10E9472
+:10BFF0002F400E940FAF4FEF20C0F394F4E0FF16E4
+:10C0000089F0F80181918F010E9443408823A9F3B0
+:10C010000E942F400E940FAF462F6FEF8F2D0E947E
+:10C02000A694EBCF82E40E944340882349F00E940B
+:10C030002F400E940FAF462F6FEF84E00E94A6941E
+:10C040000E94AA95D1C084E50E944340882309F448
+:10C0500087C00E942F400E9414AF60934D08662352
+:10C06000A9F1EFE2FEE08491882341F09091C000B5
+:10C0700095FFFCCF8093C6003196F5CFEAE6F4E059
+:10C080008191882339F09091C00095FFFCCF809377
+:10C09000C600F6CF40E050E060914D088CE99DE08D
+:10C0A0000E94918AECE6F4E08191882339F0909126
+:10C0B000C00095FFFCCF8093C600F6CF8091C000F2
+:10C0C00085FFFCCF8AE08093C6008EC086E40E9484
+:10C0D00043408823D9F00E942F406B017C0160937C
+:10C0E000FF097093000A8093010A9093020A20E0EE
+:10C0F00030E0A9010E94A3B0181644F4C0922102B6
+:10C10000D0922202E0922302F0922402EFE2FEE0BB
+:10C110008491882341F09091C00095FFFCCF8093DB
+:10C12000C6003196F5CFEDE7F4E08191882339F030
+:10C130009091C00095FFFCCF8093C600F6CF609130
+:10C14000300A70E04AE050E08CE99DE00E945A8A93
+:10C150008091C00085FFFCCF8AE08093C60044C078
+:10C16000EFE2FEE08491882341F09091C00095FFBA
+:10C17000FCCF8093C6003196F5CFEAE0F9E08491D8
+:10C18000882341F09091C00095FFFCCF8093C600BA
+:10C190003196F5CF809168089091690820E6289F34
+:10C1A000F001299FF00D1124E259F74F8191882366
+:10C1B00039F09091C00095FFFCCF8093C600F6CF78
+:10C1C000E8E0F9E08491882341F09091C00095FF68
+:10C1D000FCCF8093C6003196F5CF8091C00085FFDB
+:10C1E000FCCF8AE08093C6000E946A40B9C1C0902B
+:10C1F0001B0AD0901C0AE0901D0AF0901E0A2091A4
+:10C20000500A3091510A4091520A5091530AC70185
+:10C21000B6010E94C6AD2DEC3CEC4CEC5DE30E94F7
+:10C22000A3B0181614F00C94684BC092500AD09228
+:10C23000510AE092520AF092530A80E59AE00E9475
+:10C24000E3A460E080E00E94C2428AC180E090E006
+:10C250000E942E3C0C94654C81E090E00E942E3CA4
+:10C260000C94704C82E090E00E942E3C0C94B94CEF
+:10C270000E94721E80E00E9438490E949C760C94B5
+:10C28000584F0E943840AB01BC014093FA0C5093C8
+:10C29000FB0C6093FC0C7093FD0C85E49CE00E9409
+:10C2A000A912A2CF0E942F400E940FAF8B010C94C5
+:10C2B0007C510E9431A9681979098A099B09693E54
+:10C2C00073408105910508F479C0ECEEFAE08491A1
+:10C2D000882341F09091C00095FFFCCF8093C60069
+:10C2E0003196F5CFE0914D0824E0E29FF001112452
+:10C2F000E05CF74F408151816281738121E030E041
+:10C300008CE99DE00E94308BE8EEFAE0849188236E
+:10C3100041F09091C00095FFFCCF8093C60031960C
+:10C32000F5CF60914D0870E04AE050E08CE99DE067
+:10C330000E945A8AE4EEFAE08491882341F09091B9
+:10C34000C00095FFFCCF8093C6003196F5CFF7FE75
+:10C3500003C0E6E7F5E025C00E9431A98B019C01EE
+:10C36000C701B6016854744F8F4F9F4F601B710B0C
+:10C37000820B930BA30192010E947EB2BA01A90124
+:10C380002AE030E08CE99DE00E94868A8091C0001E
+:10C3900085FFFCCF0DC09091C00095FFFCCF80932E
+:10C3A000C60081918111F7CF8091C00085FFFCCF3D
+:10C3B0003092C6000E9431A94B015C010E94721E9E
+:10C3C00080E00E9438490E949C76FFEFCF16DF067E
+:10C3D000EF06FF0609F046C080914B08E0914D083A
+:10C3E000F0E08F01000F111F000F111F005C174FAD
+:10C3F000EE0FFF1FE85BF74F608171818823C9F062
+:10C40000882777FD8095982F0E9442AF20E030E08A
+:10C4100040E85FE30E94C6AD9B01AC01F80160817A
+:10C420007181828193810E94A3B087FF50C00C94D8
+:10C430005053882777FD8095982F0E9442AF20E0C7
+:10C4400030E040E85FE30E94C7AD9B01AC01F8011A
+:10C4500060817181828193810E94A0AE1816BCF523
+:10C460000C945053F7FE02C00C945053E0914D08C9
+:10C47000F0E08F01000F111F000F111F005C174F1C
+:10C48000EE0FFF1FE85BF74F60817181882777FD12
+:10C490008095982F0E9442AF9B01AC01F80160810A
+:10C4A0007181828193810E94C6AD0E940FAF97FF78
+:10C4B00007C090958095709561957F4F8F4F9F4FE6
+:10C4C000663071058105910514F40C9450530E9457
+:10C4D00031A96B017C010C94505386ED9AE00E94C7
+:10C4E000007680915F0A882321F08EE793E00E9416
+:10C4F00048720E9431A96093520870935308809348
+:10C500005408909355080E9431A960935A0870937B
+:10C510005B0880935C0890935D0866CE0E943D9313
+:10C5200088E50E944340882319F0179A1092350A33
+:10C5300089E50E944340882319F0169A1092360A22
+:10C540008AE50E944340882319F0159A1092370A11
+:10C5500085E40E944340882309F446CE149A44CED1
+:10C56000E9960FB6F894DEBF0FBECDBFDF91CF9135
+:10C570001F910F91FF90EF90DF90CF90BF90AF9001
+:10C580009F908F907F906F905F904F903F90089515
+:10C59000CF93DF938091640890916508039714F41A
+:10C5A0000E94694560E08DE59AE00E9487338091A2
+:10C5B000640890916508892B09F464C080915D0A34
+:10C5C0008823E1F0809168089091690820E6289F0F
+:10C5D000E001299FD00D1124C259D74F61EF7CE0B3
+:10C5E000CE010E94CEB5892BF1F4BE018DE59AE013
+:10C5F0000E94163380915E0A882319F00E94B94A7E
+:10C600002BC0EEEEFCE08491882341F09091C000B5
+:10C6100095FFFCCF8093C6003196F5CF8091C00086
+:10C6200085FFFCCF16C060E08DE59AE00E947D3466
+:10C63000ECEDFCE08491882341F09091C00095FFDF
+:10C64000FCCF8093C6003196F5CF8091C00085FF66
+:10C65000FCCF8AE08093C6008091640890916508C1
+:10C660000197909365088093640880916808909181
+:10C670006908019664E070E00E946BB290936908CB
+:10C68000809368080E94721E80E00E9438490E94D0
+:10C690004F8BDF91CF910C949C768F929F92AF92AB
+:10C6A000BF92CF92DF92EF92FF920F931F93CF939F
+:10C6B000DF938C018C519E4F0E94B72D680189E851
+:10C6C000C80ED11C21F1780181E4E81A8EEFF80A36
+:10C6D000E70157018FE1A81AB1087AEB872E75E0C0
+:10C6E000972ECC15DD0599F0FE01EE19FF09EA0D34
+:10C6F000FB1D91828082FE0178978081811102C0AA
+:10C700006F97EFCFCE014B970E948C13F9CFC801E2
+:10C7100086599F4F0E94B72DC801875B9F4FDF91BD
+:10C72000CF911F910F91FF90EF90DF90CF90BF902E
+:10C73000AF909F908F900C94B72D8DE59AE00C945C
+:10C74000C32D8DE59AE0A9CFFB0160917002709135
+:10C75000710270932C0D60932B0D6091350D7091CB
+:10C76000360D70932A0D6093290D62E060936F027D
+:10C7700064EC7EE770937102609370029093280DD1
+:10C780008093270DF093260DE093250D662757FD26
+:10C790006095762F4093210D5093220D6093230DC9
+:10C7A0007093240DC901AA2797FDA095BA2F841B69
+:10C7B000950BA60BB70B80931D0D90931E0DA093A8
+:10C7C0001F0DB093200D80819181AA2797FDA09520
+:10C7D000BA2F841B950BA60BB70B8093350D909346
+:10C7E000360DA093370DB093380D08950F931F9316
+:10C7F000CF93DF93EB01142F022F482F60E080E4EA
+:10C800009DE00E947E28612F80E49DE00E94BFADE4
+:10C8100011E1FE016491662311F0111117C011237B
+:10C8200039F060E280E49DE00E94BFAD1150F7CF87
+:10C83000602F80E49DE00E94BFAD60E280E49DE057
+:10C84000DF91CF911F910F910C94BFAD80E49DE0DB
+:10C850000E94BFAD21961150DCCFEF92FF920F9353
+:10C860001F93CF93DF93EB01E42E8901F90101902F
+:10C870000020E9F7F22EFE1A92E1F90E482F60E04F
+:10C8800080E49DE00E947E286E2D80E49DE00E9461
+:10C89000BFADFE016491662311F0F11019C06AE387
+:10C8A00080E49DE00E94BFADFF2039F060E280E4AB
+:10C8B0009DE00E94BFADFA94F7CFB80180E49DE0FF
+:10C8C000DF91CF911F910F91FF90EF900C94BEAD2F
+:10C8D00080E49DE00E94BFAD2196FA94DACF1092D9
+:10C8E000990D8DE59AE00E94273910923E0D08952A
+:10C8F0008DE59AE00C9416318DE59AE00C941D318B
+:10C90000CF93DF93CDB7DEB7C054D1090FB6F894FB
+:10C91000DEBF0FBECDBF88E0EFEAF2E0DE01D996C0
+:10C9200001900D928A95E1F788E0E7EBF2E0DE01F5
+:10C93000D19601900D928A95E1F788E0EFEBF2E055
+:10C94000DE01999601900D928A95E1F788E0E7EC77
+:10C95000F2E0DE01919601900D928A95E1F788E070
+:10C96000EFECF2E0DE01599601900D928A95E1F725
+:10C9700088E0E7EDF2E0DE01519601900D928A9594
+:10C98000E1F788E0EFEDF2E0DE01199601900D92FB
+:10C990008A95E1F788E0E7EEF2E0DE01119601907A
+:10C9A0000D928A95E1F7AE01475C5F4F60E080E44D
+:10C9B0009DE00E94FC29AE014F5C5F4F61E080E486
+:10C9C0009DE00E94FC29AE01475D5F4F62E080E47C
+:10C9D0009DE00E94FC29AE014F5D5F4F63E080E463
+:10C9E0009DE00E94FC29AE01475E5F4F64E080E459
+:10C9F0009DE00E94FC29AE014F5E5F4F65E080E440
+:10CA00009DE00E94FC29AE01475F5F4F66E080E435
+:10CA10009DE00E94FC29AE014F5F5F4F67E080E41C
+:10CA20009DE00E94FC29C05CDF4F0FB6F894DEBF8A
+:10CA30000FBECDBFDF91CF910895CF9382E0809359
+:10CA40006F020E9431A96C507E4F8F4F9F4F6093B1
+:10CA50003A0D70933B0D80933C0D90933D0D80916A
+:10CA60000101846080930101CAE09FB7F89480912E
+:10CA700002018460809302019FBF84E690E00E94DF
+:10CA800084A99FB7F894809102018B7F8093020163
+:10CA90009FBF84E690E00E9484A9C15031F7CF91F6
+:10CAA0000895E0917002F0917102E817F90771F0B2
+:10CAB00090937102809370024093350D5093360D20
+:10CAC0006093370D7093380D2111B7CF089521E091
+:10CAD00040E050E0BA01E5CF21E040E050E0BA018B
+:10CAE000E0CF8F929F92AF92BF92CF92DF92EF9260
+:10CAF000FF920F931F93CF93DF938091350D909109
+:10CB0000360DA091370DB091380D81309048A105B8
+:10CB1000B10540F01092350D1092360D1092370D80
+:10CB20001092380D6091350D7091360D8091370D52
+:10CB30009091380D25E030E040E050E00E947EB258
+:10CB400080913E0D90E0A0E0B0E0281739074A0739
+:10CB50005B0710F420933E0DD0913E0D10913F0DD8
+:10CB600012FB112710F9C0E085E0C82ED12CE12C72
+:10CB7000F12C9DE1892E912CA12CB12C01E060912A
+:10CB8000350D7091360D8091370D9091380DD11182
+:10CB900031C020916F02222369F023E065307105D6
+:10CBA0008105910510F443E001C040E266E870E1C0
+:10CBB0008C2F1CDE112309F400C18091350D90915A
+:10CBC000360DA091370DB091380D0597A105B1052F
+:10CBD00008F0F3C032DF8CE692E7DF91CF911F912E
+:10CBE0000F91FF90EF90DF90CF90BF90AF909F900C
+:10CBF0008F906DCFD13061F520916F02222391F09B
+:10CC0000A70196010E947EB22130310541055105F0
+:10CC100019F423E043E002C023E040E265E770E15D
+:10CC20008C2FE4DD112309F4C8C06091350D70919B
+:10CC3000360D8091370D9091380DA70196010E9415
+:10CC40007EB2213031054105510509F0B6C0C2CF91
+:10CC5000D23061F520916F02222391F0A701960155
+:10CC60000E947EB2223031054105510519F423E0BE
+:10CC700043E002C023E040E269E670E18C2FB6DDBC
+:10CC8000112309F49AC06091350D7091360D809191
+:10CC9000370D9091380DA70196010E947EB2223087
+:10CCA00031054105510509F088C094CFD33061F5B5
+:10CCB00020916F02222391F0A70196010E947EB27B
+:10CCC000233031054105510519F423E043E002C04A
+:10CCD00023E040E267E570E18C2F88DD112309F441
+:10CCE0006CC06091350D7091360D8091370D90912B
+:10CCF000380DA70196010E947EB22330310541050F
+:10CD0000510509F05AC066CFD43059F520916F0211
+:10CD1000222391F0A70196010E947EB224303105B2
+:10CD20004105510519F423E043E002C023E040E24D
+:10CD300065E470E18C2F5ADD112309F43EC0609147
+:10CD4000350D7091360D8091370D9091380DA701FA
+:10CD500096010E947EB2243031054105510569F5E6
+:10CD600039CFD53051F520916F02222391F0A701E0
+:10CD700096010E947EB2253031054105510519F416
+:10CD800023E043E002C023E040E269E370E18C2F3E
+:10CD90002DDD112391F06091350D7091360D80914C
+:10CDA000370D9091380DA70196010E947EB2253073
+:10CDB00031054105510509F40DCF8091350D909154
+:10CDC000360DA091370DB091380D4E97A105B105E4
+:10CDD00040F08092350D9092360DA092370DB092B2
+:10CDE000380D6091350D7091360D8091370D909111
+:10CDF000380DA70196010E947EB280913E0D90E011
+:10CE00000396422F50E0841795074CF48DEF820F64
+:10CE100080933E0D00936F02DCEFD20FCFEFCF5F18
+:10CE2000DF5FC43008F4ABCEDF91CF911F910F913B
+:10CE3000FF90EF90DF90CF90BF90AF909F908F903A
+:10CE400008958F929F92AF92BF92CF92DF92EF920E
+:10CE5000FF920F931F93CF93DF938091350D9091A5
+:10CE6000360DA091370DB091380D81309048A10555
+:10CE7000B10540F01092350D1092360D1092370D1D
+:10CE80001092380D6091350D7091360D8091370DEF
+:10CE90009091380D25E030E040E050E00E947EB2F5
+:10CEA00080913E0D90E0A0E0B0E0281739074A07D6
+:10CEB0005B0710F420933E0DD0913E0D10913F0D75
+:10CEC00012FB112710F9C0E025E0C22ED12CE12C75
+:10CED000F12C3DE1832E912CA12CB12C01E060912D
+:10CEE000350D7091360D8091370D9091380DD1111F
+:10CEF00031C020916F02222369F023E06530710573
+:10CF00008105910510F443E001C040E264E370E163
+:10CF10008C2F6CDC112309F429C18091350D90917F
+:10CF2000360DA091370DB091380D0597A105B105CB
+:10CF300008F01CC182DD8CE692E7DF91CF911F9152
+:10CF40000F91FF90EF90DF90CF90BF90AF909F90A8
+:10CF50008F90BDCDD13079F520916F02222391F0D1
+:10CF6000A70196010E947EB221303105410551058D
+:10CF700019F42EE74EE302C02EE740E268E270E1CA
+:10CF80008C2F34DC112309F4F1C06091350D7091C0
+:10CF9000360D8091370D9091380DA70196010E94B2
+:10CFA0007EB2213031054105510509F0DFC045DD74
+:10CFB0008BEA99E730C0D230D9F520916F02222355
+:10CFC00091F0A70196010E947EB222303105410501
+:10CFD000510519F42EE74EE302C02EE740E26EE160
+:10CFE00070E18C2F03DC112309F4C0C06091350D72
+:10CFF0007091360D8091370D9091380DA7019601F3
+:10D000000E947EB2223031054105510509F0AEC0C3
+:10D0100014DD8FEA9AE6DF91CF911F910F91FF9077
+:10D02000EF90DF90CF90BF90AF909F908F9054CDB6
+:10D03000D33079F520916F02222391F0A701960158
+:10D040000E947EB2233031054105510519F420E2DA
+:10D050004EE302C020E240E262E170E18C2FC6DBC9
+:10D06000112309F483C06091350D7091360D8091C4
+:10D07000370D9091380DA70196010E947EB22330A2
+:10D0800031054105510509F071C0D7DC8CE090E114
+:10D090005FC0D43079F520916F02222391F0A7016F
+:10D0A00096010E947EB2243031054105510519F4E4
+:10D0B00020E24EE302C020E240E26BEF7FE08C2FE3
+:10D0C00095DB112309F452C06091350D7091360D36
+:10D0D0008091370D9091380DA70196010E947EB284
+:10D0E000243031054105510509F040C0A6DC87EF29
+:10D0F0009FE02EC0D530D1F520916F02222391F010
+:10D10000A70196010E947EB22530310541055105E7
+:10D1100019F420E24EE302C020E240E26DEE7FE02F
+:10D120008C2F64DB112311F16091350D7091360D58
+:10D130008091370D9091380DA70196010E947EB223
+:10D14000253031054105510589F477DC89EE9FE0F2
+:10D15000DF91CF911F910F91FF90EF90DF90CF90D3
+:10D16000BF90AF909F908F900C94333E8091350D7F
+:10D170009091360DA091370DB091380D4E97A105C5
+:10D18000B10540F08092350D9092360DA092370D8A
+:10D19000B092380D6091350D7091360D8091370D3C
+:10D1A0009091380DA70196010E947EB280913E0DAC
+:10D1B00090E00396422F50E0841795074CF48DEFD2
+:10D1C000820F80933E0D00936F02DCEFD20FCFEF02
+:10D1D000CF5FDF5FC43008F482CEDF91CF911F9123
+:10D1E0000F91FF90EF90DF90CF90BF90AF909F9006
+:10D1F0008F900895BF92CF92DF92EF92FF920F939C
+:10D200001F93CF93DF938091350D9091360DA091B0
+:10D21000370DB091380D81309048A105B10540F02F
+:10D220001092350D1092360D1092370D1092380D68
+:10D230006091350D7091360D8091370D9091380DBC
+:10D2400025E030E040E050E00E947EB280913E0D4B
+:10D2500090E0A0E0B0E0281739074A075B0710F418
+:10D2600020933E0DD0913E0D10913F0D12FB1127E2
+:10D2700010F9C0E065E0C62ED12CE12CF12C01E0C4
+:10D280006091350D7091360D8091370D9091380D6C
+:10D29000D1112EC020916F02222369F023E0653066
+:10D2A00071058105910510F443E001C040E260EE94
+:10D2B0007FE08C2F9BDA112309F479C08091350D22
+:10D2C0009091360DA091370DB091380D0597A105BD
+:10D2D000B10508F06CC0B1DB81E297E6DF91CF9138
+:10D2E0001F910F91FF90EF90DF90CF90BF90EFCB09
+:10D2F000D13071F520916F02222391F0A7019601A0
+:10D300000E947EB2213031054105510519F42EE706
+:10D310004EE302C02EE740E269ED7FE08C2F66DA33
+:10D32000112309F444C06091350D7091360D809140
+:10D33000370D9091380DA70196010E947EB22130E1
+:10D3400031054105510599F578DB8FE090E8A8C0DB
+:10D35000D23069F520916F02222391F0A701960146
+:10D360000E947EB2223031054105510519F42EE7A5
+:10D370004EE302C02EE740E262ED7FE08C2F36DA0A
+:10D380001123A9F06091350D7091360D8091370D04
+:10D390009091380DA70196010E947EB2223031058E
+:10D3A0004105510521F449DB86E190E879C020E090
+:10D3B00030E040E251E46091110D7091120D8091C6
+:10D3C000130D9091140D0E94A0AE87FF73C0609161
+:10D3D000350D7091360D8091370D9091380DD33009
+:10D3E00081F520916F02222391F0A70196010E94FE
+:10D3F0007EB2233031054105510519F42EE74EE385
+:10D4000002C02EE740E26BEC7FE08C2FEFD91111C8
+:10D4100003C055E0B52E50C06091350D7091360DAA
+:10D420008091370D9091380DA70196010E947EB230
+:10D43000233031054105510561F7FFDA8DE190E8B0
+:10D440002FC0D43031F720916F02222391F0A70131
+:10D4500096010E947EB2243031054105510519F430
+:10D460002EE74EE302C02EE740E262EC7FE08C2F15
+:10D47000BDD9112371F26091350D7091360D8091F7
+:10D48000370D9091380DA70196010E947EB224308D
+:10D4900031054105510509F0BCCFCFDA8BE49EE799
+:10D4A000DF91CF911F910F91FF90EF90DF90CF9080
+:10D4B000BF9012CB43E0B42E6091350D7091360DC4
+:10D4C0008091370D9091380DA70196010E947EB290
+:10D4D0008B2D90E0A0E0B0E0281739074A075B07E2
+:10D4E00088F025E0B29EC00111240197AA2797FD7C
+:10D4F000A095BA2F8093350D9093360DA093370DDC
+:10D50000B093380D6091350D7091360D8091370DC7
+:10D510009091380DA70196010E947EB280913E0D38
+:10D5200090E00396422F50E0841795074CF48DEF5E
+:10D53000820F80933E0D00936F02DCEFD20FCFEF8E
+:10D54000CF5FDF5FC43008F49BCEDF91CF911F9196
+:10D550000F91FF90EF90DF90CF90BF90089580E003
+:10D5600090E0A0E8BFE38093110D9093120DA0937B
+:10D57000130DB093140D3ECE20E044E064E180E44E
+:10D580009DE00E94B128BCD980E49DE00C947228F3
+:10D59000F3DF20E040E050E0BA0184E290E881CA85
+:10D5A00010924908109248081092470810924608B5
+:10D5B00010922F0A10922E0AEBCF80E49DE00C947B
+:10D5C000722820E030E04EE353E46091400870910F
+:10D5D000410880914208909143080E94A3B0181618
+:10D5E0004CF480E89EE00E94333E83E79EE00E9478
+:10D5F000333E20C0E2DF40E060E080E49DE00E9436
+:10D600007E286BEC74E080E49DE00E94BEAD42E0B9
+:10D6100060E080E49DE00E947E2862ED74E080E49A
+:10D620009DE00E94BEAD60ED77E080E090E00E945A
+:10D6300060A9C3DFADCF20E030E04EE353E460915A
+:10D6400040087091410880914208909143080E94DF
+:10D65000A3B018166CF48FE69EE00E94333E83E67A
+:10D660009EE00E94333E87E59EE00E94333E20C04C
+:10D67000A4DF40E060E080E49DE00E947E286BEC47
+:10D6800074E080E49DE00E94BEAD42E060E080E492
+:10D690009DE00E947E2862ED74E080E49DE00E949F
+:10D6A000BEAD60ED77E080E090E00E9460A985DF8C
+:10D6B0006FCF8091970D9091980D9093490880932A
+:10D6C00048088091950D9091960D9093470880930E
+:10D6D000460810922F0A10922E0A5ADF0C94442109
+:10D6E0008091910D9091920D9093490880934808F4
+:10D6F00080918F0D9091900D9093470880934608EC
+:10D7000010922F0A10922E0A43DF0C94442180912C
+:10D7100095029091960290934908809348088091D1
+:10D720009302909194029093470880934608109238
+:10D730002F0A10922E0A2CDF0C9444218091910222
+:10D7400090919202909349088093480880918F02AB
+:10D7500090919002909347088093460810922F0A68
+:10D7600010922E0A15DF0C94442180918D02909125
+:10D770008E02909349088093480880918B02909183
+:10D780008C02909347088093460810922F0A1092BB
+:10D790002E0AFEDE0C9444218091890290918A0227
+:10D7A000909349088093480880918702909188025D
+:10D7B000909347088093460810922F0A10922E0AE1
+:10D7C000E7DE0C9444212F923F924F925F926F922A
+:10D7D0007F928F929F92AF92BF92CF92DF92EF9201
+:10D7E000FF920F931F93CF93DF93CDB7DEB7A89728
+:10D7F0000FB6F894DEBF0FBECDBF80916F028111CE
+:10D8000004C080913F0D82FFEBC28DE59AE00E943B
+:10D810001B389DA38CA38091350D9091360DA0915E
+:10D82000370DB091380D81309048A105B10540F019
+:10D830001092350D1092360D1092370D1092380D52
+:10D840006091350D7091360D8091370D9091380DA6
+:10D8500025E030E040E050E00E947EB280913E0D35
+:10D8600090E0A0E0B0E0281739074A075B0710F402
+:10D8700020933E0D40903E0D80913F0D82FB882706
+:10D8800080F98F8F512C35E0C32ED12CE12CF12C57
+:10D8900041102DC080916F028823A9F08091350D31
+:10D8A0009091360DA091370DB091380D23E005977A
+:10D8B000A105B10510F443E001C040E26BE77FE051
+:10D8C000852D0E94F6632F8D222389F08091350DDE
+:10D8D0009091360DA091370DB091380D0597A105A7
+:10D8E000B10528F4AAD88CE692E7F1D879C261E6AE
+:10D8F0007AE08BEC9AE00E9440108091610A8F32AE
+:10D9000031F041E0441671F022E0722E02C077241B
+:10D9100073940CA11DA101501109842C912CA12CF0
+:10D92000B12C52C080916F028823D9F06091350DDF
+:10D930007091360D8091370D9091380DA7019601A9
+:10D940000E947EB2213031054105510519F420E2D3
+:10D950004EE302C020E240E267E77FE0852D0E94AF
+:10D96000F6638F8D882381F26091350D7091360DAD
+:10D970008091370D9091380DA70196010E947EB2DB
+:10D98000213031054105510509F0BECF56D80E941E
+:10D990006F6426C2741088C140E050E0B8018DE584
+:10D9A0009AE00E9492349091A30A80916F02992389
+:10D9B00009F4A1C081110DC09F8D911179C0772408
+:10D9C0007394740C015011090F3FFFEF1F0711F7FB
+:10D9D0006DC16091350D7091360D8091370D90912C
+:10D9E000380DA70196010E947EB2281539054A0517
+:10D9F0005B0579F5452D60E080E49DE00E947E287E
+:10DA00006EE380E49DE00E94BFAD65E080E49DE0B0
+:10DA10000E94BFAD80916E0A882329F01092800A7F
+:10DA20008EE69AE002C081E69AE03C0192E1392E4E
+:10DA3000F30161913F01662311F0311085C133205C
+:10DA400009F4BACF60E280E49DE00E94BFAD3A9451
+:10DA5000F6CF452D60E080E49DE00E947E2860E2E4
+:10DA600080E49DE00E94BFAD65E080E49DE00E94FF
+:10DA7000BFAD80916E0A882329F01092800A8EE64D
+:10DA80009AE002C081E69AE03C0182E1382EF3017F
+:10DA900061913F01662311F031105CC1332009F41C
+:10DAA0008BCF60E280E49DE00E94BFAD3A94F6CF58
+:10DAB0006091350D7091360D8091370D9091380D34
+:10DAC000A70196010E947EB2281539054A055B051B
+:10DAD00009F075CF0E941D6561E67AE08DE59AE058
+:10DAE0000E947E381092350D1092360D1092370D2F
+:10DAF0001092380D75C1811104C0FF8DF11191C0D4
+:10DB00005ECF6091350D7091360D8091370D9091FB
+:10DB1000380DA70196010E947EB2281539054A05E5
+:10DB20005B0509F054C020919B0D2EA3712C472D4D
+:10DB300060E080E49DE00E947E2860E280E49DE059
+:10DB40000E94BFAD739444E07412F1CF452D60E0A4
+:10DB500080E49DE00E947E286EE380E49DE00E94C8
+:10DB6000BFADBFE62B2EBAE03B2E2EE63AE0612C8D
+:10DB7000712C39A328A361E070E0E8A1F9A12191FB
+:10DB8000F9A3E8A32223B1F0CB0101969BA38AA3BA
+:10DB9000452D80E49DE028A76114710409F4E0C0DC
+:10DBA0000E947E2828A5622F80E49DE00E94BFADE0
+:10DBB0006AA17BA1F4E17F2E761A772009F49DCF2C
+:10DBC00060E280E49DE00E94BFAD7A94F6CF452DDF
+:10DBD00060E080E49DE00E947E2860E280E49DE0B9
+:10DBE0000E94BFAD80916E0A882329F01092810AAD
+:10DBF0008EE69AE002C081E69AE03C01E3E13E2E27
+:10DC0000F30161913F01662311F03110E3C033202D
+:10DC100009F473CF60E280E49DE00E94BFAD3A94C6
+:10DC2000F6CF6091350D7091360D8091370D909142
+:10DC3000380DA70196010E947EB2281539054A05C4
+:10DC40005B0509F0BCCE0E941D6581E69AE09F93BA
+:10DC50008F9380E79FE09F938F938E010F5F1F4FFD
+:10DC60001F930F930E945BB60F900F900F900F9031
+:10DC70000F900F907E01F5E0EF0EF11CF70180810F
+:10DC8000882349F0992787FD90950E9498B5F70160
+:10DC900081937F01F3CFC8010E94C03D8CE69FE0D5
+:10DCA0000E94333E75DC9CC073948CCE6091350D20
+:10DCB0007091360D8091370D9091380DA701960126
+:10DCC0000E947EB2872D90E0A0E0B0E028173907CF
+:10DCD0004A075B0788F025E0729EC0011124019776
+:10DCE000AA2797FDA095BA2F8093350D9093360DF6
+:10DCF000A093370DB093380D6091350D7091360DAE
+:10DD00008091370D9091380DA70196010E947EB247
+:10DD100080913E0D90E00396422F50E084179507C6
+:10DD200064F48DEF820F80933E0D81E080936F024B
+:10DD30007CEF472E420E55245A945394439443E06B
+:10DD4000451508F0A5CD4CC080E49DE00E94BFAD14
+:10DD50003A946ECE80E49DE00E94BFAD3A9497CE97
+:10DD60000E947E2828A5622F80E49DE00E94BFAD1E
+:10DD70006AA17BA16431710509F0FFCE9101ACE28B
+:10DD80006A2E7724739480913F0D82FD05C08091A7
+:10DD90009B0D9EA1981789F081E090E0E1E06E1A5A
+:10DDA00071086114710421F0892B69F381E090E01E
+:10DDB000FFEF2F1A3F0A3C01DCCE61E070E080E00B
+:10DDC00090E028A73FA30E9460A980E090E028A5EA
+:10DDD0003FA1E4CF80E49DE00E94BFAD3A9410CF14
+:10DDE000A8960FB6F894DEBF0FBECDBFDF91CF91DE
+:10DDF0001F910F91FF90EF90DF90CF90BF90AF9069
+:10DE00009F908F907F906F905F904F903F902F905A
+:10DE100008958F929F92AF92BF92CF92DF92EF922E
+:10DE2000FF920F931F93CF93DF938091350D9091C5
+:10DE3000360DA091370DB091380D81309048A10575
+:10DE4000B10540F01092350D1092360D1092370D3D
+:10DE50001092380D6091350D7091360D8091370D0F
+:10DE60009091380D25E030E040E050E00E947EB215
+:10DE700080913E0D90E0A0E0B0E0281739074A07F6
+:10DE80005B0710F420933E0DD0913E0D10913F0D95
+:10DE900012FB112710F9C0E045E0C42ED12CE12C73
+:10DEA000F12C57E2852E912CA12CB12C01E0609130
+:10DEB000350D7091360D8091370D9091380DD1113F
+:10DEC00034C020916F02222371F023E06530710588
+:10DED0008105910510F443E001C040E267E57FE071
+:10DEE0008C2F0E94F663112309F4C8C18091350D6F
+:10DEF0009091360DA091370DB091380D0597A10581
+:10DF0000B10508F0BBC10E941D658CE692E7DF9168
+:10DF1000CF911F910F91FF90EF90DF90CF90BF9026
+:10DF2000AF909F908F900C946765D130D9F5209178
+:10DF30006F02222399F0A70196010E947EB2213040
+:10DF400031054105510519F420E24EE302C020E2FB
+:10DF500040E267E47FE08C2F0E94F663112309F40E
+:10DF60008DC16091350D7091360D8091370D909176
+:10DF7000380DA70196010E947EB22130310541057E
+:10DF8000510509F07BC10E941D65DF91CF911F9162
+:10DF90000F91FF90EF90DF90CF90BF90AF909F9048
+:10DFA0008F909ECBD230D9F520916F02222399F029
+:10DFB000A70196010E947EB222303105410551052C
+:10DFC00019F420E24EE302C020E240E268E37FE081
+:10DFD0008C2F0E94F663112309F450C16091350D16
+:10DFE0007091360D8091370D9091380DA7019601F3
+:10DFF0000E947EB2223031054105510509F03EC133
+:10E000000E941D65DF91CF911F910F91FF90EF90BE
+:10E01000DF90CF90BF90AF909F908F904ACBD3303E
+:10E02000D9F520916F02222399F0A70196010E9451
+:10E030007EB2233031054105510519F420E24EE34B
+:10E0400002C020E240E269E27FE08C2F0E94F6638A
+:10E05000112309F413C16091350D7091360D809133
+:10E06000370D9091380DA70196010E947EB22330A2
+:10E0700031054105510509F001C10E941D65DF917F
+:10E08000CF911F910F91FF90EF90DF90CF90BF90B5
+:10E09000AF909F908F9052CBD430D9F520916F02E2
+:10E0A000222399F0A70196010E947EB22430310507
+:10E0B0004105510519F420E24EE302C020E240E29E
+:10E0C00069E17FE08C2F0E94F663112309F4D6C02A
+:10E0D0006091350D7091360D8091370D9091380D0E
+:10E0E000A70196010E947EB22430310541055105F9
+:10E0F00009F0C4C00E941D65DF91CF911F910F915F
+:10E10000FF90EF90DF90CF90BF90AF909F908F9057
+:10E110002CCBD530D9F520916F02222399F0A7019D
+:10E1200096010E947EB2253031054105510519F452
+:10E1300020E24EE302C020E240E269E07FE08C2F63
+:10E140000E94F663112309F499C06091350D709116
+:10E15000360D8091370D9091380DA70196010E94E0
+:10E160007EB2253031054105510509F087C00E9476
+:10E170001D65DF91CF911F910F91FF90EF90DF9080
+:10E18000CF90BF90AF909F908F90C1CAD630D9F5F5
+:10E1900020916F02222399F0A70196010E947EB27E
+:10E1A000263031054105510519F420E24EE302C045
+:10E1B00020E240E26AEF7EE08C2F0E94F66311239A
+:10E1C00009F45CC06091350D7091360D8091370D6A
+:10E1D0009091380DA70196010E947EB2263031053C
+:10E1E0004105510509F04AC00E941D65DF91CF919C
+:10E1F0001F910F91FF90EF90DF90CF90BF90AF9065
+:10E200009F908F90C9CAD730C9F520916F02222301
+:10E2100099F0A70196010E947EB227303105410591
+:10E22000510519F420E24EE302C020E240E261EF22
+:10E230007EE08C2F0E94F663112301F16091350D71
+:10E240007091360D8091370D9091380DA701960190
+:10E250000E947EB2273031054105510579F40E94B4
+:10E260001D65DF91CF911F910F91FF90EF90DF908F
+:10E27000CF90BF90AF909F908F9092C98091350DB5
+:10E280009091360DA091370DB091380D8897A1056A
+:10E29000B10540F08092350D9092360DA092370D69
+:10E2A000B092380D6091350D7091360D8091370D1B
+:10E2B0009091380DA70196010E947EB280913E0D8B
+:10E2C00090E00396422F50E0841795074CF48DEFB1
+:10E2D000820F80933E0D00936F02DCEFD20FCFEFE1
+:10E2E000CF5FDF5FC43008F4E2CDDF91CF911F91A3
+:10E2F0000F91FF90EF90DF90CF90BF90AF909F90E5
+:10E300008F9008955AD941E060E080E49DE00E943A
+:10E310007E2869EF74E080E49DE00E94BEAD42E09B
+:10E3200060E080E49DE00E947E2869E075E080E482
+:10E330009DE00C94BEAD41D942E060E080E49DE0F8
+:10E340000E947E286CE175E080E49DE00C94BEADF7
+:10E350001F93CF93DF9331D940E060E080E49DE0EC
+:10E360000E947E286CE275E080E49DE00E94BEADD4
+:10E3700042E060E080E49DE00E947E286AE375E070
+:10E3800080E49DE00E94BEAD10E043E0612F80E498
+:10E390009DE00E947E286FE573E080E49DE00E948E
+:10E3A000BEADCAE0D0E00E94721E81E00E943849F2
+:10E3B00065E570E080E090E00E9460A921972097D9
+:10E3C00091F71F5F143109F7DF91CF911F910895E5
+:10E3D0001F93CF93DF93F1D840E060E080E49DE0AD
+:10E3E0000E947E2866E475E080E49DE00E94BEAD58
+:10E3F00042E060E080E49DE00E947E286AE375E0F0
+:10E4000080E49DE00E94BEAD10E043E0612F80E417
+:10E410009DE00E947E286FE573E080E49DE00E940D
+:10E42000BEADCAE0D0E00E94721E81E00E94384971
+:10E430006EE670E080E090E00E9460A9219720974E
+:10E4400091F71F5F143109F7DF91CF911F91089564
+:10E4500080932E0D10922D0D0895E2E7F2E00190C9
+:10E460000020E9F73197E257F2401E161F0634F0FC
+:10E470001092860282E080936F02089580E2E43178
+:10E48000F105B4F7DF01AE58BD4F8C933196F7CF4D
+:10E4900020918C0D211108C044E150E0BC0182E7BD
+:10E4A00092E00E944CB6D9CF089510925F0A60E0C6
+:10E4B0008DE59AE00E947D340E94B39380E69FE050
+:10E4C0000E94333E81E080931F0A87E595E0E0DFFC
+:10E4D0008CE59FE00C94333EAF92BF92CF92DF92D7
+:10E4E000EF92FF920F931F93CF93DF931092990DAA
+:10E4F0008091350D9091360DA091370DB091380D6A
+:10E5000081309048A105B10540F01092350D109270
+:10E51000360D1092370D1092380D6091350D7091B7
+:10E52000360D8091370D9091380D25E030E040E0B8
+:10E5300050E00E947EB280913E0D90E0A0E0B0E0FD
+:10E54000281739074A075B0710F420933E0DD09136
+:10E550003E0D10913F0D12FB112710F9C0E075E040
+:10E56000C72ED12CE12CF12CAA24A394D11137C0B1
+:10E5700080916F028823A9F08091350D9091360D1E
+:10E58000A091370DB091380D23E00597A105B10595
+:10E5900010F443E001C040E264E071E18C2F0E947E
+:10E5A000F6631123E1F08091350D9091360DA09125
+:10E5B000370DB091380D0597A105B10580F40E9483
+:10E5C0001D6584E290E8DF91CF911F910F91FF903C
+:10E5D000EF90DF90CF90BF90AF900C9467650E9452
+:10E5E00000A54091350D5091360D6091370D709119
+:10E5F000380D811104C080915F0A882399F1D130D0
+:10E60000C9F580916F028823A9F0CB01BA01A70157
+:10E6100096010E947EB2213031054105510519F461
+:10E620002EE74EE302C02EE740E26FEF70E18C2F41
+:10E630000E94F6631123F1F06091350D7091360D53
+:10E640008091370D9091380DA70196010E947EB2FE
+:10E65000213031054105510569F40E941D6582E6AE
+:10E660009BE73EC2D13031F480916F0281119BC291
+:10E670001111AFC22091600A6091350D7091360D75
+:10E680008091370D9091380D222309F4F1C020912B
+:10E69000480C222309F4B9C020915F0A2223E9F132
+:10E6A000D23009F076C020916F02222399F0A701A1
+:10E6B00096010E947EB2223031054105510519F4C0
+:10E6C00020E24EE302C020E240E26BEE70E18C2FCC
+:10E6D0000E94F663112309F4E2C06091350D709138
+:10E6E000360D8091370D9091380DA70196010E944B
+:10E6F0007EB2223031054105510509F0D0C00E949B
+:10E700001D65DF91CF911F910F91FF90EF90DF90EA
+:10E71000CF90BF90AF900C947C64D230D1F5209113
+:10E720006F02222399F0A70196010E947EB2223047
+:10E7300031054105510519F420E24EE302C020E203
+:10E7400040E26EED70E18C2F0E94F663112309F414
+:10E75000A6C06091350D7091360D8091370D909166
+:10E76000380DA70196010E947EB222303105410585
+:10E77000510509F094C00E941D65DF91CF911F9152
+:10E780000F91FF90EF90DF90CF90BF90AF900C94DF
+:10E790007864D33009F083C020916F02222399F06E
+:10E7A000A70196010E947EB2233031054105510533
+:10E7B00019F420E24EE302C020E240E263ED70E192
+:10E7C0008C2F0E94F663112309F469C06091350D06
+:10E7D0007091360D8091370D9091380DA7019601FB
+:10E7E0000E947EB2233031054105510509F057C022
+:10E7F0000E941D65DF91CF911F910F91FF90EF90C7
+:10E80000DF90CF90BF90AF9050CED23011F003E0A8
+:10E8100047C020916F02222399F0A70196010E9420
+:10E820007EB2223031054105510519F42EE74EE341
+:10E8300002C02EE740E265EC70E18C2F0E94F66387
+:10E84000112329F36091350D7091360D8091370DAC
+:10E850009091380DA70196010E947EB222303105B9
+:10E8600041055105A1F60E941D6583EE9BE638C166
+:10E87000D23069F620916F02222311F3A70196018D
+:10E880000E947EB2223031054105510519F42EE770
+:10E890004EE302C02EE740E26AEB70E1CECF04E027
+:10E8A00080915F0A8111DCC00D1348C080916F0216
+:10E8B0008823F9F06091350D7091360D8091370DF8
+:10E8C0009091380DA70196010E947EB2802F90E0B2
+:10E8D000A0E0B0E0281739074A075B0719F420E2E7
+:10E8E0004EE302C020E240E26CEA70E18C2F0E940D
+:10E8F000F663112319F16091350D7091360D8091F9
+:10E90000370D9091380DA70196010E947EB2802F9D
+:10E9100090E0A0E0B0E0281739074A075B0771F4E0
+:10E920000E941D65DF91CF911F910F91FF90EF9095
+:10E93000DF90CF90BF90AF900C941B6BBB24B3942F
+:10E94000B00EBD1248C080916F028823F9F060912B
+:10E95000350D7091360D8091370D9091380DA701CE
+:10E9600096010E947EB28D2F90E0A0E0B0E02817C3
+:10E9700039074A075B0719F420E24EE302C020E2A0
+:10E9800040E26CE970E18C2F0E94F663112319F1CB
+:10E990006091350D7091360D8091370D9091380D45
+:10E9A000A70196010E947EB28B2D90E0A0E0B0E01E
+:10E9B000281739074A075B0771F40E941D65DF912C
+:10E9C000CF911F910F91FF90EF90DF90CF90BF906C
+:10E9D000AF900C94E16A62E0B62EB00EBD123FC05B
+:10E9E00080916F028823F9F06091350D7091360D9A
+:10E9F0008091370D9091380DA70196010E947EB24B
+:10EA00008D2F90E0A0E0B0E0281739074A075B0798
+:10EA100019F42EE74EE302C02EE740E263E970E10D
+:10EA20008C2F0E94F6631123D1F06091350D709107
+:10EA3000360D8091370D9091380DA70196010E94F7
+:10EA40007EB28B2D90E0A0E0B0E0281739074A078E
+:10EA50005B0729F40E941D6581E297E641C00D5FC6
+:10EA60000D134AC080916F028823F9F06091350D33
+:10EA70007091360D8091370D9091380DA701960158
+:10EA80000E947EB2802F90E0A0E0B0E02817390706
+:10EA90004A075B0719F42EE74EE302C02EE740E277
+:10EAA0006BE870E18C2F0E94F663112329F16091CD
+:10EAB000350D7091360D8091370D9091380DA7016D
+:10EAC00096010E947EB2802F90E0A0E0B0E028176F
+:10EAD00039074A075B0781F40E941D6581E795E6C7
+:10EAE000DF91CF911F910F91FF90EF90DF90CF902A
+:10EAF000BF90AF900C946C65BB24B394B00E609142
+:10EB0000350D7091360D8091370D9091380DA7011C
+:10EB100096010E947EB28B2D90E0A0E0B0E0281715
+:10EB200039074A075B0788F025E0B29EC00111242F
+:10EB30000197AA2797FDA095BA2F8093350D909342
+:10EB4000360DA093370DB093380D6091350D70914F
+:10EB5000360D8091370D9091380DA70196010E94D6
+:10EB60007EB280913E0D90E00396422F50E08417D4
+:10EB700095074CF48DEF820F80933E0DA0926F02AB
+:10EB8000DCEFD20FCFEFCF5FDF5FC43008F4EECC05
+:10EB9000DF91CF911F910F91FF90EF90DF90CF9079
+:10EBA000BF90AF900895CB01BA01A70196010E94D2
+:10EBB0007EB2213031054105510519F42EE74EE3AF
+:10EBC00002C02EE740E267EF70E18C2F0E94F663EF
+:10EBD0004FCD6091350D7091360D8091370D90912C
+:10EBE000380DA70196010E947EB221303105410502
+:10EBF000510509F03FCD0E941D6589E09FE670CF69
+:10EC000020918C0D211108C044E150E0BC0182E745
+:10EC100092E00E94BFB521CC0895F2DF81E080939D
+:10EC20008C0D0C94C86A10928C0D0895CF92DF92CF
+:10EC3000EF92FF92CF93CCB1C095CC1FCC27CC1FC5
+:10EC40008091030183FFC260C0903A0DD0903B0DCC
+:10EC5000E0903C0DF0903D0D0E9431A9C616D706FC
+:10EC6000E806F90610F4489B39C0C0933F0D809127
+:10EC70003F0D817090913F0D91FD82609091390D13
+:10EC8000891721F18130F1F028F0823089F083304A
+:10EC9000A1F01CC0913021F490919B0D9F5F05C0A5
+:10ECA0009230A1F490919B0D915090939B0D0EC0CA
+:10ECB000992391F3933051F4F5CF923069F3913069
+:10ECC00029F4F0CF933041F3992361F38093390D08
+:10ECD000CF91FF90EF90DF90CF900895C460C5CFA3
+:10ECE0000E94BC6A6F98E4E0F1E08081877F8083B6
+:10ECF000779A9FB7F894E5E0F1E08081886080839F
+:10ED00009FBF5098589A60E088E40E9451A89FB72E
+:10ED1000F894E5E0F1E08081846080839FBF80917A
+:10ED2000030182FB882780F991E089278093340DC5
+:10ED30007DDF10929B0D0895CF92DF92EF92FF92AC
+:10ED400075DF8091030191E082FB882780F9892794
+:10ED50002091340D8217C9F082E080936F02809178
+:10ED6000030182FB882780F989278093340D0E9454
+:10ED7000BC6A8091340D882309F490C08DE59AE037
+:10ED80000E94473089E49EE03BDFC090300DD09078
+:10ED9000310DE090320DF090330D0E9431A9C6166E
+:10EDA000D706E806F90608F086C040919B0D44237B
+:10EDB00061F181E080936F02552747FD5095652FE3
+:10EDC000752F8091350D9091360DA091370DB09132
+:10EDD000380D840F951FA61FB71F8093350D909394
+:10EDE000360DA093370DB093380D10929B0D0E94F5
+:10EDF00031A96856754C8F4F9F4F6093050D7093E6
+:10EE0000060D8093070D9093080D80913F0D82FFB2
+:10EE10000EC00E9431A96856754C8F4F9F4F60936A
+:10EE2000050D7093060D8093070D9093080DE091EA
+:10EE30007002F09171021995C090050DD090060DE9
+:10EE4000E090070DF090080D0E9431A9C616D70674
+:10EE5000E806F90638F480917002909171028452AC
+:10EE6000904819F580916F02823011F40E94DD6A9A
+:10EE700080916F02882319F0815080936F020E9465
+:10EE800031A96C597F4F8F4F9F4F6093300D709316
+:10EE9000310D8093320D9093330D0DC08DE59AE0C6
+:10EEA0000E9412318CE39EE06FCF0E94C86A82E01C
+:10EEB00080936F02D7CFFF90EF90DF90CF900895AF
+:10EEC00081E0089580913F0D82FB882780F90895A5
+:10EED0000F931F93CF93DF930E94DD6A40E060E0C1
+:10EEE00080E49DE00E947E2865E675E080E49DE078
+:10EEF0000E94BEAD41E061E080E49DE00E947E287A
+:10EF000068E775E080E49DE00E94BEAD42E061E00C
+:10EF100080E49DE00E947E286CE775E080E49DE03F
+:10EF20000E94BEAD43E061E080E49DE00E947E2847
+:10EF300060E975E080E49DE00E94BEAD41E060E0E4
+:10EF400080E49DE00E947E2860EA75E080E49DE018
+:10EF50000E94BEAD00919B0D112707FD1095C1E0E9
+:10EF6000D0E08091550A9091560A892B09F076C01D
+:10EF70000E94721E81E00E94384980919B0D992762
+:10EF800087FD90950817190709F459C09801281BA7
+:10EF9000390B37FF03C031952195310922303105F6
+:10EFA0000CF44DC0801791070CF42197081719072E
+:10EFB0000CF42196C430D1052CF4209729F4C1E03B
+:10EFC000D0E002C0C3E0D0E041E060E080E49DE03A
+:10EFD0000E947E2861E973E080E49DE00E94BEAD5E
+:10EFE00042E060E080E49DE00E947E2861E973E0F9
+:10EFF00080E49DE00E94BEAD43E060E080E49DE0DF
+:10F000000E947E2861E973E080E49DE00E94BEAD2D
+:10F010004C2F60E080E49DE00E947E2860EA75E06D
+:10F0200080E49DE00E94BEAD00919B0D112707FD7D
+:10F03000109564E670E080E090E00E9460A942DFF5
+:10F04000882309F48ECFD093560AC093550A64EFF3
+:10F0500071E080E090E00E9460A983CF0E94DD6AA9
+:10F06000DF91CF911F910F910C94C86AFC018081B0
+:10F0700090E02AE030E0B9010E946BB2482FCB014A
+:10F08000B9010E946BB2805D8093090D405D409391
+:10F090000A0D10920B0D89E09DE0089520E030E00C
+:10F0A00040E251E4FC0160817181828193810E9480
+:10F0B00075B10E940FAF77FD02C02BE201C02DE2B7
+:10F0C0002093090D9B0177FF04C022273327261BBD
+:10F0D000370BC90168EE73E00E946BB2CB01EAE026
+:10F0E000F0E0BF010E946BB2805D80930A0DC90100
+:10F0F00064E670E00E946BB2CB01BF010E946BB26C
+:10F10000805D80930B0DC901BF010E946BB2282F57
+:10F11000CB01BF010E946BB2805D80930C0D8EE22B
+:10F1200080930D0D205D20930E0D10920F0D89E040
+:10F130009DE008958F929F92AF92BF92CF92DF92FF
+:10F14000EF92FF92FC0180809180A280B38020E04A
+:10F1500030E048EC52E4C501B4010E9475B16B0186
+:10F160007C0120E030E0A9010E94A3B018161CF435
+:10F17000C701B60103C0C701B60190580E940FAF86
+:10F180006B017C0120E030E0A901C501B4010E94BF
+:10F19000A0AE87FF12C08DE28093090DC701B601B2
+:10F1A00028EE33E040E050E00E94A0B2CA01B9016D
+:10F1B0002AE030E040E050E036C0C701B60120E16F
+:10F1C00037E240E050E00E94A0B28AE0882E912C05
+:10F1D000A12CB12CCA01B901A50194010E94A0B2D1
+:10F1E000662391F0605D6093090DC701B60128EEBA
+:10F1F00033E040E050E00E94A0B2CA01B901A5018D
+:10F2000094010E94A0B213C080E28093090DC7014F
+:10F21000B60128EE33E040E050E00E94A0B2CA01FF
+:10F22000B901A50194010E94A0B2662311F0605DAE
+:10F2300001C060E260930A0DC701B60124E630E028
+:10F2400040E050E00E94A0B2BAE08B2E912CA12C9D
+:10F25000B12CCA01B901A50194010E94A0B2605D60
+:10F2600060930B0DC701B601A50194010E94A0B2E5
+:10F27000662381F0605D60930E0DCA01B901A5019E
+:10F2800094010E94A0B2605D60930D0D8EE28093A8
+:10F290000C0D15C0CA01B901A50194010E94A0B2CC
+:10F2A000662329F0605D60930D0D8EE203C080E25D
+:10F2B00080930D0D80930C0D80E280930E0D1092C3
+:10F2C0000F0D89E09DE0FF90EF90DF90CF90BF9011
+:10F2D000AF909F908F900895FC012081318137FF7E
+:10F2E00007C08DE28093090D31952195310914C035
+:10F2F0002436310574F0C90164E670E00E946BB2F7
+:10F30000CB016AE070E00E946BB2805D8093090DD2
+:10F3100006C080E28093090D2A30310564F0EAE0EE
+:10F32000F0E0C901BF010E946BB2CB01BF010E9496
+:10F330006BB2805D01C080E280930A0DC9016AE072
+:10F3400070E00E946BB2805D80930B0D10920C0DEB
+:10F3500089E09DE008958F929F92AF92BF92CF92E5
+:10F36000DF92EF92FF920F931F93CF93DF93609101
+:10F3700014027091150280911602909117020E945A
+:10F38000BD276093190D70931A0D80931B0D9093F8
+:10F390001C0D6091100270911102809112029091E7
+:10F3A00013020E94C9276093150D7093160D809368
+:10F3B000170D9093180D8091350D9091360DA091F9
+:10F3C000370DB091380D81309048A105B10540F05E
+:10F3D0001092350D1092360D1092370D1092380D97
+:10F3E0006091350D7091360D8091370D9091380DEB
+:10F3F00025E030E040E050E00E947EB280913E0D7A
+:10F4000090E0A0E0B0E0281739074A075B0710F446
+:10F4100020933E0DD0913E0D10913F0D12FB112710
+:10F4200010F9C0E095E0C92ED12CE12CF12C23E19C
+:10F43000822E912CA12CB12C01E06091350D7091A0
+:10F44000360D8091370D9091380DD11134C0209137
+:10F450006F02222371F023E065307105810591056B
+:10F4600010F443E001C040E26AEA7FE08C2F0E9482
+:10F47000F663112309F4E2C08091350D9091360DA9
+:10F48000A091370DB091380D0597A105B10508F091
+:10F49000D5C00E941D6581E297E6DF91CF911F9153
+:10F4A0000F91FF90EF90DF90CF90BF90AF909F9023
+:10F4B0008F900C946765D130D9F520916F0222238B
+:10F4C000B9F0A70196010E947EB288E498E021304D
+:10F4D00031054105510521F4FFDE9C014EE303C0D7
+:10F4E000FBDE9C0140E263EA7FE08C2F0E942D64EA
+:10F4F000112309F4A3C06091350D7091360D8091F0
+:10F50000370D9091380DA70196010E947EB22130EF
+:10F5100031054105510509F091C00E941D6528E3A0
+:10F5200031E040E050E068E478E08CE99FE078C0AA
+:10F53000D230D9F520916F022223B9F0A7019601AC
+:10F540000E947EB286E498E02230310541055105E3
+:10F5500021F4C2DE9C014EE303C0BEDE9C0140E20A
+:10F5600068E97FE08C2F0E942D64112309F466C0A6
+:10F570006091350D7091360D8091370D9091380D59
+:10F58000A70196010E947EB2223031054105510546
+:10F5900009F054C00E941D6523E930E040E050E0CE
+:10F5A00066E478E084E99FE03BC0D33009F046C0D0
+:10F5B00020916F022223B9F0A70196010E947EB22A
+:10F5C0008EE29AE0233031054105510521F484DEB5
+:10F5D0009C014EE303C080DE9C0140E26AE87FE0CC
+:10F5E0008C2F0E942D64112349F16091350D70918B
+:10F5F000360D8091370D9091380DA70196010E942C
+:10F600007EB22330310541055105C1F40E941D65CC
+:10F610002FEF30E040E050E06EE27AE080E89FE0DB
+:10F62000DF91CF911F910F91FF90EF90DF90CF90DE
+:10F63000BF90AF909F908F900C94A4638091350DF4
+:10F640009091360DA091370DB091380D4497A105DA
+:10F65000B10540F08092350D9092360DA092370D95
+:10F66000B092380D6091350D7091360D8091370D47
+:10F670009091380DA70196010E947EB280913E0DB7
+:10F6800090E00396422F50E0841795074CF48DEFDD
+:10F69000820F80933E0D00936F02DCEFD20FCFEF0D
+:10F6A000CF5FDF5FC43008F4C8CEDF91CF911F91E8
+:10F6B0000F91FF90EF90DF90CF90BF90AF909F9011
+:10F6C0008F9008958F929F92AF92BF92CF92DF92C8
+:10F6D000EF92FF920F931F93CF93DF938091350D9D
+:10F6E0009091360DA091370DB091380D8130904832
+:10F6F000A105B10540F01092350D1092360D109213
+:10F70000370D1092380D6091350D7091360D809146
+:10F71000370D9091380D25E030E040E050E00E9438
+:10F720007EB280913E0D90E0A0E0B0E0281739074E
+:10F730004A075B0710F420933E0DD0913E0D1091C7
+:10F740003F0D12FB112710F9C0E035E0C32ED12C7C
+:10F75000E12CF12C42E2842E912CA12CB12C01E061
+:10F760006091350D7091360D8091370D9091380D67
+:10F77000D11134C020916F02222371F023E0653053
+:10F7800071058105910510F443E001C040E26CEE83
+:10F790007EE08C2F0E94F663112309F49CC18091B6
+:10F7A000350D9091360DA091370DB091380D05971C
+:10F7B000A105B10508F08FC10E941D658CE692E796
+:10F7C000DF91CF911F910F91FF90EF90DF90CF903D
+:10F7D000BF90AF909F908F900C946765D130D9F512
+:10F7E00020916F022223B9F0A70196010E947EB2F8
+:10F7F0008DE592E0213031054105510521F46CDDA4
+:10F800009C014EE303C068DD9C0140E266EE7EE0B1
+:10F810008C2F0E942D64112309F45DC16091350D78
+:10F820007091360D8091370D9091380DA70196019A
+:10F830000E947EB2213031054105510509F04BC1CE
+:10F840000E941D6527EE33E04AE050E06DE572E06E
+:10F8500080EE9EE03DC0D23009F048C020916F029A
+:10F860002223B9F0A70196010E947EB288E498E0B5
+:10F87000223031054105510521F42EDD9C014EE376
+:10F8800003C02ADD9C0140E269ED7EE08C2F0E94DE
+:10F890002D64112309F41FC16091350D7091360D4F
+:10F8A0008091370D9091380DA70196010E947EB28C
+:10F8B000223031054105510509F00DC10E941D6539
+:10F8C00028E331E040E050E068E478E082ED9EE03B
+:10F8D000DF91CF911F910F91FF90EF90DF90CF902C
+:10F8E000BF90AF909F908F900C94A463D330D9F5C4
+:10F8F00020916F022223B9F0A70196010E947EB2E7
+:10F9000086E498E0233031054105510521F4E4DC1B
+:10F910009C014EE303C0E0DC9C0140E26EEC7EE023
+:10F920008C2F0E942D64112309F4D5C06091350DF0
+:10F930007091360D8091370D9091380DA701960189
+:10F940000E947EB2233031054105510509F0C3C044
+:10F950000E941D6523E930E040E050E066E478E075
+:10F960008AEC9EE0B5CFD430D9F520916F022223E6
+:10F97000B9F0A70196010E947EB28EE29AE024308F
+:10F9800031054105510521F4A7DC9C014EE303C07C
+:10F99000A3DC9C0140E260EC7EE08C2F0E942D6491
+:10F9A000112309F498C06091350D7091360D809146
+:10F9B000370D9091380DA70196010E947EB2243038
+:10F9C00031054105510509F086C00E941D652FEFE4
+:10F9D00030E040E050E06EE27AE086EB9EE078CFE7
+:10F9E000D530D9F520916F022223B9F0A7019601F5
+:10F9F0000E947EB28BE592E025303105410551052C
+:10FA000021F46ADC9C014EE303C066DC9C0140E209
+:10FA100061EB7EE08C2F0E942D64112309F45BC002
+:10FA20006091350D7091360D8091370D9091380DA4
+:10FA3000A70196010E947EB225303105410551058E
+:10FA400009F049C00E941D6527EE33E04AE050E00E
+:10FA50006BE572E08CEA9EE03BCFD630E1F5209179
+:10FA60006F02222399F0A70196010E947EB22630F0
+:10FA700031054105510519F420E24EE302C020E2B0
+:10FA800040E26CE97EE08C2F0E94F663112319F1AD
+:10FA90006091350D7091360D8091370D9091380D34
+:10FAA000A70196010E947EB226303105410551051D
+:10FAB00091F40E941D6587E99EE0DF91CF911F912F
+:10FAC0000F91FF90EF90DF90CF90BF90AF909F90FD
+:10FAD0008F900C94333E8091350D9091360DA0910E
+:10FAE000370DB091380D8397A105B10540F0809294
+:10FAF000350D9092360DA092370DB092380D609171
+:10FB0000350D7091360D8091370D9091380DA7010C
+:10FB100096010E947EB280913E0D90E00396422FA6
+:10FB200050E0841795074CF48DEF820F80933E0DC3
+:10FB300000936F02DCEFD20FCFEFCF5FDF5FC430F7
+:10FB400008F40ECEDF91CF911F910F91FF90EF90AF
+:10FB5000DF90CF90BF90AF909F908F900895FC0161
+:10FB6000808191818436910524F164E670E00E94E1
+:10FB70006BB2CB012AE030E0B9010E946BB2805D2C
+:10FB80008093090D80819181B9010E946BB2CB01F4
+:10FB9000B9010E946BB2805D80930A0D80819181D2
+:10FBA000B9010E946BB2805D80930B0D10920C0D19
+:10FBB00023C08A309105BCF02AE030E0B9010E94F0
+:10FBC0006BB2CB01B9010E946BB2805D8093090DCD
+:10FBD00080819181B9010E946BB2805D80930A0D92
+:10FBE00010920B0D09C06AE070E00E946BB2805D5C
+:10FBF0008093090D10920A0D89E09DE00895CF923F
+:10FC0000EF920F93EFE1CE2EF0E2EF2E0FE02EE019
+:10FC100045E066E280E49DE00E9459290F91EF9053
+:10FC2000CF900895CF93DF93FC016491EC0121966E
+:10FC3000662331F080E49DE00E94362ACE01F4CFA5
+:10FC4000DF91CF9108950F931F93CF93DF938C0192
+:10FC5000EB0141E061E080E49DE00E947E28C80164
+:10FC6000E1DF6AE380E49DE00E94BFADFE01019008
+:10FC70000020E9F76C2F6E1B6C5E41E080E49DE094
+:10FC80000E947E28BE0180E49DE0DF91CF911F910C
+:10FC90000F910C94BEADCF92DF92EF92FF920F9333
+:10FCA0001F938091350D9091360DA091370DB09135
+:10FCB000380D0097A105B10509F442C0BC018827A1
+:10FCC00077FD8095982F0E9442AF2091110D3091C1
+:10FCD000120D4091130D5091140D0E9475B19B01AE
+:10FCE000AC016091500A7091510A8091520A909132
+:10FCF000530A0E94C7AD6093500A7093510A8093D3
+:10FD0000520A9093530A1092350D1092360D1092AC
+:10FD1000370D1092380DA0E3CA2EAAE0DA2EE12C9E
+:10FD2000F12C00E81FE320E53AE04CE45AE068E4F7
+:10FD30007AE084E49AE00E94779A81E080936F02EF
+:10FD400080916F02882339F080E59AE0A7D9BC0141
+:10FD500089EB9FE078DF80913F0D82FF0EC021E0AC
+:10FD600040E050E0BA018AEF98E61F910F91FF90B2
+:10FD7000EF90DF90CF900C9451651F910F91FF9001
+:10FD8000EF90DF90CF900895CF93DF931F921F9253
+:10FD9000CDB7DEB78091350D9091360DA091370D1E
+:10FDA000B091380DB7FF08C01092350D1092360D86
+:10FDB0001092370D1092380D80911D0D90911E0DEF
+:10FDC000A0911F0DB091200D4091350D5091360D31
+:10FDD0006091370D7091380D84179507A607B70706
+:10FDE00044F48093350D9093360DA093370DB09366
+:10FDF000380D80916F028823A9F08091210D909198
+:10FE0000220D2091350D3091360D820F931F9A836C
+:10FE10008983CE01019660DABC018091270D909113
+:10FE2000280D11DF80913F0D82FF1DC0E091250D4F
+:10FE3000F091260D8091210D9091220D2091350D8C
+:10FE40003091360D820F931F918380834091290D4D
+:10FE500050912A0D60E070E021E080912B0D90918F
+:10FE60002C0D0E9451650F900F90DF91CF91089556
+:10FE70004F925F926F927F928F929F92AF92BF92BA
+:10FE8000CF92DF92EF92FF920F931F93CF93DF9366
+:10FE90004C015B017A018091350D9091360DA09156
+:10FEA000370DB091380D892B8A2B8B2B09F47BC031
+:10FEB0000E945F40E501CC0FDD1FCC0FDD1F8E01DE
+:10FEC0000C5B154F6091350D7091360D882777FDCD
+:10FED0008095982F0E9442AF2091110D3091120D04
+:10FEE0004091130D5091140D0E9475B1F8012081BD
+:10FEF0003181428153810E94C7AD2B013C0120E03A
+:10FF000030E0A9010E94A0AEF80187FD05C0408243
+:10FF100051826282738204C0108211821282138223
+:10FF2000B701882777FD8095982F0E9442AF6B011B
+:10FF30007C018E010C5B154F9B01AC01F8016081C7
+:10FF40007181828193810E94A3B018162CF4F8016C
+:10FF5000C082D182E282F3821092350D1092360D6A
+:10FF60001092370D1092380DCA55DA4F20E030E06C
+:10FF700040E752E4688179818A819B810E94A7AE23
+:10FF8000D0E3CD2EDAE0DD2E7B018C0120E53AE0D6
+:10FF90004CE45AE068E47AE084E49AE00E94779ABC
+:10FFA00081E080936F0280916F02882359F0C50130
+:10FFB000880F991F880F991F8C5B954F6FD8BC01D4
+:10FFC000C40141DE80913F0D82FF18C021E040E076
+:10FFD00050E0BA018AEF98E6DF91CF911F910F911F
+:10FFE000FF90EF90DF90CF90BF90AF909F908F9059
+:10FFF0007F906F905F904F900C945165DF91CF91FF
+:020000021000EC
+:100000001F910F91FF90EF90DF90CF90BF90AF9036
+:100010009F908F907F906F905F904F90089546EDE6
+:1000200050E060E070E083EB9FE022CF46EC50E0D0
+:1000300061E070E085EB9FE01BCF49EC50E062E0AF
+:1000400070E087EB9FE014CF8F929F92AF92BF92A8
+:10005000CF92DF92EF92FF920F931F93CF93DF9394
+:10006000CDB7DEB728970FB6F894DEBF0FBECDBF71
+:1000700080912F0D882321F0815080932F0D03C094
+:1000800081E080936F0280916F02882309F456C249
+:1000900080919A0D8F5F80939A0D8E3129F40E9482
+:1000A000BC6A10929A0D0EC06AE00E944AB2911189
+:1000B00009C020E044E064E180E49DE00E947E29E4
+:1000C0000E94806420E030E040E05FE360914008FF
+:1000D0007091410880914208909143080E94C7ADF9
+:1000E0000E940FAF78876F8360914808709149082C
+:1000F000882777FD8095982F0E9442AF20E030E05E
+:1001000040E05FE30E94C7AD0E940FAF7E836D8326
+:1001100040E060E080E49DE00E947E2862E080E4B0
+:100120009DE00E94BFADCE010796D6D8BC0180E409
+:100130009DE00E94BEAD6FE280E49DE00E94BFADF5
+:10014000CE0105960CDDBC0180E49DE00E94BEADB1
+:1001500084E99EE067DD60E973E080E49DE00E9451
+:10016000BEAD40E06AE080E49DE00E947E2862EA45
+:1001700075E080E49DE00E94BEAD2CEA35EC47E2DC
+:1001800057E360914C0A70914D0A80914E0A90910C
+:100190004F0A0E94C7AD69837A838B839C83CE010B
+:1001A00001960E949A78BC0180E49DE00E94BEAD59
+:1001B00060E280E49DE00E94BFAD41E060E080E449
+:1001C0009DE00E947E2820E030E040E05FE3609107
+:1001D0003A0870913B0880913C0890913D080E943C
+:1001E000C7AD0E940FAF78876F836091460870910A
+:1001F0004708882777FD8095982F0E9442AF20E01E
+:1002000030E040E05FE30E94C7AD0E940FAF7E8305
+:100210006D8360E080E49DE00E94BFADCE01079653
+:100220005BD8BC0180E49DE00E94BEAD6FE280E43B
+:100230009DE00E94BFADCE01059691DCBC0180E43B
+:100240009DE00E94BEAD81E99EE0ECDC60E973E0D8
+:1002500080E49DE00E94BEAD41E06AE080E49DE064
+:100260000E947E2860E973E080E49DE00E94BEADBC
+:1002700066E080E49DE00E94BFAD8DE592E02CD861
+:10028000BC0180E49DE00E94BEAD65E280E49DE09B
+:100290000E94BFAD6DE873E080E49DE00E94BEADBA
+:1002A00042E060E080E49DE00E947E288EE89EE0CF
+:1002B000B9DC80915F0A8823A9F18091480C8823DA
+:1002C00019F18091F20C9091F30CA091F40CB09183
+:1002D000F50C0097A105B105B9F0BC01CD016D5930
+:1002E0007F4F8F4F9F4F24E630E040E050E00E9468
+:1002F0007EB26091FA0C7091FB0C8091FC0C909195
+:10030000FD0C0E947EB201C020E030E03A832983D8
+:10031000CE0101960E946C79BC0180E49DE00E94B0
+:10032000BEAD03C08AE89EE07DDC65E280E49DE02E
+:100330000E94BFAD6CE873E080E49DE00E94BEAD1A
+:1003400042E06AE080E49DE00E947E2860E973E07C
+:1003500080E49DE00E94BEAD67E080E49DE00E94E5
+:10036000BFAD8091520890915308A0915408B0916C
+:100370005508892B8A2B8B2BE1F10E9431A920E6AD
+:10038000C22E2AEED22EE12CF12CA70196010E945A
+:100390007EB249015A0160915208709153088091D0
+:1003A000540890915508A70196010E947EB2C4019D
+:1003B000821B930B6CE370E00E9457B2182F698385
+:1003C000CE0101960E943678BC0180E49DE00E9437
+:1003D000BEAD6AE380E49DE00E94BFAD1983CE010B
+:1003E00001960E943678BC0180E49DE00E94BEAD7B
+:1003F00003C084E89EE016DC60E973E080E49DE0E1
+:100400000E94BEAD43E060E080E49DE00E947E2853
+:100410006EE773E082E792E00E942EB6892B09F026
+:1004200074C06EE67AE085E59DE00E942EB6892BC9
+:10043000D1F0E5E5FDE0DF010D900020E9F7AD0129
+:100440004150510945555D4060E070E0CF010E9488
+:10045000FEB56EE67AE085E59DE00E9437B6109223
+:100460008B0D10928A0DEEE6FAE001900020E9F77C
+:10047000EF56FA40759708F445C000918A0D109127
+:100480008B0DC12CD12C80918A0D90918B0D9801F0
+:10049000281B390B2431310534F0019690938B0DD4
+:1004A00080938A0D38C0C114D104B9F7F801E35A1A
+:1004B000F54F7F019189602F681B43E0911115C0B2
+:1004C00080E49DE00E947E28D70150966C9180E4E4
+:1004D0009DE00E94BFAD10928B0D10928A0D00E03E
+:1004E00010E0CC24C394D12CCECF80E49DE00E94B8
+:1004F0007E28F701608980E49DE00E94BFAD0F5F18
+:100500001F4FC1CF65E57DE002C062E772E080E485
+:100510009DE00E94BEAD02E712E0D8018D918D01F1
+:1005200080322CF460E280E49DE00E94BFADB2E036
+:1005300006381B0791F78AE080932F0D80913F0DBD
+:1005400082FB882780F990912E0D992399F0909144
+:100550002D0D992339F0811119C010922D0D109293
+:100560002E0D14C0882391F00E941D6581E08093B8
+:100570002D0D0CC0882351F021E040E050E0BA017D
+:100580008CE692E70E9451650E94BC6A80915D02F0
+:1005900090915E022091350D3091360D8436910593
+:1005A00034F4820F931F853691054CF416C08436BF
+:1005B000910599F0820F931F8436910574F410927F
+:1005C000350D1092360D1092370D1092380D84E6CD
+:1005D00090E090935E0280935D0220915D023091E5
+:1005E0005E028091350D9091360D2436310569F407
+:1005F0008B3091051CF0865A9F4F09C0863FEFEF64
+:100600009E078CF482599F4F02C0820F931F9093D4
+:100610005E0280935D021092350D1092360D10929D
+:10062000370D1092380D80915D0290915E028A30F4
+:1006300091051CF48AE090E005C0883E934034F0B8
+:1006400087EE93E090935E0280935D0228960FB64A
+:10065000F894DEBF0FBECDBFDF91CF911F910F91F8
+:10066000FF90EF90DF90CF90BF90AF909F908F90D2
+:100670000895CF93DF93CFE2DEE0FE0184918823DB
+:1006800041F09091C00095FFFCCF8093C600319659
+:10069000F5CFE4E0F4E18491882341F09091C0002B
+:1006A00095FFFCCF8093C6003196F5CF8091C000B6
+:1006B00085FFFCCF8AE08093C600FE018491EFE2C3
+:1006C000FEE0882349F09091C00095FFFCCF809315
+:1006D000C60031968491F5CF4091A1135091A21399
+:1006E0006091A3137091A4138CEF93E10E949C3D41
+:1006F0004091A5135091A6136091A7137091A81370
+:1007000089EF93E10E949C3D4091A9135091AA1357
+:100710006091AB137091AC1386EF93E10E949C3D06
+:100720004091AD135091AE136091AF137091B0131F
+:1007300083EF93E10E949C3D8091C00085FFFCCF38
+:100740008AE08093C600FE018491EFE2FEE08823F8
+:1007500049F09091C00095FFFCCF8093C600319680
+:100760008491F5CFE9EDF3E18491882341F09091F4
+:10077000C00095FFFCCF8093C6003196F5CF8091E5
+:10078000C00085FFFCCF8AE08093C600FE01849103
+:10079000EFE2FEE0882349F09091C00095FFFCCF86
+:1007A0008093C60031968491F5CF4091B11350915A
+:1007B000B2136091B3137091B41380ED93E10E9472
+:1007C0009C3D4091B5135091B6136091B713709151
+:1007D000B8138DEC93E10E949C3D4091B913509168
+:1007E000BA136091BB137091BC138AEC93E10E9421
+:1007F0009C3D4091BD135091BE136091BF13709109
+:10080000C01387EC93E10E949C3D8091C00085FF5E
+:10081000FCCF8AE08093C600FE018491EFE2FEE007
+:10082000882349F09091C00095FFFCCF8093C600CB
+:1008300031968491F5CFE9EAF3E18491882341F080
+:100840009091C00095FFFCCF8093C6003196F5CF04
+:100850008091C00085FFFCCF8AE08093C600FE0136
+:100860008491EFE2FEE0882349F09091C00095FF6B
+:10087000FCCF8093C60031968491F5CF40919113BF
+:1008800050919213609193137091941380EA93E1C5
+:100890000E94AE3D4091951350919613609197132D
+:1008A000709198138DE993E10E94AE3D40919913A8
+:1008B00050919A1360919B1370919C138AE993E174
+:1008C0000E94AE3D40919D1350919E1360919F13E5
+:1008D0007091A01387E993E10E94AE3D8091C00022
+:1008E00085FFFCCF8AE08093C600FE018491EFE291
+:1008F000FEE0882349F09091C00095FFFCCF8093E3
+:10090000C60031968491F5CFE2E6F3E18491882325
+:1009100041F09091C00095FFFCCF8093C6003196C6
+:10092000F5CF8091C00085FFFCCF8AE08093C600A0
+:10093000FE018491EFE2FEE0882349F09091C0002F
+:1009400095FFFCCF8093C60031968491F5CF4091FE
+:10095000891350918A1360918B1370918C1389E5E0
+:1009600093E10E949C3D40918513509186136091C4
+:1009700087137091881386E593E10E949C3D8091D6
+:10098000C00085FFFCCF8AE08093C600FE01849101
+:10099000EFE2FEE0882349F09091C00095FFFCCF84
+:1009A0008093C60031968491F5CFE3EAF2E1849119
+:1009B000882341F09091C00095FFFCCF8093C60042
+:1009C0003196F5CF8091C00085FFFCCF8AE08093FF
+:1009D000C600FE018491EFE2FEE0882349F0909189
+:1009E000C00095FFFCCF8093C60031968491F5CF6F
+:1009F00040918D1350918E1360918F1370919013CD
+:100A00008AE992E10E949C3D4091751350917613C2
+:100A1000609177137091781387E992E10E949C3D71
+:100A20004091C1135091C2136091C3137091C413CC
+:100A300084E992E10E94AE3D40918113509182136E
+:100A4000609183137091841381E992E10E949C3D2F
+:100A500040917D1350917E1360917F1370918013AC
+:100A60008EE892E10E949C3D4091791350917A1357
+:100A700060917B1370917C138BE892E10E949C3D06
+:100A80008091C00085FFFCCF8AE08093C600FE0104
+:100A90008491EFE2FEE0882349F09091C00095FF39
+:100AA000FCCF8093C60031968491F5CFE9E7F2E15F
+:100AB0008491882341F09091C00095FFFCCF8093F2
+:100AC000C6003196F5CF8091C00085FFFCCF8AE04B
+:100AD0008093C600FE018491EFE2FEE0882349F096
+:100AE0009091C00095FFFCCF8093C6003196849111
+:100AF000F5CF4091380A5091390A60913A0A7091C5
+:100B00003B0A80E792E10E949C3D40913C0A509153
+:100B10003D0A60913E0A70913F0A8DE692E10E9483
+:100B20009C3D4091400A5091410A6091420A709167
+:100B3000430A8AE692E10E949C3D8091C00085FFB5
+:100B4000FCCF8AE08093C600FE018491EFE2FEE0D4
+:100B5000882349F09091C00095FFFCCF8093C60098
+:100B600031968491F5CFECE5F2E18491882341F050
+:100B70009091C00095FFFCCF8093C6003196F5CFD1
+:100B80008091C00085FFFCCF8AE08093C600FE0103
+:100B90008491EFE2FEE0882349F09091C00095FF38
+:100BA000FCCF8093C60031968491F5CF4091180216
+:100BB0005091190260911A0270911B0282E592E134
+:100BC0000E949C3D60911402709115028091160262
+:100BD000909117020E94BD27AB01BC018FE492E106
+:100BE0000E949C3D6091100270911102809112024E
+:100BF000909113020E94C927AB01BC018CE492E1E1
+:100C00000E949C3D8091C00085FFFCCF8AE08093CC
+:100C1000C600FE018491EFE2FEE0882349F0909146
+:100C2000C00095FFFCCF8093C60031968491F5CF2C
+:100C3000E8E1F2E18491882341F09091C00095FFB2
+:100C4000FCCF8093C6003196F5CF8091C00085FF20
+:100C5000FCCF8AE08093C600FE018491EFE2FEE0C3
+:100C6000882349F09091C00095FFFCCF8093C60087
+:100C700031968491F5CF40913302509134026091C6
+:100C80003502709136028EE092E10E949C3D20E098
+:100C900030E040E752E460912B0270912C02809189
+:100CA0002D0290912E020E9475B1AB01BC018BE028
+:100CB00092E10E949C3D4091280A5091290A60913E
+:100CC0002A0A70912B0A88E092E10E949C3D809153
+:100CD000C00085FFFCCF8AE08093C600FE018491AE
+:100CE000EFE2FEE0882349F09091C00095FFFCCF31
+:100CF0008093C60031968491F5CFECEDF1E18491BB
+:100D0000882341F09091C00095FFFCCF8093C600EE
+:100D10003196F5CF8091C00085FFFCCF8AE08093AB
+:100D2000C600FE018491EFE2FEE0882349F0909135
+:100D3000C00095FFFCCF8093C60031968491F5CF1B
+:100D40004091240A5091250A6091260A7091270A41
+:100D500082ED91E10E949C3D20E030E040E752E4CA
+:100D600060912702709128028091290290912A02B5
+:100D70000E9475B1AB01BC018FEC91E10E949C3DDA
+:100D80008091C00085FFFCCF8AE08093C600FE0101
+:100D90008491EFE2FEE0882349F09091C00095FF36
+:100DA000FCCF8093C60031968491F5CFE5E7F1E161
+:100DB0008491882341F09091C00095FFFCCF8093EF
+:100DC000C6003196F5CF8091C00085FFFCCF8AE048
+:100DD0008093C600FE018491EFE2FEE0882349F093
+:100DE0009091C00095FFFCCF8093C600319684910E
+:100DF000F5CF40912D0A50E060E070E08BE691E184
+:100E00000E94AE3D8091C00085FFFCCF8AE08093B8
+:100E1000C600FE018491EFE2FEE0882349F0909144
+:100E2000C00095FFFCCF8093C60031968491F5CF2A
+:100E30008091540A8823A1F1E8E5F1E184918823A7
+:100E400041F09091C00095FFFCCF8093C600319691
+:100E5000F5CF8091C00085FFFCCF8AE08093C6006B
+:100E6000FE01C491EFE2FEE0CC2349F08091C00086
+:100E700085FFFCCFC093C6003196C491F5CF409159
+:100E800053025091540260915502709156028EE4C3
+:100E900091E10E949C3D8091C00085FFFCCF11C074
+:100EA000E2E3F1E18491882341F09091C00095FF45
+:100EB000FCCF8093C6003196F5CF8091C00085FFAE
+:100EC000FCCF8AE08093C600DF91CF910895AF9266
+:100ED000BF92CF92DF92EF92FF920F931F93CF9327
+:100EE000DF93CDB7DEB7E0970FB6F894DEBF0FBE45
+:100EF000CDBF80E1EFEEF2E0DE01919601900D9220
+:100F00008A95E1F780E1EFEFF2E0DE015196019082
+:100F10000D928A95E1F780E1EFE0F3E0DE011196B2
+:100F200001900D928A95E1F76E0181E2C80ED11C05
+:100F300081EAE82E83E1F82E8E010F5E1F4F61EBF0
+:100F400073E1AE014F5F5F4F91E9A92E93E1B92E96
+:100F500020E030E0F60181919191A191B1916F0172
+:100F6000F70181939193A193B1937F01F80181914E
+:100F70009191A191B1918F01FB0181939193A193E3
+:100F8000B193BF01FA0181919191A191B191AF010A
+:100F9000F50181939193A193B1935F012F5F3F4F2F
+:100FA00024303105B9F60E9410A580E090E8ABE34B
+:100FB000B5E48093891390938A13A0938B13B09315
+:100FC0008C138093851390938613A0938713B0930B
+:100FD000881310928D1310928E1310928F1310920B
+:100FE000901380E29EE4A0E0B0E08093C113909360
+:100FF000C213A093C313B093C4131092751310922D
+:101000007613109277131092781380E090E0A0EAA4
+:10101000B1E48093811390938213A0938313B093D0
+:1010200084138DEC9CECACECBEE380937D13909329
+:101030007E13A0937F13B093801380E090E0A0EA2A
+:10104000B0E48093791390937A13A0937B13B093B9
+:101050007C131092400A1092410A1092420A109298
+:10106000430A10923C0A10923D0A10923E0A1092D6
+:101070003F0A1092380A1092390A10923A0A1092D6
+:101080003B0A8CED90E09093980D8093970D82E34E
+:1010900090E09093960D8093950D8FEF90E0909354
+:1010A000940D8093930D2DE131E03093920D2093B8
+:1010B000910D24E630E03093900D20938F0D9093A6
+:1010C0008E0D80938D0D83E393E3ABE4B1E48093C5
+:1010D000180290931902A0931A02B0931B026FE1B9
+:1010E00075E88BE89FE30E94B72760931402709322
+:1010F000150280931602909317026AE979E985E157
+:1011000092E40E94C32760931002709311028093AF
+:101110001202909313020E94251E80E090E0A0E846
+:10112000BFE380930C0290930D02A0930E02B09344
+:101130000F0210922D0A80E090E0A0E4B0E48093CA
+:10114000330290933402A0933502B093360240E00C
+:1011500050E064E372E440932B0250932C026093BE
+:101160002D0270932E021092280A1092290A1092D2
+:101170002A0A10922B0A1092240A1092250A109221
+:10118000260A1092270A40E050E060E071E44093A4
+:101190002702509328026093290270932A0210922A
+:1011A000540A8093530290935402A0935502B09333
+:1011B00056020E94A74AEFE2FEE08491882341F0A4
+:1011C0009091C00095FFFCCF8093C6003196F5CF7B
+:1011D000E0E1F1E18491882341F09091C00095FF16
+:1011E000FCCF8093C6003196F5CF8091C00085FF7B
+:1011F000FCCF8AE08093C600E0960FB6F894DEBF7D
+:101200000FBECDBFDF91CF911F910F91FF90EF9057
+:10121000DF90CF90BF90AF9008951F920F920FB6BE
+:101220000F9211240BB60F922F933F934F935F931E
+:101230006F938F939F93EF93FF936091C6002091DC
+:101240001D0E30911E0EC90101968F77992740918E
+:101250001F0E5091200E8417950741F0F901E356B7
+:10126000F24F608390931E0E80931D0EFF91EF91BD
+:101270009F918F916F915F914F913F912F910F901F
+:101280000BBE0F900FBE0F901F9018959A01AB01E7
+:10129000211581EE38074105510549F182E080931F
+:1012A000C00060E079E08DE390E00E94A0B22150A0
+:1012B000310941095109CA01B90122E030E040E099
+:1012C00050E00E94A0B23093C5002093C4008091EA
+:1012D000C10080618093C1008091C10088608093CB
+:1012E000C1008091C10080688093C1000895109270
+:1012F000C00020E130E0E7CF20911F0E3091200E9A
+:1013000080911D0E90911E0E8217930771F0F901C6
+:10131000E356F24F80812F5F3F4F2F773327309373
+:10132000200E20931F0E90E008958FEF9FEF0895F9
+:1013300080911F0E9091200E90931E0E80931D0E93
+:1013400008954F925F926F927F928F929F92AF9289
+:10135000BF92CF92DF92EF92FF920F931F93CF93A2
+:10136000DF93CDB7DEB7A0970FB6F894DEBF0FBE00
+:10137000CDBF5C014115510561057105E9F420E01F
+:1013800030E040E350E060E070E0A0960FB6F894E3
+:10139000DEBF0FBECDBFDF91CF911F910F91FF90A8
+:1013A000EF90DF90CF90BF90AF909F908F907F9005
+:1013B0006F905F904F905BC08E010F5F1F4FC12CED
+:1013C000D12C76014801422E512C612C712C8FEFCB
+:1013D000C81AD80AE80AF80ACB01BA01A301920197
+:1013E0000E947EB2CA01F80161938F01A901BC017C
+:1013F000411551056105710551F7F1E0CF1AD1088A
+:10140000E108F108F401EC0DFD1D80818A3010F433
+:1014100040E301C047E3480F552747FD5095652F2E
+:10142000752F20E030E0C50122D081E0C81AD10834
+:10143000E108F108EFEFCE16DE06EE06FE0611F724
+:10144000A0960FB6F894DEBF0FBECDBFDF91CF914F
+:101450001F910F91FF90EF90DF90CF90BF90AF90D2
+:101460009F908F907F906F905F904F90089521157F
+:10147000310539F48091C00085FFFCCF4093C60050
+:1014800008952A30310509F41CC05BCFCF93DF9358
+:10149000EC0120E030E04DE050E060E070E0E7DF9C
+:1014A00020E030E04AE050E060E070E0CE01DF9103
+:1014B000CF91DDCF9A01AB01662757FD6095762F5E
+:1014C000D6CFCF92DF92EF92FF92CF93DF93EC01D2
+:1014D0006A017B0177FF0FC020E030E04DE250E071
+:1014E00060E070E0C4DFF094E094D094C094C11C3C
+:1014F000D11CE11CF11C2AE0B701A601CE01DF914D
+:10150000CF91FF90EF90DF90CF901BCF2115310549
+:1015100039F48091C00085FFFCCF4093C600089548
+:1015200010CF9A01462F50E060E070E0EFCFCF93EC
+:10153000DF93EC019A01AB0160E070E0E7DFCE01E0
+:10154000DF91CF91A3CF8F929F92AF92BF92CF9214
+:10155000DF92EF92FF921F93CF93DF93EC016A012A
+:101560007B01122F20E030E0A901C701B6010E94E3
+:10157000A0AE87FF0CC020E030E04DE250E060E01C
+:1015800070E0CE0174DFF7FAF094F7F8F094B12C24
+:1015900060E070E080E09FE3B11641F020E030E0D1
+:1015A00040E251E40E94A7AEB394F6CF9B01AC0198
+:1015B000C701B6010E94C7AD6B017C010E9414AF48
+:1015C0004B015C010E9440AF9B01AC01C701B60119
+:1015D0000E94C6AD6B017C012AE0B501A401CE01D9
+:1015E000B0DE112361F0EFE5F3E08191882339F05B
+:1015F0009091C00095FFFCCF8093C600F6CF1123D9
+:1016000019F120E030E040E251E4C701B6010E9448
+:1016100075B16B017C010E940FAF4B01AA2497FCAE
+:10162000A094BA2CB501A401CE014BDFC501B401D1
+:101630000E9442AF9B01AC01C701B6010E94C6AD3A
+:101640006B017C011150DBCFDF91CF911F91FF9097
+:10165000EF90DF90CF90BF90AF909F908F900895C4
+:1016600072CFCF93DF931F92CDB7DEB7698341E08E
+:1016700050E0BE016F5F7F4F04960E9481160F906D
+:10168000DF91CF910895FB0101900020E9F7AF01B0
+:1016900041505109461B570B04960C9481168091BA
+:1016A000390E811109C08091380E811105C08091D9
+:1016B000370E811101C00895EFE2FEE08491882386
+:1016C00041F09091C00095FFFCCF8093C600319609
+:1016D000F5CFEFE6F4E18491882341F09091C000CA
+:1016E00095FFFCCF8093C6003196F5CF8091390EDF
+:1016F0008823F1F060913A0E70913B0E80913C0E80
+:1017000090913D0E0E9442AF2091A1133091A213FF
+:101710004091A3135091A4130E94A7AEAB01BC014A
+:101720008BE694E10E949C3D8BE594E10E9400765B
+:101730008091380E8823F1F060913E0E70913F0E3B
+:101740008091400E9091410E0E9442AF2091A513CE
+:101750003091A6134091A7135091A8130E94A7AEF1
+:10176000AB01BC0187E594E10E949C3D87E494E1D4
+:101770000E9400768091370E8823F1F06091420E2E
+:101780007091430E8091440E9091450E0E9442AF9D
+:101790002091A9133091AA134091AB135091AC132F
+:1017A0000E94A7AEAB01BC0183E494E10E949C3D82
+:1017B00083E394E10E9400768091C00085FFFCCF16
+:1017C0008AE08093C6001092390E1092380E109263
+:1017D000370E08951092390E1092380E1092370E6F
+:1017E000089580939B020895EFE6F0E08081826087
+:1017F000808308951F920F920FB60F9211240BB69B
+:101800000F920F931F932F933F934F935F936F9379
+:101810007F938F939F93AF93BF93EF93FF938091A9
+:101820006A0E90916B0E892B09F084C190916D0E18
+:1018300080916C0E981771F0E0916C0E8DE4E89F2A
+:10184000F0011124E259F14FDF01A45BBF4F81E0A9
+:101850008C9302C0E0E0F0E0F0936B0EE0936A0E30
+:10186000309709F461C1DF01A45BBF4F81E08C9325
+:1018700010924D0E10924E0E10924F0E1092500E6E
+:1018800060AD71AD61349CE9790728F461329EE462
+:10189000790748F002C060E47CE976956795769513
+:1018A000679584E007C0613197E2790730F076955B
+:1018B000679582E080934A0E07C080934A0E60329B
+:1018C000710510F460E270E060527109611588E002
+:1018D0007807D0F0872F9927880F991F880F991FB5
+:1018E0008258974EFC01329645915491AA27659FE4
+:1018F0009001649F210D3A1F06942A1F3A1F11245C
+:10190000FC01859194911DC0CB01969587958C7FA4
+:1019100082589B4EFC01459154910296FC018591A1
+:101920009491FB01E770FF278E9F90018F9F300DF0
+:101930009E9F300D1124E3E036952795EA95E1F757
+:10194000CA01821B930B8436910598F4EEEBF5E007
+:101950008191882339F09091C00095FFFCCF80934E
+:10196000C600F6CF4AE050E08CE99DE0E0DD84E679
+:1019700090E09093490E8093480E80914A0E9927EB
+:1019800087FD90959093470E8093460EE0916A0EE6
+:10199000F0916B0E64AD75AD70934C0E60934B0E71
+:1019A00061349CE9790728F461328EE4780748F0C5
+:1019B00002C060E47CE9769567957695679584E04A
+:1019C00007C0613197E2790730F07695679582E03C
+:1019D00080934A0E08C081E080934A0E6032710500
+:1019E00010F460E270E060527109611588E07807D8
+:1019F000E0F0872F9927880F991F880F991F825829
+:101A0000974EFC01329625913491AA27639FA0013D
+:101A1000629F410D5A1F06944A1F5A1F1124FC0150
+:101A200025913491241B350B1EC0CB0196958795CB
+:101A30008C7F82589B4EFC01259134910296FC01CB
+:101A400045915491FB01E770FF274E9FC0014F9FC6
+:101A5000900D5E9F900D1124F3E096958795FA9571
+:101A6000E1F7281B390B2436310598F4EEEBF5E04D
+:101A70008191882339F09091C00095FFFCCF80932D
+:101A8000C600F6CF4AE050E08CE99DE050DD24E648
+:101A900030E0C901A0E0B0E08093510E9093520E67
+:101AA000A093530EB093540E309389002093880076
+:101AB000E0916A0EF0916B0E80899189A289B389B9
+:101AC000B695A79597958795B095A0959095819592
+:101AD0009F4FAF4FBF4F8093650E9093660EA093BC
+:101AE000670EB093680E8093610E9093620EA09380
+:101AF000630EB093640E80935D0E90935E0EA09380
+:101B00005F0EB093600E8093590E90935A0EA0937F
+:101B10005B0EB0935C0E1092550E1092560E109202
+:101B2000570E1092580E06C080ED97E090938900F2
+:101B300080938800E0916A0EF0916B0E309709F463
+:101B400087C580A18093690E9FB780FF09C0F89474
+:101B500080910B018D7F80930B019FBF8FEF08C099
+:101B6000F89480910B01826080930B019FBF81E00C
+:101B7000809397028091690E9FB781FF09C0F89406
+:101B800080910B018E7F80930B019FBF8FEF08C068
+:101B9000F89480910B01816080930B019FBF81E0DD
+:101BA000809398022091690E30919B0220FF3BC0E8
+:101BB000332309F472C01E9902C080E031C08091C5
+:101BC000360E882361F1E0916A0EF0916B0E8081F0
+:101BD0009181A281B381181619061A061B06FCF41E
+:101BE0008091210E9091220EA091230EB091240E8F
+:101BF00080933A0E90933B0EA0933C0EB0933D0E13
+:101C000081E08093390E80899189A289B38980937C
+:101C1000550E9093560EA093570EB093580E81E038
+:101C20008093360E3AC03323C1F140B151E042FBFC
+:101C3000442740F9452779F18091350E882359F1E1
+:101C4000E0916A0EF0916B0E80819181A281B38147
+:101C5000181619061A061B06F4F48091210E9091AD
+:101C6000220EA091230EB091240E80933A0E9093F1
+:101C70003B0EA0933C0EB0933D0E5093390E8089DD
+:101C80009189A289B3898093550E9093560EA093A3
+:101C9000570EB093580E4093350E21FF3BC03323AF
+:101CA00009F471C01D9902C080E031C08091340EEA
+:101CB000882361F1E0916A0EF0916B0E8481958129
+:101CC000A681B781181619061A061B06FCF4809126
+:101CD000250E9091260EA091270EB091280E80938C
+:101CE0003E0E90933F0EA093400EB093410E81E0C4
+:101CF0008093380E80899189A289B3898093550E8B
+:101D00009093560EA093570EB093580E81E0809397
+:101D1000340E39C03323B9F130B141E0369531701A
+:101D2000342779F18091330E882359F1E0916A0EBE
+:101D3000F0916B0E84819581A681B78118161906E2
+:101D40001A061B06F4F48091250E9091260EA091A0
+:101D5000270EB091280E80933E0E90933F0EA093D5
+:101D6000400EB093410E4093380E80899189A2892C
+:101D7000B3898093550E9093560EA093570EB0934F
+:101D8000580E3093330E9FB722FF47C0F8948091CE
+:101D90000B018B7F80930B019FBF8FEF8093990284
+:101DA00080919B02882309F47DC01C9902C080E0C9
+:101DB00031C08091320E882361F1E0916A0EF0917A
+:101DC0006B0E80859185A285B385181619061A06B3
+:101DD0001B06FCF48091290E90912A0EA0912B0EE7
+:101DE000B0912C0E8093420E9093430EA093440E1C
+:101DF000B093450E81E08093370E80899189A28946
+:101E0000B3898093550E9093560EA093570EB093BE
+:101E1000580E81E08093320E45C0F89480910B01FA
+:101E2000846080930B019FBF31E0309399028091D1
+:101E30009B028823B9F126B12095221F2227221F59
+:101E400079F18091310E882359F1E0916A0EF09179
+:101E50006B0E80859185A285B385181619061A0622
+:101E60001B06F4F48091290E90912A0EA0912B0E5E
+:101E7000B0912C0E8093420E9093430EA093440E8B
+:101E8000B093450E3093370E80899189A289B3892A
+:101E90008093550E9093560EA093570EB093580E04
+:101EA0002093310E8091690E9FB783FF09C0F8948B
+:101EB00080910B01806480930B019FBF8FEF08C05E
+:101EC000F89480910B018F7B80930B019FBF81E081
+:101ED00080939A0220E080914A0E28170CF0ADC141
+:101EE0008091C00087FF19C03091C60040911D0E3F
+:101EF00050911E0ECA0101968F77992760911F0E8F
+:101F00007091200E8617970741F0FA01E356F24FC1
+:101F1000308390931E0E80931D0EE0916A0EF09117
+:101F20006B0E8091650E9091660EA091670EB09138
+:101F3000680E4081518162817381840F951FA61FB5
+:101F4000B71F8093650E9093660EA093670EB093B3
+:101F5000680E181619061A061B06CCF5409AE09171
+:101F60006A0EF0916B0E8091650E9091660EA091B5
+:101F7000670EB091680E4089518962897389841B0C
+:101F8000950BA60BB70B8093650E9093660EA093EE
+:101F9000670EB093680E409197028091210E909148
+:101FA000220EA091230EB091240E552747FD509587
+:101FB000652F752F840F951FA61FB71F8093210EC5
+:101FC0009093220EA093230EB093240E4098E0919C
+:101FD0006A0EF0916B0E8091610E9091620EA0914D
+:101FE000630EB091640E4481558166817781840FC0
+:101FF000951FA61FB71F8093610E9093620EA0934A
+:10200000630EB093640E181619061A061B06CCF55B
+:10201000419AE0916A0EF0916B0E8091610E909161
+:10202000620EA091630EB091640E4089518962895D
+:102030007389841B950BA60BB70B8093610E90934D
+:10204000620EA093630EB093640E4091980280914B
+:10205000250E9091260EA091270EB091280E55279F
+:1020600047FD5095652F752F840F951FA61FB71F2D
+:102070008093250E9093260EA093270EB093280EE2
+:102080004198E0916A0EF0916B0E80915D0E9091F7
+:102090005E0EA0915F0EB091600E40855185628505
+:1020A0007385840F951FA61FB71F80935D0E9093B5
+:1020B0005E0EA0935F0EB093600E181619061A06F6
+:1020C0001B06CCF5429AE0916A0EF0916B0E80915E
+:1020D0005D0E90915E0EA0915F0EB091600E4089F2
+:1020E000518962897389841B950BA60BB70B80936A
+:1020F0005D0E90935E0EA0935F0EB093600E4091C4
+:1021000099028091290E90912A0EA0912B0EB091E8
+:102110002C0E552747FD5095652F752F840F951F61
+:10212000A61FB71F8093290E90932A0EA0932B0E03
+:10213000B0932C0E4298E0916A0EF0916B0E809154
+:10214000590E90915A0EA0915B0EB0915C0E448591
+:10215000558566857785840F951FA61FB71F8093C9
+:10216000590E90935A0EA0935B0EB0935C0E181606
+:1021700019061A061B06CCF5439AE0916A0EF091F7
+:102180006B0E8091590E90915A0EA0915B0EB091FA
+:102190005C0E4089518962897389841B950BA60B5B
+:1021A000B70B8093590E90935A0EA0935B0EB09389
+:1021B0005C0E40919A0280912D0E90912E0EA0916E
+:1021C0002F0EB091300E552747FD5095652F752F76
+:1021D000840F951FA61FB71F80932D0E90932E0E70
+:1021E000A0932F0EB093300E43988091550E90918E
+:1021F000560EA091570EB091580E0196A11DB11D1B
+:102200008093550E9093560EA093570EB093580E90
+:102210004091550E5091560E6091570E7091580E88
+:10222000E0916A0EF0916B0E80899189A289B38941
+:10223000481759076A077B07B0F04091550E509137
+:10224000560E6091570E7091580EE0916A0EF09103
+:102250006B0E84899589A689B78984179507A60787
+:10226000B70718F4D9C02F5F36CE4091510E509168
+:10227000520E6091530E7091540E048D158D268D63
+:10228000378DAA27419FB12D529FC001629F900DAB
+:10229000619F800D911D429FB00D811D9A1F519F1E
+:1022A000B00D811D9A1F609FB00D811D9A1F509F18
+:1022B000B10D8A1F9A1FB6958A1F9A1F112444AD2B
+:1022C00055AD480F591F50934C0E40934B0E80ADA7
+:1022D00091ADA2ADB3AD60E070E084179507A6079D
+:1022E000B70720F490934C0E80934B0E60914B0EE9
+:1022F00070914C0E61349CE9790728F461328EE4C8
+:10230000780748F002C060E47CE976956795769599
+:10231000679584E007C0613197E2790730F07695E0
+:10232000679582E080934A0E08C081E080934A0E50
+:102330006032710510F460E270E06052710961155D
+:1023400088E07807E0F0872F9927880F991F880F7A
+:10235000991F8258974EFC01329625913491AA27F5
+:10236000639FA001629F410D5A1F06944A1F5A1F86
+:102370001124FC0125913491241B350B1EC0CB0187
+:10238000969587958C7F82589B4EFC0125913491C0
+:102390000296FC0145915491FB01E770FF274E9F87
+:1023A000C0014F9F900D5E9F900D112413E09695F4
+:1023B00087951A95E1F7281B390B2436310598F4D7
+:1023C000EEEBF5E08191882339F09091C00095FF04
+:1023D000FCCF8093C600F6CF4AE050E08CE99DE048
+:1023E000A6D824E630E030938900209388008091BD
+:1023F000510E9091520EA091530EB091540E820F37
+:10240000931FA11DB11D8093510E9093520EA09366
+:10241000530EB093540EF7C04091550E5091560E86
+:102420006091570E7091580E808D918DA28DB38D55
+:1024300084179507A607B70708F0D9C040914D0E3D
+:1024400050914E0E60914F0E7091500E048D158D6F
+:10245000268D378DAA27419FB12D529FC001629FC3
+:10246000900D619F800D911D429FB00D811D9A1F9F
+:10247000519FB00D811D9A1F609FB00D811D9A1F45
+:10248000509FB10D8A1F9A1FB6958A1F9A1F11245B
+:1024900020914B0E30914C0EE05CFF4F281739070E
+:1024A00018F42081318102C0281B390B8081918171
+:1024B000A281B381A90160E070E0481759076A075B
+:1024C0007B0708F49C0121349CE9390728F4213268
+:1024D0008EE4380748F002C020E43CE936952795A1
+:1024E0003695279584E007C0213197E2390730F00F
+:1024F0003695279582E080934A0E08C081E080934C
+:102500004A0E2032310510F420E230E0B901605269
+:102510007109611588E07807E0F0872F9927880F07
+:10252000991F880F991F8258974EFC01329625916A
+:102530003491AA27639FA001629F410D5A1F069400
+:102540004A1F5A1F1124FC0125913491241B350B7D
+:102550001EC0CB01969587958C7F82589B4EFC01BF
+:10256000259134910296FC0145915491FB01E7704D
+:10257000FF274E9FC0014F9F900D5E9F900D11242D
+:1025800043E0969587954A95E1F7281B390B243649
+:102590003105A0F4EEEBF5E08191882339F09091BC
+:1025A000C00095FFFCCF8093C600F6CF4AE050E014
+:1025B0008CE99DE00E94978A24E630E03093890000
+:1025C0002093880080914D0E90914E0EA0914F0E59
+:1025D000B091500E820F931FA11DB11D80934D0E1F
+:1025E00090934E0EA0934F0EB093500E0CC080915E
+:1025F000480E9091490E90938900809388008091B5
+:10260000460E80934A0E4091550E5091560E6091A1
+:10261000570E7091580EE0916A0EF0916B0E808902
+:102620009189A289B389481759076A077B0780F007
+:1026300010926B0E10926A0E90916D0E80916C0E3E
+:10264000981731F080916C0E8F5F8F7080936C0EB5
+:10265000FF91EF91BF91AF919F918F917F916F917A
+:102660005F914F913F912F911F910F910F900BBE52
+:102670000F900FBE0F901F90189590916D0E809146
+:102680006C0E981741F00E94721E80E00E9438493B
+:102690000E949C76F2CF0895CF93DF93EFB7F89422
+:1026A000EC0188819981AA81BB818093210E90934E
+:1026B000220EA093230EB093240EEB018881998102
+:1026C000AA81BB818093250E9093260EA093270E9E
+:1026D000B093280EEA0188819981AA81BB818093F9
+:1026E000290E90932A0EA0932B0EB0932C0EE90185
+:1026F00088819981AA81BB8180932D0E90932E0EA3
+:10270000A0932F0EB093300EEFBFDF91CF910895BD
+:102710002FB7F894FC0180819181A281B3818093CD
+:102720002D0E90932E0EA0932F0EB093300E2FBF30
+:1027300008952FB7F89494E0899FF0011124EF5D7C
+:10274000F14F60817181828193812FBF089595DF60
+:10275000179A1092350A169A1092360A159A109204
+:10276000370A149A089580916F008D7F80936F00CF
+:1027700090916D0E80916C0E981769F090916D0E8E
+:1027800080916C0E9817A1F380916C0E8F5F8F7003
+:1027900080936C0EEDCF10926B0E10926A0E8091AA
+:1027A0006F00826080936F000895813039F120F0CE
+:1027B000823009F445C0089517988091090182700C
+:1027C0002FB7662329F0F89490910B01926004C012
+:1027D000F89490910B019D7F90930B012FBF409A2D
+:1027E00040989FB7882329F0F89480910B0182606C
+:1027F00048C0F89480910B018D7F43C0169880915A
+:10280000090181702FB7662329F0F89490910B018C
+:10281000916004C0F89490910B019E7F90930B01FE
+:102820002FBF419A41989FB7882329F0F89480914F
+:102830000B01816026C0F89480910B018E7F21C02E
+:1028400015988091090184702FB7662329F0F894B8
+:1028500090910B01946004C0F89490910B019B7FC0
+:1028600090930B012FBF429A42989FB7882329F07B
+:10287000F89480910B01846004C0F89480910B015E
+:102880008B7F80930B019FBF0895DB0181110DC0E9
+:102890002FEF30E00E94C2B220ED37E040E050E080
+:1028A0000E94A0B2B9018CE21DC0813069F42FEF03
+:1028B00030E00E94C2B220ED37E040E050E00E94DC
+:1028C000A0B2B9018DE20EC0823071F42FEF30E07A
+:1028D0000E94C2B220ED37E040E050E00E94A0B27A
+:1028E000B9018EE20C9447A7089561E08CE20E9442
+:1028F00051A861E08DE20E9451A861E08EE20E9441
+:1029000051A860919C0270919D0280E0BEDF6091B1
+:102910009E0270919F0281E0B8DFA091A002B09169
+:10292000A1022FEF30E00E94C2B220ED37E040E07C
+:1029300050E00E94A0B2B9018EE20E9447A7E1E2F6
+:10294000F1E08081887F816080830895CF93C42FD8
+:1029500067FD20C0813061F028F0823079F083304B
+:1029600099F018C088E20E948AA8C7FF1DC02AC03B
+:1029700085E40E948AA8C7FF1AC024C084E40E948C
+:102980008AA8C7FF17C01EC081E40E948AA8C7FF9B
+:1029900014C018C0C7FD16C0813049F028F082303D
+:1029A00049F0833051F00EC06C2F89E208C06C2FC3
+:1029B00087E205C06C2F83E402C06C2F82E4CF91C4
+:1029C0000C948AA8CF910895643079F028F461308E
+:1029D00041F0623041F00895683051F0603141F0CB
+:1029E000089540E003C040E004C041E060E002C060
+:1029F00041E061E0ABCFFF920F931F93CF93DF9342
+:102A000000D01F921F92CDB7DEB785E0EFE1F3E073
+:102A1000DE01119601900D928A95E1F761E088E25E
+:102A20000E9451A861E089E20E9451A861E085E41A
+:102A30000E9451A861E087E20E9451A861E084E40D
+:102A40000E9451A861E083E40E9451A861E081E402
+:102A50000E9451A861E082E40E9451A88E010F5F9C
+:102A60001F4FF12CF80161918F018F2DADDFF39491
+:102A7000F5E0FF12F7CF0F900F900F900F900F908F
+:102A8000DF91CF911F910F91FF9008952EDFB3DF5B
+:102A9000EAE0F1E0808182608083808181608083D0
+:102AA0008081846080838081806480830F9A179AFC
+:102AB0000E9A169A0D9A159A0C9A149A26982E9A8E
+:102AC00025982D9A24982C9A0A98129A0998119A66
+:102AD0003F98479A389A4098179A1092350A399A2F
+:102AE0004198169A1092360A3A9A4298159A10927C
+:102AF000370A3B9A4398149AA1E8B0E08C918F7EF4
+:102B00008C938C9188608C93E0E8F0E080818D7FDD
+:102B1000808380818E7F808380818F73808380819A
+:102B20008F7C80838C91887F82608C9380E090E49E
+:102B30009093890080938800109285001092840001
+:102B4000EFE6F0E080818260808381E080939B02E9
+:102B500078940895E5E2F4E18491882341F090911E
+:102B6000C00095FFFCCF8093C6003196F5CFE1E21F
+:102B7000F4E18491882341F09091C00095FFFCCF4F
+:102B80008093C6003196F5CF88E20E94BFA84AE044
+:102B900050E0BC018CE99DE00E945A8A89E20E94C3
+:102BA000BFA84AE050E0BC018CE99DE00E945A8A2F
+:102BB0008091C00085FFFCCF8AE08093C600EDE1E4
+:102BC000F4E18491882341F09091C00095FFFCCFFF
+:102BD0008093C6003196F5CF85E40E94BFA84AE0F5
+:102BE00050E0BC018CE99DE00E945A8A87E20E9475
+:102BF000BFA84AE050E0BC018CE99DE00E945A8ADF
+:102C00008091C00085FFFCCF8AE08093C600E9E197
+:102C1000F4E18491882341F09091C00095FFFCCFAE
+:102C20008093C6003196F5CF84E40E94BFA84AE0A5
+:102C300050E0BC018CE99DE00E945A8A83E40E9426
+:102C4000BFA84AE050E0BC018CE99DE00E945A8A8E
+:102C50008091C00085FFFCCF8AE08093C600E4E14C
+:102C6000F4E18491882341F09091C00095FFFCCF5E
+:102C70008093C6003196F5CF81E40E94BFA84AE058
+:102C800050E0BC018CE99DE00E945A8A82E40E94D7
+:102C9000BFA84AE050E0BC018CE99DE00E945A8A3E
+:102CA0008091C00085FFFCCF8AE08093C600089524
+:102CB000CF93DF931F92CDB7DEB72091B714309139
+:102CC000B814CE0101962115310519F0821B930B22
+:102CD00002C08D5B94410F90DF91CF9108952F92A8
+:102CE0003F924F925F926F927F928F929F92AF929C
+:102CF000BF92CF92DF92EF92FF920F931F93CF93E9
+:102D0000DF93CDB7DEB768970FB6F894DEBF0FBE7E
+:102D1000CDBF1C012A013B0148015901DC01D896B5
+:102D20006D917D918D919C91DB970E9440AF6B01DD
+:102D30007C01A30192010E9475B10E948DAE0E9498
+:102D400014AF69877A878B879C87A5019401C70197
+:102D5000B6010E9475B10E948DAE0E9414AF6D87BE
+:102D60007E878F87988B29853A854B855C852837A8
+:102D700031054105510540F488E790E0A0E0B0E05E
+:102D800089879A87AB87BC872D853E854F85588973
+:102D9000283731054105510540F488E790E0A0E06F
+:102DA000B0E08D879E87AF87B88B91012C5B3F4F3A
+:102DB000D9018D919D910D90BC91A02D8D839E8305
+:102DC000AF83B887BC01CD010E9442AF69837A838B
+:102DD0008B839C8369857A858B859C850E9440AF17
+:102DE000698B7A8B8B8B9C8B20E030E0A901698109
+:102DF0007A818B819C810E94A0AE882339F1A70142
+:102E00009601C701B6010E9475B14B015C01298989
+:102E10003A894B895C89CA01B9010E9475B19B014D
+:102E2000AC01C501B4010E94C6AD4B015C01298112
+:102E30003A814B815C81CA01B9010E94C7AD9B01F7
+:102E4000AC01C501B4010E94A7AE03C060E070E010
+:102E5000CB010E948DAE0E940FAF2B013C016D8112
+:102E60007E818F81988590958095709561957F4F33
+:102E70008F4F9F4F0E9442AF4B015C016D857E8555
+:102E80008F8598890E9440AF6D837E838F8398875A
+:102E900020E030E0A901C501B4010E94A0AE882362
+:102EA00049F12D813E814F815885CA01B9010E94A7
+:102EB00075B16D8B7E8B8F8B988FA7019601C701A3
+:102EC000B6010E9475B19B01AC016D897E898F8925
+:102ED000988D0E94C6AD6B017C01A5019401C501CE
+:102EE000B4010E94C7AD9B01AC01C701B6010E94AD
+:102EF000A7AE03C060E070E0CB010E947DAFF1019E
+:102F000080889188A288B38875016401C418D508A7
+:102F1000E608F7080E940FAFC61AD70AE80AF90AAE
+:102F2000F7FE6BC020E030E0A90169817A818B81D6
+:102F30009C810E94A0AE882309F447C029813A8170
+:102F40004B815C81CA01B9010E94C7AD6B017C0154
+:102F5000C501B4010E9440AF9B01AC01C701B6019D
+:102F60000E9475B16B017C0129893A894B895C8982
+:102F7000CA01B9010E9475B19B01AC01C701B6013C
+:102F80000E94C6AD6B017C012D813E814F81588529
+:102F9000CA01B9010E9475B19B01AC01C701B6011C
+:102FA0000E94C7AD6B017C0120E030E040E850E4B6
+:102FB00069817A818B819C810E9475B19B01AC01F2
+:102FC000C701B6010E94A7AE03C060E070E0CB016C
+:102FD0000E948DAE0E940FAF2B013C0197FF03C0F2
+:102FE000412C512C3201481459046A047B0410F01E
+:102FF00024013501C12CD12C76018FB7F894F10151
+:10300000E45BFF4F9081911125C0D10154964D9200
+:103010005D926D927C925797C40CD51CE61CF71CF0
+:10302000F101C08ED18EE28EF38E29853A854B85D3
+:103030005C85DC962D933D934D935C93DF97A05C6C
+:10304000BF4F2D853E854F8558892D933D934D93D8
+:103050005C9313978FBF68960FB6F894DEBF0FBED0
+:10306000CDBFDF91CF911F910F91FF90EF90DF9037
+:10307000CF90BF90AF909F908F907F906F905F9018
+:103080004F903F902F9008954F925F926F927F9252
+:10309000AF92BF92CF92DF92EF92FF920F931F9366
+:1030A000CF93DF93EB017A01209709F458C04115C3
+:1030B000510509F454C0AAA4BBA40CA51DA59501F3
+:1030C000A8016EA17FA188A599A50E94A0AE882322
+:1030D00009F445C08FA981113AC0F70146A057A055
+:1030E00060A471A4A3019201B501C8010E94A3B01C
+:1030F00018166CF5A3019201C301B2010E9475B1CB
+:103100006B017C018AA99BA9ACA9BDA9BC01CD0119
+:1031100090589B01AC010E94C7AD2EA53FA548A9C0
+:1031200059A90E9475B19B01AC01C701B6010E946B
+:10313000C6AD0E94E2B16B017C019B01AC01B501FF
+:10314000C8010E94A0AE87FD02C056018701A501FB
+:10315000B8014EA35FA368A779A781E08EABDF918A
+:10316000CF911F910F91FF90EF90DF90CF90BF9084
+:10317000AF907F906F905F904F900895DF92EF92A5
+:10318000FF920F931F93CF93DF9380916D0E8FB7B4
+:10319000F894E0906C0E8FBF80916D0E90E08E19C8
+:1031A00091098F7099270497F4F010916D0E1350C8
+:1031B0001F7040E050E000E0F12C8DE4D82E1E1589
+:1031C00091F0111101C010E11150D19EE0011124C4
+:1031D000C259D14F602F7F2DCE0156DF402F5F2D7A
+:1031E0000C2FFD2EECCFDF91CF911F910F91FF900F
+:1031F000EF90DF9008954F925F926F927F92AF921F
+:10320000BF92CF92DF92EF92FF920F931F93CF93D3
+:10321000DF938C01EB01009709F453C0FC0187A9EF
+:1032200081114FC046A057A060A471A4AEA0BFA05A
+:10323000C8A4D9A49501A601C301B2010E94A0AE01
+:1032400087FF3FC0A3019201C301B2010E9475B183
+:103250002B013C01F80182A993A9A4A9B5A9BC013D
+:10326000CD0190589B01AC010E94C7ADF80126A585
+:1032700037A540A951A90E9475B19B01AC01C301BA
+:10328000B2010E94C6AD0E94E2B17B018C019B019C
+:10329000AC01B501C6010E94A0AE87FF02C0750156
+:1032A00086019701A801B501C6010E94A0AE88233E
+:1032B00041F0A701B8014EA35FA368A779A781E0F9
+:1032C0008EABDF91CF911F910F91FF90EF90DF9028
+:1032D000CF90BF90AF907F906F905F904F90089588
+:1032E000EF92FF920F931F93CF93DF93F0906C0EAA
+:1032F00000E010E080E090E02DE4E22E20916D0EE1
+:10330000F21689F0EF9CE0011124C259D14FAE01B1
+:10331000B80171DF81E08F0D803109F480E0F82E73
+:10332000C8018E01EBCF40E050E0B801DF91CF91B2
+:103330001F910F91FF90EF905ECF4F925F926F922F
+:103340007F928F929F92AF92BF92CF92DF92EF9235
+:10335000FF920F931F93CF93DF9390906C0EC0E07A
+:10336000D0E03DE4832E892D992787FD909520910B
+:103370006D0E30E082179307B9F1889E5001899E47
+:10338000B00C1124C5018259914F5C01209729F19D
+:103390008EA9811104C0F50186A98823F1F0CAA085
+:1033A000DBA0ECA0FDA0A7019601F50166A177A125
+:1033B00080A591A50E94A7AE2B013C01A701960113
+:1033C0006EA17FA188A599A50E94A7AEAB01BC0103
+:1033D00093018201CE0183DC1EAA9394F0E19F1237
+:1033E00001C0912CE501BFCF2097E9F0CAA0DBA076
+:1033F000ECA0FDA0A70196016DEC7CEC8CE49DE3B4
+:103400000E94A7AE4B015C01A70196016EA17FA1AE
+:1034100088A599A50E94A7AEAB01BC0195018401C6
+:10342000CE015DDC1EAADF91CF911F910F91FF901D
+:10343000EF90DF90CF90BF90AF909F908F907F9054
+:103440006F905F904F90089599DE4ADF76CF10928B
+:103450006D0E10926C0E80E1E5E5F3E1DF011D9247
+:103460008A95E9F71092451310924613109247136C
+:10347000109248131092491310924A1310924B1352
+:1034800010924C1310924D1310924E1310924F1332
+:103490001092501310925113109252131092531312
+:1034A000109254131092411310924213109243132E
+:1034B00010924413089560912E0A90916C0E8091A1
+:1034C0006D0E981781F080916C0E9DE4899FF0013C
+:1034D0001124EA54F14F608190916D0E891719F013
+:1034E0008F5F8F70F9CF70E088E00C9447A72F9220
+:1034F0003F924F925F926F927F928F929F92AF9284
+:10350000BF92CF92DF92EF92FF920F931F93CF93D0
+:10351000DF93CDB7DEB7CC56D1090FB6F894DEBF36
+:103520000FBECDBF3C015B014A012901E8A6F8AE00
+:1035300025960FAF25971CAF860120916D0E2F5F4A
+:1035400029962FAF2997203119F429961FAE299774
+:1035500029963FAD2997E32EFF24E7FCF094809154
+:103560006C0E90E08E159F0541F40E94721E80E063
+:103570000E9438490E949C76F2CF2091A11330918D
+:10358000A2134091A3135091A413D3016D917D9187
+:103590008D919C910E9475B10E9445B169966CAF66
+:1035A0007DAF8EAF9FAF69972091A5133091A61381
+:1035B0004091A7135091A813F50160817181828118
+:1035C00093810E9475B10E9445B16D966CAF7DAF3D
+:1035D0008EAF9FAF6D972091A9133091AA134091A0
+:1035E000AB135091AC13D4016D917D918D919C9151
+:1035F0000E9475B10E9445B1A1966CAF7DAF8EAFB0
+:103600009FAFA1972091AD133091AE134091AF13AE
+:103610005091B013F20160817181828193810E9487
+:1036200075B10E9445B124966CAF7DAF8EAF9FAF50
+:1036300024978091611390916213A0916313B091CC
+:10364000641324962CAD3DAD4EAD5FAD2497281785
+:1036500039074A075B0709F4ADC0E091300A34E04E
+:10366000E39FF0011124E05CF74F2091A20230911A
+:10367000A3024091A4025091A502608171818281D0
+:1036800093810E94A0AE87FF2FC024968CAD9DAD84
+:10369000AEADBFAD24978093611390936213A09356
+:1036A0006313B0936413EFE2FEE08491882341F04A
+:1036B0009091C00095FFFCCF8093C6003196F5CF66
+:1036C000ECE9FCE18491882341F09091C00095FFE2
+:1036D000FCCF8093C6003196F5CF8091C00085FF66
+:1036E000FCCF8AE08093C6008091611390916213B1
+:1036F000A0916313B091641324962CAD3DAD4EADF3
+:103700005FAD2497281B390B4A0B5B0BCA01B9012B
+:1037100057FF07C090958095709561957F4F8F4FAB
+:103720009F4F0E9442AF6B017C0120E030E04EECE5
+:1037300053E46091AD137091AE138091AF139091EB
+:10374000B0130E9475B19B01AC01C701B6010E9484
+:10375000A3B018167CF524968CAD9DADAEADBFAD73
+:1037600024978093611390936213A0936313B09393
+:103770006413EFE2FEE08491882341F09091C00051
+:1037800095FFFCCF8093C6003196F5CFEEE7FCE1C4
+:103790008491882341F09091C00095FFFCCF8093E5
+:1037A000C6003196F5CF8091C00085FFFCCF8AE03E
+:1037B0008093C60080916D0E9DE4899F10011124B5
+:1037C000D101A259B14F1D01FD01E45BFF4F1082F1
+:1037D000209155133091561340915713509158131F
+:1037E0002BA33CA34DA35EA369964CAC5DAC6EAC21
+:1037F0007FAC6997421A530A640A750A77FE08C0BB
+:103800007094609450944094411C511C611C711C34
+:10381000D1014D925D926D927C9213972091591334
+:1038200030915A1340915B1350915C132CAB3DAB1C
+:103830004EAB5FAB6D968CAC9DACAEACBFAC6D9738
+:10384000821A930AA40AB50AB7FE08C0B094A094DD
+:1038500090948094811C911CA11CB11CD1011496E0
+:103860008D929D92AD92BC92179720915D133091ED
+:103870005E1340915F13509160132CA73DA74EA794
+:103880005FA7A196CCACDDACEEACFFACA197C21AA1
+:10389000D30AE40AF50AF7FE08C0F094E094D09445
+:1038A000C094C11CD11CE11CF11CD1011896CD9211
+:1038B000DD92ED92FC921B9720916113309162137F
+:1038C000409163135091641328AB39AB4AAB5BABA7
+:1038D00024966CAD7DAD8EAD9FAD2497621B730BAE
+:1038E000840B950B97FF07C0909580957095619517
+:1038F0007F4F8F4F9F4F0E9442AFE091300A34E0DC
+:10390000E39FF0011124E15BFD4F20813181428171
+:1039100053810E9475B10E940FAF9B01AC01A09131
+:103920005B02B0915C020E94D2B224E630E040E03B
+:1039300050E00E94A0B2D1011C962D933D934D936F
+:103940005C931F97C814D904EA04FB0414F47501AE
+:103950006401C216D306E406F50614F469017A017F
+:10396000D301C2014C145D046E047F0414F4D7012A
+:10397000C601F101808B918BA28BB38B0697A105B9
+:10398000B10508F461C7E85BFF4F80912E0A909162
+:103990002F0AAA2797FDA095BA2F80839183A2832F
+:1039A000B38369962CAD3DAD4EAD5FAD69978BA1EC
+:1039B0009CA1ADA1BEA1281739074A075B0724F0D7
+:1039C000D10190961C9203C081E0F10180A36D9615
+:1039D0002CAD3DAD4EAD5FAD6D978CA99DA9AEA947
+:1039E000BFA9281739074A075B073CF4D101909615
+:1039F0008C919097826090968C93A1962CAD3DAD62
+:103A00004EAD5FADA1978CA59DA5AEA5BFA528170E
+:103A100039074A075B073CF4D10190968C91909747
+:103A2000846090968C9324962CAD3DAD4EAD5FADE9
+:103A3000249788A999A9AAA9BBA9281739074A07D1
+:103A40005B073CF4D10190968C919097886090969A
+:103A50008C93F8018081D10191968C93452846285A
+:103A6000472809F01798F10184819581A681B781D3
+:103A7000892B8A2B8B2B09F01698F1018085918573
+:103A8000A285B385892B8A2B8B2B09F01598F10120
+:103A900084859585A685B785892B8A2B8B2B69F123
+:103AA00080913E13882319F0815080933E138091BA
+:103AB0003F13882319F0815080933F138091401366
+:103AC000882319F0815080934013D8018C91813064
+:103AD00061F030F0823089F480E28093401308C0B6
+:103AE000149880E280933E1308C080E280933F13D5
+:103AF00080913E13811101C0149AD1011C962D9121
+:103B00003D914D915C911F972D962CAF3DAF4EAFDF
+:103B10005FAF2D97232B242B252B09F5B09175131F
+:103B2000BBA3E0917613EFA3109177130091781364
+:103B30002B2F3E2F412F502F68A578AD25968FADA6
+:103B400025979CAD0E94A0AE87FD16C0F8A5FBA3EB
+:103B500028AD2FA325961FAD25970CAD0DC0309134
+:103B60008D133BA340918E134FA310918F1300919F
+:103B70009013232F342FDECF80915513909156133D
+:103B8000A0915713B091581369962CAD3DAD4EAD31
+:103B90005FAD6997281B390B4A0B5B0BCA01B90152
+:103BA0000E9442AF2091A1133091A2134091A31320
+:103BB0005091A4130E94A7AE68A779A78AA79BA7D4
+:103BC000698B7A8B8B8B9C8B6D966CAD7DAD8EAD3E
+:103BD0009FAD6D972CA93DA94EA95FA9621B730BE0
+:103BE000840B950B0E9442AF2091A5133091A61330
+:103BF0004091A7135091A8130E94A7AE4B015C01FE
+:103C00006D8B7E8B8F8B988FA1966CAD7DAD8EADBD
+:103C10009FADA1972CA53DA54EA55FA5621B730B7B
+:103C2000840B950B0E9442AF2091A9133091AA13E7
+:103C30004091AB135091AC130E94A7AE6B017C0175
+:103C4000698F7A8F8B8F9C8F24966CAD7DAD8EADF6
+:103C50009FAD249728A939A94AA95BA9621B730BB8
+:103C6000840B950B0E9442AF2091AD133091AE139F
+:103C70004091AF135091B0130E94A7AEE091300A6B
+:103C800034E0E39FF0011124E15BFD4F208131819D
+:103C9000428153810E9475B12B013C0160915B020E
+:103CA00070915C02882777FD8095982F0E9442AF23
+:103CB0009B01AC01C301B2010E9475B120E030E06C
+:103CC00048EC52E40E94A7AE6D8F7E8F8F8F98A331
+:103CD000D1012D913D914D915C91139728AF39AF52
+:103CE0004AAF5BAF263031054105510504F5149606
+:103CF0004D905D906D907C901797B6E04B165104F7
+:103D000061047104A4F4F1014084518462847384D9
+:103D1000F6E04F165104610471044CF4DC01CB0150
+:103D2000BF77F10186A797A7A0ABB1AB27C068A565
+:103D300079A58AA59BA50E9420B22B013C01C50153
+:103D4000B4010E9420B29B01AC01C301B2010E94E8
+:103D5000C7AD4B015C01C701B6010E9420B29B01B7
+:103D6000AC01C501B4010E94C7AD0E94E2B1D1010E
+:103D70009E966D937D938D939C93D197D1019E9642
+:103D80002D913D914D915C91D19728962CAF3DAFEF
+:103D90004EAF5FAF289760E070E080E89FE30E943D
+:103DA000A7AE9B01AC016BA17FA1812F902F0E9438
+:103DB00075B12B013C0190916D0E80916C0EE92F35
+:103DC000F0E0E81BF109EF70FF27FDABECABA301BE
+:103DD000920160E074E284E799E40E94A7AE0E9439
+:103DE00045B16B017C012CA93DA9223031050CF4B1
+:103DF00042C04901AA2497FCA094BA2CC501B40181
+:103E00000E9442AF20E030E040E051E40E94A0AECA
+:103E100087FF31C08091C1139091C213A091C31349
+:103E2000B091C413C816D906EA06FB0620F5BC01FA
+:103E3000CD016C197D098E099F09660F771F881FB8
+:103E4000991FA50194010E947EB2CA01B9010E9486
+:103E500040AF0E9445B16C0D7D1D8E1D9F1D0E94BF
+:103E600040AF9B01AC0160E074E284E799E40E94FA
+:103E7000A7AE2B013C01A301920128966CAD7DAD4C
+:103E80008EAD9FAD28970E9475B16CAF7DAF8EAFA0
+:103E90009FAFD10192966D937D938D939C9395974F
+:103EA00050966D917D918D919C9153970E9440AF5A
+:103EB0006BA37CA38DA39EA3A30192010E9475B165
+:103EC0000E948DAE0E9414AF6B017C01F10160AFC6
+:103ED00071AF82AF93AF8E010F5E1F4F21EB33E1C5
+:103EE00065963FAF2EAF6597AE014F5D5F4F5AA30A
+:103EF00049A3CE01019663969FAF8EAF63971FA231
+:103F00001CA690E898ABAFE3A8A7F8016191719166
+:103F1000819191918F01A30192010E9475B16396E5
+:103F2000AEADBFAD63976D937D938D939D93639677
+:103F3000BFAFAEAF63979B01AC015F7761962CAFCB
+:103F40003DAF4EAF5FAF61976596AEADBFAD6597C4
+:103F50008D909D90AD90BD906596BFAFAEAF6597CB
+:103F6000A501940161966CAD7DAD8EAD9FAD61975D
+:103F70000E94A3B01816F4F461962CAD3DAD4EAD81
+:103F80005FAD6197C501B4010E94A7AEB62EA72E02
+:103F9000982E892E262F372F482F592F6FA17CA5B9
+:103FA00088A998A50E94A0AE87FD04C0BFA2ACA6B8
+:103FB00098AA88A6E9A1FAA10E171F0709F0A5CFB4
+:103FC00020E030E040E85FE36FA17CA588A998A5D8
+:103FD0000E94A0AE87FF3DC05E01F1E1AF0EB11CB3
+:103FE0008E010F5F1F4F2FA13CA548A958A5D801EE
+:103FF0006D917D918D919C910E9475B1F8016193B5
+:104000007193819391938F01EA15FB0561F72FA1BD
+:104010003CA548A958A56CAD7DAD8EAD9FAD0E9465
+:1040200075B1D10192966D937D938D939C939597E5
+:10403000C701B6010E9440AF2FA13CA548A958A5D1
+:104040000E9475B10E9414AFF10160AF71AF82AFF1
+:1040500093AF28962CAD3DAD4EAD5FAD28976BA1CB
+:104060007CA18DA19EA10E94A7AE6B017C0128AD11
+:1040700039AD4AAD5BAD232B242B252B59F5F1012E
+:1040800084819581A681B781892B8A2B8B2B11F591
+:1040900080859185A285B385892B8A2B8B2BD1F4C2
+:1040A0002091851330918613409187135091881386
+:1040B000C701B6010E9475B10E948DAE81010C5BF3
+:1040C0001F4F0E9414AFD8016D937D938D939C93E5
+:1040D0001397F6C02091891330918A1340918B1366
+:1040E00050918C13C701B6010E9475B10E948DAE2C
+:1040F0000E9414AF81010C5B1F4FF8016083718334
+:104100008283938340906513509066136090671389
+:10411000709068130E9440AF4B015C0168AD79ADAF
+:104120008AAD9BAD0E9442AF9B01AC01C501B401B9
+:104130000E9475B12BA13CA14DA15EA10E94A7AE2A
+:104140004B015C01C301B2010E9440AF9B01AC0175
+:10415000C501B4010E94A3B0181634F4D8014D92E1
+:104160005D926D927C9213974090691350906A1300
+:1041700060906B1370906C13F80160817181828183
+:1041800093810E9440AF4B015C01D10114966D9167
+:104190007D918D919C9117970E9442AF9B01AC013C
+:1041A000C501B4010E9475B12BA13CA14DA15EA136
+:1041B0000E94A7AE4B015C01C301B2010E9440AF57
+:1041C0009B01AC01C501B4010E94A3B018162CF4E8
+:1041D000F801408251826282738240907113509044
+:1041E0007213609073137090741381010C5B1F4FF6
+:1041F000D8016D917D918D919C910E9440AF4B01B2
+:104200005C012D966CAD7DAD8EAD9FAD2D970E945E
+:1042100042AF9B01AC01C501B4010E9475B12BA155
+:104220003CA14DA15EA10E94A7AE4B015C01C30160
+:10423000B2010E9440AF9B01AC01C501B4010E94D4
+:10424000A3B018162CF4F801408251826282738266
+:1042500040906D1350906E1360906F1370907013B8
+:10426000D8016D917D918D919C910E9440AF4B0141
+:104270005C01F10160857185828593850E9442AF62
+:104280009B01AC01C501B4010E9475B12BA13CA1F9
+:104290004DA15EA10E94A7AE4B015C01C301B2011A
+:1042A0000E9440AF9B01AC01C501B4010E94A3B0C4
+:1042B000181634F4D8014D925D926D927C9213974A
+:1042C000F101EC5BFF4F60817181828193810E94DB
+:1042D00040AF4B015C01A70196010E94A7AEA596D5
+:1042E0006CAF7DAF8EAF9FAFA597F10162AB73ABA3
+:1042F00084AB95AB2DEB37E346E051E4C501B40147
+:104300000E9475B10E940FAFD1015C966D937D93B1
+:104310008D939C935F97C0908113D0908213E0900F
+:104320008313F090841320E030E040E05FE3C701A6
+:10433000B6010E9475B16BA37FA38C0129853A85D4
+:104340004B855C85A9962CAF3DAF4EAF5FAFA9976B
+:1043500080917D1390917E13A0917F13B091801373
+:104360008CAF9DAFAEAFBFAF20E030E040E05FE389
+:10437000BC01CD010E9475B1B62EA72E982E892EB4
+:10438000A9966CAD7DAD8EAD9FADA9979F772B2D76
+:104390003A2D492D582D0E94A3B018167CF42B2DD0
+:1043A0003A2D492D582D6BA17FA1C8010E94A0AEC6
+:1043B00087FD04C0BBA2AFA2092D182D2D853E8517
+:1043C0004F855889AD962CAF3DAF4EAF5FAFAD97DF
+:1043D0008091791390917A13A0917B13B0917C1303
+:1043E0002D968CAF9DAFAEAFBFAF2D9720E030E0E4
+:1043F00040E05FE3BC01CD010E9475B1B62EA72E4F
+:10440000982E892EAD966CAD7DAD8EAD9FADAD97DE
+:104410009F772B2D3A2D492D582D0E94A3B01816A9
+:104420007CF42B2D3A2D492D582D6BA17FA1C8016D
+:104430000E94A0AE87FD04C0BBA2AFA2092D182D1B
+:10444000D1019296BC91BCA7F101F3A1F8ABD101C7
+:104450009496BC91B8A7F101F5A1F8AF2CA538A9A5
+:104460004B2F5F2F6BA17FA1C8010E94A0AE87FDDB
+:1044700006C02CA52BA338A93FA308A518AD4CA9AD
+:104480005DA9423051050CF405C1509141135CAB5C
+:10449000809142132E968FAF2E9790914313629680
+:1044A0009FAF6297A09144136496AFAF649727E1E2
+:1044B00037EB41ED58E36CA9782F892F9A2F0E9492
+:1044C000A3B018160CF0E6C02091451330914613A6
+:1044D000409147135091481369817A818B819C8167
+:1044E0000E94C6AD2B013C012091491330914A1323
+:1044F00040914B1350914C136D817E818F81988533
+:104500000E94C6AD4B015C01A3019201C301B2013F
+:104510000E9475B12B013C01A5019401C501B401B4
+:104520000E9475B19B01AC01C301B2010E94C7ADED
+:104530000E94E2B14B015C01A70196010E94A3B069
+:1045400018164CF4A5019401C701B6010E94A7AE4C
+:104550005B014C0106C0A12CB12C40E8842E5FE326
+:10456000952E20914D1330914E1340914F13509141
+:104570005013A9966CAD7DAD8EAD9FADA9970E94ED
+:10458000C6AD6B017C01E894F7F82CAD3DAD4EADA6
+:104590005FADC701B6010E94A3B01816D4F4A701FD
+:1045A00096016CAD7DAD8EAD9FAD0E94A7AEF62E8F
+:1045B000E72ED82EC92E262F372F482F592FB50179
+:1045C000C4010E94A0AE87FD04C0AF2CBE2C8D2C70
+:1045D0009C2C2091511330915213409153135091C0
+:1045E0005413AD966CAD7DAD8EAD9FADAD970E9471
+:1045F000C6AD6B017C01E894F7F82D962CAD3DAD6E
+:104600004EAD5FAD2D97C701B6010E94A3B018163D
+:10461000E4F4A70196012D966CAD7DAD8EAD9FADF6
+:104620002D970E94A7AEF62EE72ED82EC92E262F44
+:10463000372F482F592FB501C4010E94A0AE87FD26
+:1046400004C0AF2CBE2C8D2C9C2C9501A4016CA514
+:1046500078A988A598AD0E9475B14B015C019B01BA
+:10466000AC016CA92E967FAD2E9762968FAD6297A6
+:1046700064969FAD64970E94A0AE87FF0EC08CA881
+:104680002E969FAC2E976296AFAC62976496BFACA5
+:10469000649703C08BA09FA05801C401D501F1010C
+:1046A00082A793A7A4A7B5A7A5966CAD7DAD8EAD47
+:1046B0009FADA59790589B01AC010E94C7AD28966D
+:1046C0002CAD3DAD4EAD5FAD28970E9475B19B01FD
+:1046D000AC016BE077ED83E29BE30E94C6AD0E94E4
+:1046E000E2B17B01D82EC92E9B01482F592FB4016E
+:1046F000C5010E94A0AE87FD03C04701AD2CBC2CB4
+:10470000C401D501F10186A397A3A0A7B1A7970182
+:104710004D2D5C2D6CA578A988A598AD0E94A0AE02
+:1047200018162CF081E0D101D7968C9302C0F101CC
+:1047300017AA81E0D101D6968C9380E1FE013196D3
+:10474000A5E4B3E101900D928A95E1F78CA598A9B3
+:10475000A8A5B8AD8093411390934213A09343133F
+:10476000B09344139C01AD016BA17FA1C8010E94CD
+:10477000A7AE6B017C012CA538A948A558ADB401A2
+:10478000C5010E94A7AEAB01BC0197018601C10122
+:104790000E946F962996BFAD2997B0936D0E6996CA
+:1047A0002CAD3DAD4EAD5FAD699720935513309361
+:1047B000561340935713509358136D968CAD9DAD7F
+:1047C000AEADBFAD6D978093591390935A13A093DC
+:1047D0005B13B0935C13A1962CAD3DAD4EAD5FADB8
+:1047E000A19720935D1330935E1340935F13509312
+:1047F000601324968CAD9DADAEADBFAD2497809374
+:10480000611390936213A0936313B09364130E9497
+:10481000249AC459DF4F0FB6F894DEBF0FBECDBF48
+:10482000DF91CF911F910F91FF90EF90DF90CF908C
+:10483000BF90AF909F908F907F906F905F904F90C0
+:104840003F902F900C94F48BC459DF4F0FB6F8941F
+:10485000DEBF0FBECDBFDF91CF911F910F91FF90B3
+:10486000EF90DF90CF90BF90AF909F908F907F9010
+:104870006F905F904F903F902F900895EF92FF922E
+:104880000F931F93CF93DF937B018A01E90120915E
+:10489000A1133091A2134091A3135091A413FC01D2
+:1048A00060817181828193810E9475B10E9445B1BE
+:1048B0006093551370935613809357139093581326
+:1048C0002091A5133091A6134091A7135091A813DE
+:1048D000F70160817181828193810E9475B10E948C
+:1048E00045B16093591370935A1380935B1390935F
+:1048F0005C132091A9133091AA134091AB135091EE
+:10490000AC13F80160817181828193810E9475B13D
+:104910000E9445B160935D1370935E1380935F13A3
+:10492000909360132091AD133091AE134091AF136B
+:104930005091B013688179818A819B810E9475B101
+:104940000E9445B160936113709362138093631367
+:104950009093641321E633E14DE553E169E573E19A
+:1049600085E593E10E944C931092411310924213FB
+:104970001092431310924413109245131092461351
+:1049800010924713109248131092491310924A1331
+:1049900010924B1310924C1310924D1310924E1311
+:1049A00010924F13109250131092511310925213F1
+:1049B0001092531310925413DF91CF911F910F91C6
+:1049C000FF90EF9008952091AD133091AE13409178
+:1049D000AF135091B013FC0160817181828193818A
+:1049E0000E9475B10E9445B1609361137093621388
+:1049F000809363139093641381E693E10C948893FE
+:104A000080916D0E90916C0E891B8F70089560934C
+:104A1000A2027093A3028093A4029093A50208952A
+:104A2000CF92DF92EF92FF920F931F93CF93DF937A
+:104A300000D01F92CDB7DEB7F1E9CF2EF3E1DF2E24
+:104A4000A1EAEA2EA3E1FA2E05E613E1F60161914F
+:104A50007191819191916F01F70121913191419172
+:104A600051917F0129833A834B835C830E9440AF3D
+:104A700029813A814B815C810E9475B10E9414AFFB
+:104A8000F80161937193819391938F01F1EACF16AD
+:104A9000F3E1DF06D9F60F900F900F900F90DF91A2
+:104AA000CF911F910F91FF90EF90DF90CF900895DD
+:104AB0008091F41390E02091F513821B91090895E1
+:104AC0002091F5138091F413281750F4E22FF0E0B1
+:104AD000EA50FC4E808190E02F5F2093F5130895FB
+:104AE0008FEF9FEF0895E091F5138091F413E8178D
+:104AF00030F4F0E0EA50FC4E808190E008958FEFB2
+:104B00009FEF08950895CF92DF92EF92FF920F9357
+:104B10001F93CF93DF937C01CB018A012091D113A6
+:104B2000222389F0EB016B01C40ED51ECC15DD05E7
+:104B300061F06991D701ED91FC910190F081E02D38
+:104B4000C7011995F3CF642F4BD0C801DF91CF91E6
+:104B50001F910F91FF90EF90DF90CF900895CF932A
+:104B6000DF931F92CDB7DEB769832091D113222343
+:104B7000D1F02091D213203240F021E030E0FC014E
+:104B80003383228380E090E014C08091D313E82F18
+:104B9000F0E0EC52FC4E998190838F5F8093D313A9
+:104BA0008093D21304C061E0CE01019619D081E058
+:104BB00090E00F90DF91CF910895FC011382128253
+:104BC00048EE53E060E070E044835583668377836A
+:104BD00086ED95E091838083089585EC93E1EDCF98
+:104BE000613298F420918314243089F4609338144E
+:104BF000FC018AE394E1DC012A2F281B261718F414
+:104C000021912D93F9CF80E0089581E0089582E00D
+:104C1000089585ED8093BC008091BC0084FDFCCF9D
+:104C200010928314089585EC8093BC001092831435
+:104C300008951F920F920FB60F9211240BB60F9288
+:104C40002F933F934F935F936F937F938F939F9394
+:104C5000AF93BF93EF93FF938091B900887F803625
+:104C600009F49CC068F5883209F45BC090F4803187
+:104C700009F454C038F4882309F4F3C0883009F4E7
+:104C80004DC0F2C0883109F44CC0803209F45DC0D7
+:104C9000EBC0803409F468C048F4803309F455C08F
+:104CA000883309F0E1C080931614A7C0803509F459
+:104CB0004FC0883509F45DC0883409F0D5C0D3C031
+:104CC000883909F4C4C0A8F4883709F467C038F4F7
+:104CD000883609F463C0803709F460C0C5C08838DD
+:104CE00009F4B5C0803909F45FC0803809F0BCC050
+:104CF0005BC0803B09F483C038F4803A09F466C095
+:104D0000883A09F47CC0B0C0803C09F4A4C0883C57
+:104D100009F4A1C0883B09F487C0A6C08091821421
+:104D200010C090915B1480915A14981770F5E0911F
+:104D30005B1481E08E0F80935B14F0E0E45AFB4E2D
+:104D400080818093BB0085EC83C0809316148BC058
+:104D5000E0915B1481E08E0F80935B148091BB0027
+:104D6000F0E0E45AFB4E808390915B1480915A14DA
+:104D70006BC0E0915B1481E08E0F80935B14809197
+:104D8000BB00F0E0E45AFB4E8083809181148111D6
+:104D90006AC081E08093801484EA5EC083E08093DF
+:104DA000831410921714CFCF80911714803208F01B
+:104DB0004EC0E091171481E08E0F809317148091FC
+:104DC000BB00F0E0E85EFB4E8083BDCF80911714FE
+:104DD000803230F4E0911714F0E0E85EFB4E108270
+:104DE00018DF6091171470E0E0917C14F0917D144D
+:104DF00088E194E119951092171415DF35C084E00D
+:104E0000809383141092391410923814E0917E1418
+:104E1000F0917F14199580913814811105C081E0BB
+:104E20008093381410923A14E091391481E08E0F77
+:104E300080933914F0E0E65CFB4E80818093BB00E8
+:104E40009091391480913814981708F47CCF85E834
+:104E50008093BC0009C085EC8093BC001092831441
+:104E600003C010921614D5DEFF91EF91BF91AF9160
+:104E70009F918F917F916F915F914F913F912F9172
+:104E80000F900BBE0F900FBE0F901F9018951F93A1
+:104E9000CF93DF93182FEB0161E003D1209711F43A
+:104EA00060E004C0CF3FD10531F461E0812FDF9194
+:104EB000CF911F912FC1E12FF0E0EA54F34E4491BE
+:104EC00050E0FA013197E131F10508F091C0E35863
+:104ED000FF4F0C94BCB284B5806884BDC7BD8DC043
+:104EE00084B5806284BDC8BD88C080918000806820
+:104EF00080938000D0938900C09388007EC0809109
+:104F00008000806280938000D0938B00C0938A00E1
+:104F100074C08091B00080688093B000C093B300EB
+:104F20006CC08091B00080628093B000C093B400E8
+:104F300064C080919000806880939000D093990025
+:104F4000C09398005AC08091900080628093900036
+:104F5000D0939B00C0939A0050C0809190008860CD
+:104F600080939000D0939D00C0939C0046C0809198
+:104F7000A00080688093A0008091A0008F7B809328
+:104F8000A000D093A900C093A80037C08091A000D2
+:104F900080628093A000D093AB00C093AA002DC084
+:104FA0008091A00088608093A000D093AD00C09352
+:104FB000AC0023C080912001806880932001D093B1
+:104FC0002901C093280119C080912001806280933B
+:104FD0002001D0932B01C0932A010FC080912001A2
+:104FE000886080932001D0932D01C0932C0105C0CF
+:104FF000C038D1050CF059CF53CFDF91CF911F911D
+:10500000089590E0FC013197E131F10508F048C0C6
+:10501000E257FF4F0C94BCB2809180008F7703C0A1
+:10502000809180008F7D80938000089584B58F7774
+:1050300002C084B58F7D84BD08958091B0008F77C4
+:1050400003C08091B0008F7D8093B000089580915F
+:1050500090008F7707C0809190008F7D03C0809172
+:105060009000877F8093900008958091A0008F77B3
+:1050700007C08091A0008F7D03C08091A000877F32
+:105080008093A0000895809120018F7707C08091C0
+:1050900020018F7D03C080912001877F80932001B4
+:1050A0000895CF93DF9390E0FC01E45FF24E2491EA
+:1050B000FC01EE59F24E8491882349F190E0880F6B
+:1050C000991FFC01E451F24EA591B4918E52924E7B
+:1050D000FC01C591D4919FB7611108C0F8948C91DF
+:1050E000209582238C93888182230AC0623051F4F8
+:1050F000F8948C91322F309583238C938881822B66
+:10510000888304C0F8948C91822B8C939FBFDF918D
+:10511000CF9108950F931F93CF93DF931F92CDB735
+:10512000DEB7282F30E0F901EA54F34E8491F901FB
+:10513000E45FF24E1491F901EE59F24E049100230E
+:10514000C1F0882319F069835CDF6981E02FF0E00A
+:10515000EE0FFF1FEE52F24EA591B4919FB7F89457
+:105160008C91611103C01095812301C0812B8C9318
+:105170009FBF0F90DF91CF911F910F910895CF9313
+:10518000DF93282F30E0F901EA54F34E8491F901BE
+:10519000E45FF24ED491F901EE59F24EC491CC2362
+:1051A00089F081112EDFEC2FF0E0EE0FFF1FE854A5
+:1051B000F24EA591B4912C912D2381E090E021F441
+:1051C00080E002C080E090E0DF91CF9108951F92CF
+:1051D0000F920FB60F9211242F933F938F939F93AB
+:1051E000AF93BF938091851490918614A0918714FA
+:1051F000B09188143091841423E0230F2D3720F4CC
+:105200000196A11DB11D05C026E8230F0296A11D20
+:10521000B11D209384148093851490938614A093D9
+:105220008714B09388148091891490918A14A09166
+:105230008B14B0918C140196A11DB11D809389141B
+:1052400090938A14A0938B14B0938C14BF91AF9158
+:105250009F918F913F912F910F900FBE0F901F90B4
+:1052600018952FB7F89460918514709186148091E9
+:105270008714909188142FBF08953FB7F8948091B8
+:10528000891490918A14A0918B14B0918C1426B536
+:10529000A89B05C02F3F19F00196A11DB11D3FBF6E
+:1052A0006627782F892F9A2F620F711D811D911DFE
+:1052B00042E0660F771F881F991F4A95D1F708951E
+:1052C000CF92DF92EF92FF92CF93DF936B017C013D
+:1052D000D4DFEB01C114D104E104F10471F0CDDF9E
+:1052E0006C1B7D0B683E7340A8F381E0C81AD1089F
+:1052F000E108F108C851DC4FEDCFDF91CF91FF906D
+:10530000EF90DF90CF9008950197009739F0880FC4
+:10531000991F880F991F02970197F1F708957894C4
+:1053200084B5826084BD84B5816084BD85B58260AA
+:1053300085BD85B5816085BDEEE6F0E08081816048
+:105340008083E1E8F0E01082808182608083808148
+:1053500081608083E0E8F0E0808181608083E1EB20
+:10536000F0E0808184608083E0EBF0E08081816008
+:105370008083E1E9F0E080818260808380818160C8
+:105380008083E0E9F0E0808181608083E1EAF0E001
+:10539000808182608083808181608083E0EAF0E0A8
+:1053A000808181608083E1E2F1E08081826080839E
+:1053B000808181608083E0E2F1E080818160808390
+:1053C000EAE7F0E08081846080838081826080836E
+:1053D0008081816080838081806880831092C10099
+:1053E00008959DDF0E94A93EC0E0D0E00E94C862FF
+:1053F0002097E1F30E940000F9CF3F924F925F9215
+:105400006F927F928F929F92AF92BF92CF92DF92D4
+:10541000EF92FF920F931F93CF93DF9300D01F92D1
+:10542000CDB7DEB78B0129013A019091A6029817FA
+:1054300021F09F3F09F0ABC204C0E6E0FEE13490EA
+:1054400004C18093A602E6E0FEE1E491EF3F09F497
+:105450009EC2E23009F480C074F5EE2309F45BC00B
+:10546000E13009F0F1C0109280001092810090911B
+:105470008100986090938100909181009160909359
+:105480008100282F30E0F901EE59F24EE491F0E06E
+:10549000EE0FFF1FEE52F24E459154915093AB1414
+:1054A0004093AA14F901E45FF24E24912093A914C9
+:1054B00033243394CCC0E43009F49EC00CF474C09F
+:1054C000E53009F0C1C010922001109221019091A5
+:1054D0002101986090932101909121019160909316
+:1054E0002101282F30E0F901EE59F24EE491F0E06D
+:1054F000EE0FFF1FEE52F24E4591549150938F14D0
+:1055000040938E14F901E45FF24E249120938D14A0
+:1055100055E0352E9CC014BC15BC94B5926094BD6A
+:1055200095B5916095BD282F30E0F901EE59F24E06
+:10553000E491F0E0EE0FFF1FEE52F24E45915491D0
+:105540005093B2144093B114F901E45FF24E2491E8
+:105550002093B014312C7BC01092B0001092B10097
+:105560009091B00092609093B0009091B1009160E2
+:105570009093B100282F30E0F901EE59F24EE491FA
+:10558000F0E0EE0FFF1FEE52F24E45915491509312
+:10559000A4144093A314F901E45FF24E24912093E4
+:1055A000A21422E0322E53C010929000109291006B
+:1055B00090919100986090939100909191009160EA
+:1055C00090939100282F30E0F901EE59F24EE491CA
+:1055D000F0E0EE0FFF1FEE52F24E459154915093C2
+:1055E0009D1440939C14F901E45FF24E24912093A2
+:1055F0009B14B3E03B2E2BC01092A0001092A10090
+:105600009091A10098609093A1009091A100916069
+:105610009093A100282F30E0F901EE59F24EE49169
+:10562000F0E0EE0FFF1FEE52F24E45915491509371
+:10563000961440939514F901E45FF24E249120935F
+:10564000941474E0372E03C03E2E37FCA0C161E0F5
+:1056500028DD4801A12CB12C832D8D7F09F0BAC023
+:1056600060E072E18AE790E0A501940169D729839F
+:105670003A834B835C8369017A0181E0C81AD108BF
+:10568000E108F1089FEFC916D104E104F10409F023
+:1056900008F495C060E472E48FE090E0A501940105
+:1056A0004FD769017A01E1E0CE1AD108E108F1088B
+:1056B000F2E03F1218C08FEFC816D104E104F104E4
+:1056C00009F008F483C060E970ED83E090E0A50183
+:1056D000940136D769017A0191E0C91AD108E1082D
+:1056E000F10883E001C082E0EFEFCE16D104E104BF
+:1056F000F10409F008F464C068E478EE81E090E019
+:10570000A50194011DD769017A01F1E0CF1AD108F2
+:10571000E108F1083320D9F082E038121AC09FEF77
+:10572000C916D104E104F10409F008F42EC164E2C1
+:1057300074EF80E090E0A501940102D769017A013D
+:10574000E1E0CE1AD108E108F10885E003C083E06A
+:1057500001C084E0FFEFCF16D104E104F10481F130
+:1057600078F162E17AE780E090E0A5019401E8D663
+:1057700069017A0181E0C81AD108E108F108311005
+:1057800002C084E001C086E09FEFC916D104E104A5
+:10579000F104B1F0A8F0C980DA80EB80FC809AE0D7
+:1057A000F594E794D794C7949A95D1F7E1E0CE1A8F
+:1057B000D108E108F108332031F087E008C081E02A
+:1057C000332011F004C085E085BD50C082E0809395
+:1057D000B1004CC060E072E18AE790E0A50194015D
+:1057E000AFD669017A01F1E0CF1AD108E108F108DA
+:1057F000C114D10481E0E806F10480F068E478EE99
+:1058000081E090E0A50194019BD669017A0191E0C5
+:10581000C91AD108E108F10893E001C091E0E1E084
+:105820003E1207C080918100887F892B8093810080
+:105830001DC0F3E03F1207C080919100887F892B43
+:105840008093910013C084E0381207C08091A100BA
+:10585000887F892B8093A10009C0E5E03E1206C035
+:1058600080912101887F892B80932101411451046B
+:105870006104710461F0D801AA0FBB1FA30192015A
+:1058800087D628EE33E040E050E038D603C02FEF53
+:105890003FEFA901F2E03F1609F443C0F315BCF055
+:1058A000332081F181E0381272C0D0928900C09219
+:1058B00088002093AC143093AD144093AE145093F1
+:1058C000AF1480916F00826080936F0060C094E09D
+:1058D000391609F448C03916A4F1E5E03E1257C064
+:1058E000D0922901C09228012093901430939114F2
+:1058F000409392145093931480917300826080932C
+:10590000730045C0C7BC2093B3143093B4144093C4
+:10591000B5145093B61480916E00826080936E002F
+:1059200036C0C092B3002093A5143093A6144093C0
+:10593000A7145093A8148091700082608093700027
+:1059400026C0D0929900C092980020939E14309364
+:105950009F144093A0145093A11480917100826011
+:105960008093710014C0D092A900C092A800209327
+:105970009714309398144093991450939A148091EB
+:10598000720082608093720002C084E020CF0F908A
+:105990000F900F900F90DF91CF911F910F91FF907B
+:1059A000EF90DF90CF90BF90AF909F908F907F90BF
+:1059B0006F905F904F903F9008958230A9F028F447
+:1059C000882349F0813051F00895843009F1E8F0DE
+:1059D000853009F1089510926E00089580916F004E
+:1059E0008D7F80936F000895809170008D7F8093EC
+:1059F000700081E08093B0008091B100887F846066
+:105A00008093B1001092B300089510927100089530
+:105A1000109272000895109273000895CF93C82FCA
+:105A20008091A6028C1307C0E6E0FEE184919FEF0F
+:105A30009093A60201C08FEFC0DF60E08C2FCF9162
+:105A400069CB1F920F920FB60F9211240BB60F92D3
+:105A50002F933F934F935F936F937F938F939F9376
+:105A6000AF93BF93EF93FF938091A5149091A614E9
+:105A7000A091A714B091A814892B8A2B8B2B51F1DC
+:105A80009091A214E091A314F091A414808189272D
+:105A900080838091A5149091A614A091A714B09131
+:105AA000A814181619061A061B06BCF48091A51432
+:105AB0009091A614A091A714B091A8140197A109E0
+:105AC000B1098093A5149093A614A093A714B09342
+:105AD000A81403C08091A602A1DFFF91EF91BF91AE
+:105AE000AF919F918F917F916F915F914F913F9176
+:105AF0002F910F900BBE0F900FBE0F901F90189517
+:105B0000CF92DF92EF92FF920F931F93CF93DF9389
+:105B10006C017A01EB01E60EF71E00E010E0CE15F5
+:105B2000DF0561F06991D601ED91FC910190F08162
+:105B3000E02DC6011995080F191FF1CFC801DF919B
+:105B4000CF911F910F91FF90EF90DF90CF9008952C
+:105B50006115710581F0DB010D900020E9F7AD01C1
+:105B600041505109461B570BDC01ED91FC9102801D
+:105B7000F381E02D199480E090E00895E9CFDC01F5
+:105B8000ED91FC910190F081E02D19945058BB27C4
+:105B9000AA270ED076C23FD230F044D220F031F4A2
+:105BA0009F3F11F41EF40FC20EF4E095E7FBDCC139
+:105BB000E92F89D280F3BA17620773078407950724
+:105BC00018F071F49EF5B8C20EF4E0950B2EBA2FC2
+:105BD000A02D0B01B90190010C01CA01A0011124F3
+:105BE000FF27591B99F0593F50F4503E68F11A169F
+:105BF000F040A22F232F342F4427585FF3CF469530
+:105C000037952795A795F0405395C9F77EF41F1651
+:105C1000BA0B620B730B840BBAF09150A1F0FF0F1B
+:105C2000BB1F661F771F881FC2F70EC0BA0F621F07
+:105C3000731F841F48F4879577956795B795F795F7
+:105C40009E3F08F0B3CF9395880F08F09927EE0F89
+:105C5000979587950895DFD158F080E891E009F491
+:105C60009EEFE0D128F040E851E059F45EEF09C022
+:105C7000AAC162C2E92FE07826D268F3092E052A6C
+:105C8000C1F3261737074807590738F00E2E07F8D3
+:105C9000E02569F0E025E0640AC0EF6307F80094AE
+:105CA00007FADB01B9019D01DC01CA01AD01EF93E7
+:105CB0005DD0E7D10AD05F91552331F02BED3FE065
+:105CC00049E450FD49EC63CF0895DF93DD27B92FF8
+:105CD000BF7740E85FE31616170648075B0710F426
+:105CE000D92F96D29F938F937F936F93A9D3EEE38F
+:105CF000F1E06CD1C6D12F913F914F915F9101D3CB
+:105D0000DD2349F09058A2EA2AED3FE049EC5FE339
+:105D1000D0785D274DDFDF91B4C1F7D180F09F3798
+:105D200040F491110EF409C260E070E080E89FE356
+:105D3000089526F01B16611D711D811D1BC135C103
+:105D4000EFD008F481E0089575D1E395ABC10CD094
+:105D500098C168D140F05FD130F021F45F3F19F075
+:105D600003C15111EAC12FC1AED198F39923C9F3F0
+:105D70005523B1F3951B550BBB27AA276217730751
+:105D8000840738F09F5F5F4F220F331F441FAA1F05
+:105D9000A9F333D00E2E3AF0E0E830D091505040C5
+:105DA000E695001CCAF729D0FE2F27D0660F771F73
+:105DB000881FBB1F261737074807AB07B0E809F055
+:105DC000BB0B802DBF01FF2793585F4F2AF09E3FEA
+:105DD000510568F0C9C0B1C15F3FECF3983EDCF3F8
+:105DE000869577956795B795F7959F5FC9F7880F63
+:105DF000911D9695879597F90895E1E0660F771FB5
+:105E0000881FBB1F621773078407BA0720F0621B45
+:105E1000730B840BBA0BEE1F88F7E095089504D03E
+:105E20006894B1118AC1089556D188F09F5790F0B7
+:105E3000B92F9927B751A0F0D1F0660F771F881FAF
+:105E4000991F1AF0BA95C9F712C0B13081F074D118
+:105E5000B1E0089571C1672F782F8827B85F39F0B6
+:105E6000B93FCCF3869577956795B395D9F73EF40E
+:105E700090958095709561957F4F8F4F9F4F0895B6
+:105E8000E89409C097FB3EF49095809570956195D4
+:105E90007F4F8F4F9F4F9923A9F0F92F96E9BB278A
+:105EA0009395F695879577956795B795F111F8CF06
+:105EB000FAF4BB0F11F460FF1BC06F5F7F4F8F4F71
+:105EC0009F4F16C0882311F096E911C0772321F067
+:105ED0009EE8872F762F05C0662371F096E8862FFF
+:105EE00070E060E02AF09A95660F771F881FDAF756
+:105EF000880F9695879597F9089507D180F09F3779
+:105F000040F491110EF019C160E070E080E89FEB61
+:105F1000089526F41B16611D711D811D2BC045C0FF
+:105F2000990F0008550FAA0BE0E8FEEF16161706AA
+:105F3000E807F907C0F012161306E407F50798F012
+:105F4000621B730B840B950B39F40A2661F0232B2B
+:105F5000242B252B21F408950A2609F4A140A695A7
+:105F60008FEF811D811D089597F99F6780E870E08C
+:105F700060E00895882371F4772321F09850872BEF
+:105F8000762F07C0662311F499270DC09051862BF8
+:105F900070E060E02AF09A95660F771F881FDAF7A5
+:105FA000880F9695879597F908959F3F31F0915006
+:105FB00020F4879577956795B795880F911D9695ED
+:105FC000879597F908959FEF80EC0895DF93CF931D
+:105FD0001F930F93FF92EF92DF927B018C016894E5
+:105FE00005C0DA2EEF018DD1FE01E894A59125912F
+:105FF000359145915591AEF3EF01DADDFE01970140
+:10600000A801DA9479F7DF90EF90FF900F911F913C
+:10601000CF91DF91089500240A94161617061806EA
+:106020000906089500240A9412161306140605069C
+:106030000895C9CF50D0E8F3E894E0E0BB279F571C
+:10604000F0F02AED3FE049EC06C0EE0FBB0F661FF3
+:10605000771F881F28F0B23A62077307840728F079
+:10606000B25A620B730B840BE3959A9572F78038E2
+:1060700030F49A95BB0F661F771F881FD2F79048A0
+:1060800096CF092E0394000C11F4882352F0BB0F15
+:1060900040F4BF2B11F460FF04C06F5F7F4F8F4F40
+:1060A0009F4F0895EF93E0FF06C0A2EA2AED3FE07C
+:1060B00049EC5FEB7DDDE5DF0F90039401FC905828
+:1060C000EBE6F1E0C7C157FD9058440F551F59F05A
+:1060D0005F3F71F04795880F97FB991F61F09F3FD5
+:1060E00079F087950895121613061406551FF2CFFE
+:1060F0004695F1DF08C0161617061806991FF1CF4E
+:1061000086957105610508940895E5DFA0F0BEE766
+:10611000B91788F4BB279F3860F41616B11D672F96
+:10612000782F8827985FF7CF869577956795B11D6B
+:1061300093959639C8F30895E894BB276627772787
+:10614000CB0197F90895ECDE08F48FEF089563DF33
+:1061500019F068DF09F037CF07CFB901CA0125CFA1
+:106160009F775F77B0DF98F39923B9F35523B9F39D
+:10617000FF27951758F4E52FE91BED3070F75E3BCC
+:1061800010F0F1E41CC09034E0F40AC0E92FE51BE4
+:10619000ED3028F79E3B10F0F1E411C0503488F444
+:1061A000F9EA88232AF09A95660F771F881FDAF795
+:1061B00044232AF05A95220F331F441FDAF79F1BFE
+:1061C0005F1BFF931F930F93FF92EF9279018A0158
+:1061D000BB27AB2F9B01AC0196D09701A801BF93C1
+:1061E0007B018C01AA27BA2FB901CA018CD0AF91CB
+:1061F0009701A801EF90FF900F911F91D9DC41DF2B
+:10620000E1D04F9140FF0895552747FD509509C0B3
+:106210009B01AC0160E070E080E89FE398CDA4CEE4
+:10622000C4CE59DFE8F39923D9F3940F511DBBF382
+:106230009150504094F059F0882332F0660F771F48
+:10624000881F91505040C1F79E3F510544F7880F79
+:10625000911D9695879597F908955F3FACF0983E0C
+:106260009CF0BB27869577956795B79508F4B16044
+:106270009395C1F7BB0F58F711F460FFE8CF6F5F3C
+:106280007F4F8F4F9F4FE3CF58CF25DF58F19E5759
+:1062900058F19851A0F0E9F0983020F5092E99278F
+:1062A000660F771F881F991F0A94D1F712C0062E18
+:1062B000672F782F8827985F11F4000C07C0993F4B
+:1062C000B4F38695779567959395D9F7611D711D00
+:1062D000811D3EF490958095709561957F4F8F4F0D
+:1062E0009F4F0895689429CF27CF0BD0CACE93DE55
+:1062F00028F098DE18F0952309F036CE64CE1124EC
+:106300001CCFE1DEA0F3959FD1F3950F50E0551F10
+:10631000629FF001729FBB27F00DB11D639FAA27FA
+:10632000F00DB11DAA1F649F6627B00DA11D661F49
+:10633000829F2227B00DA11D621F739FB00DA11D6A
+:10634000621F839FA00D611D221F749F3327A00D24
+:10635000611D231F849F600D211D822F762F6A2FC0
+:1063600011249F5750408AF0E1F088234AF0EE0F45
+:10637000FF1FBB1F661F771F881F91505040A9F752
+:106380009E3F510570F0F0CDD8CE5F3FECF3983EC4
+:10639000DCF3869577956795B795F795E7959F5FB9
+:1063A000C1F7FE2B880F911D9695879597F9089553
+:1063B0009F9340DE0F9007FCEE5F74CE11F40EF455
+:1063C00002CEF3CD88DED0F39923D9F3CEF39F57D5
+:1063D000550B87FF38D00024A0E640EA9001805892
+:1063E0005695979528F4805C660F771F881F20F0DC
+:1063F00026173707480730F4621B730B840B2029DC
+:1064000031294A2BA69517940794202531254A2730
+:1064100058F7660F771F881F20F0261737074807A1
+:1064200030F4620B730B840B200D311D411DA095C0
+:1064300081F7B901842F9158880F96958795089513
+:106440009B01AC0152CF91505040660F771F881FBF
+:10645000D2F708959F938F937F936F93FF93EF935A
+:106460009B01AC0142DFEF91FF91B0DD2F913F9195
+:106470004F915F913ACFDB018F939F9389D0BF916A
+:10648000AF91A29F800D911DA39F900DB29F900D83
+:106490001124089587FB082E062687FD819567FD48
+:1064A00061958AD00EF4919507FC81950895AA1BF9
+:1064B000BB1B51E107C0AA1FBB1FA617B70710F0EF
+:1064C000A61BB70B881F991F5A95A9F78095909521
+:1064D000BC01CD01089597FB072E16F4009406D059
+:1064E00077FD08D0E4DF07FC05D03EF49095819558
+:1064F0009F4F0895709561957F4F0895A1E21A2EE0
+:10650000AA1BBB1BFD010DC0AA1FBB1FEE1FFF1F57
+:10651000A217B307E407F50720F0A21BB30BE40BA7
+:10652000F50B661F771F881F991F1A9469F76095EE
+:106530007095809590959B01AC01BD01CF010895A8
+:10654000052E97FB16F400940FD057FD05D0D6DF2B
+:1065500007FC02D046F408C050954095309521952F
+:106560003F4F4F4F5F4F089590958095709561957F
+:106570007F4F8F4F9F4F0895EE0FFF1F0590F491AF
+:10658000E02D199425D0B7FF0895821B930B089531
+:106590001FD0A59F900DB49F900DA49F800D911DBD
+:1065A00011240895B7FFF4CFF3DF821B930B0895F6
+:1065B0000790F691E02D1994991B79E004C0991F7A
+:1065C000961708F0961B881F7A95C9F7809508954D
+:1065D000A29FB001B39FC001A39F700D811D112424
+:1065E000911DB29F700D811D1124911D08958F92F0
+:1065F0009F92AF92BF92CF92DF92EF92FF920F9352
+:106600001F93CF93DF938B016115710521F0DB019F
+:106610008C9311969C93EC015E01BFEFAB1ABB0A01
+:106620007501C8808C2D90E07BD2892B11F0E5019B
+:10663000F3CFEDE2CE1208C07E01F2E0EF0EF11CC6
+:10664000C980DD24D39409C02BE2C21205C07E01AB
+:1066500042E0E40EF11CC980D12CE701219743E010
+:1066600050E06FE07EE1CE0172D2892BB9F423961F
+:1066700045E050E06AE07EE1CE0169D2892B09F461
+:1066800025960115110519F0D801CD93DC93D11091
+:1066900000C160E070E080E89FE704C143E050E0A3
+:1066A00067E07EE1CE0153D2892B59F40115110523
+:1066B00009F4F4C0B2E0EB0EF11CF801F182E082C3
+:1066C000EDC0F70160E070E0CB01C0E0D0E07F01F9
+:1066D000A0EDAA2EAC0C29E02A1528F14D2D426020
+:1066E000B42E2D2D2870D2FE04C0211124C0219675
+:1066F00022C021112197A5E0B0E09B01AC0148DF49
+:10670000660F771F881F991F6A0D711D811D911DCE
+:106710006839A9E97A078A07A9E19A0760F0BD2DCF
+:10672000B660BB2E08C02EEFA2120AC0D3FC50C028
+:106730004D2D4860B42E3196D701CC90DB2CC7CFBD
+:106740002C2D2F7D253409F043C0A081AD3241F4BA
+:10675000BD2DB061DB2E7F0122E0E20EF11C0CC0EA
+:106760007F01AB3231F04FEFE41AF40A21E030E060
+:1067700006C0A2E0EA0EF11CA18122E030E0A053A5
+:10678000AA3018F0E21AF30A23C0F70120E030E043
+:106790002038BCE03B075CF4A901440F551F440FAF
+:1067A000551F240F351F220F331F2A0F311DAF0134
+:1067B0004F5F5F4F7A01A081A053AA3010F4FA0115
+:1067C000E7CFD4FE03C0319521953109C20FD31F05
+:1067D000D1FE09C00115110531F0E1E0EE1AF10812
+:1067E000D801ED92FC924CDB2D2D2370233019F053
+:1067F0004B015C0106C04B015C01B7FAB094B7F8DD
+:10680000B09420E030E0A901C501B40199DA8823F1
+:1068100009F43CC0D7FF06C0D195C195D10906E265
+:106820001EE102C00EE31EE16801B8E1CB1AD108F7
+:1068300090E2E92EF12CCE15DF056CF0F8012591E0
+:10684000359145915491C501B4014FDD4B015C0177
+:10685000CE19DF09F0CF04501109F594E7940C1517
+:106860001D0549F78A2D880F8B2D881F8F3F41F01A
+:1068700020E030E0A901C501B40162DA811106C04F
+:1068800082E290E09093BC148093BB14C501B401E4
+:1068900009C060E070E080E89FEF04C060E070E055
+:1068A00080EC9FE7DF91CF911F910F91FF90EF90C8
+:1068B000DF90CF90BF90AF909F908F9008952F92D0
+:1068C0003F925F926F927F928F929F92AF92BF9210
+:1068D000CF92DF92EF92FF920F931F93CF93DF93AC
+:1068E0008B01EA016115710521F0DB018C93119692
+:1068F0009C93209739F09E012250310923323105B3
+:1069000008F0F8C07C016701BFEFCB1ADB0A560123
+:10691000F7016080862D90E003D1892B11F076017C
+:10692000F2CFFDE26F120AC0570182E0A80EB11C3F
+:10693000D70111966C90772473940BC0BBE26B1255
+:1069400007C05701E2E0AE0EB11CD70111966C9062
+:10695000712CCE018F7E892B89F4B0E36B1222C09B
+:10696000F50180818F7D883541F56180F2E0AF0EC1
+:10697000B11C872D8260782EC0E1D0E0C830D105EF
+:10698000F1F04CF4C230D10511F5C12CD12CE12C21
+:10699000B0E4FB2E2EC0CA30D10531F0C031D10594
+:1069A00019F115C0209751F7CAE0D0E0ACECCA2E1F
+:1069B000DC2CEC2CACE0FA2E1CC02097F9F6C8E0D9
+:1069C000D0E0C12CD12CE12CF0E1FF2E12C060E010
+:1069D00070E080E090E89E01442737FD4095542FF9
+:1069E0008DDD69017A0105C0C12CD12CE12CE8E0D4
+:1069F000FE2EF50160E020E030E0A9014E01AA245E
+:106A000097FCA094BA2C1F0170ED572E560CA9E0EC
+:106A1000A51570F48FEB860D8A3118F499EC592E78
+:106A200006C08FE9860D8A3128F589EA582E560C62
+:106A3000852D90E08C179D07ECF467FD17C0C216FA
+:106A4000D306E406F50678F0C501B40114DD9B0118
+:106A5000AC01250D311D411D511D21303105410570
+:106A6000B0E85B0710F06FEF01C061E03196D10133
+:106A70006C90C9CF872D81700115110571F06623C7
+:106A800029F03197D801ED93FC9307C071FE19C02E
+:106A90003297D801ED93FC9314C067FF12C088238E
+:106AA00029F020E030E040E050E804C02FEF3FEF55
+:106AB0004FEF5FE782E290E09093BC148093BB14A9
+:106AC00016C0882341F050954095309521953F4F51
+:106AD0004F4F5F4F0CC057FF0AC082E290E0909387
+:106AE000BC148093BB142FEF3FEF4FEF5FE7B9016A
+:106AF000CA0104C060E070E080E090E0DF91CF91D7
+:106B00001F910F91FF90EF90DF90CF90BF90AF90CB
+:106B10009F908F907F906F905F903F902F900895FF
+:106B20009111E5C2803219F089508550D0F708954F
+:106B30009111089581548A5108F4805E855A089510
+:106B4000FB01DC0105900D920020E1F70895FB01A7
+:106B5000DC014150504088F08D9181341CF08B3520
+:106B60000CF4805E659161341CF06B350CF4605E52
+:106B7000861B611171F3990B0895881BFCCFFB01F3
+:106B8000DC014150504048F005900D920020C9F7BB
+:106B900001C01D9241505040E0F70895FB0155910E
+:106BA0005523A9F0BF01DC014D9145174111E1F7D3
+:106BB00059F4CD010590002049F04D914015411147
+:106BC000C9F3FB014111EFCF81E090E001970895F7
+:106BD000FB01DC0104C08D910190801921F441502A
+:106BE0005040C8F7881B990B0895FB01DC0102C0D7
+:106BF00001900D9241505040D8F70895DC0101C03A
+:106C00006D9341505040E0F70895FB01DC018D91F8
+:106C100081341CF08B350CF4805E619161341CF082
+:106C20006B350CF4605E861B611189F3990B089536
+:106C3000FB01DC010D900020E9F7119701900D9206
+:106C40000020E1F70895FC018191861721F0882347
+:106C5000D9F7992708953197CF010895FB01DC01F9
+:106C60008D91019080190110D9F3990B0895FB01C2
+:106C7000DC0101900D920020E1F70895FB01DC0199
+:106C80004150504030F08D910190801919F400204E
+:106C9000B9F7881B990B0895FB01DC014150504066
+:106CA00048F001900D920020C9F701C01D9241509B
+:106CB0005040E0F708950F931F93CF93DF93CDB724
+:106CC000DEB72E970FB6F894DEBF0FBECDBF0E898C
+:106CD0001F898EE08C831A8309838FEF9FE79E8341
+:106CE0008D83AE01465E5F4F688D798DCE01019632
+:106CF00010D0EF81F885E00FF11F10822E960FB6AD
+:106D0000F894DEBF0FBECDBFDF91CF911F910F91E1
+:106D100008952F923F924F925F926F927F928F923F
+:106D20009F92AF92BF92CF92DF92EF92FF920F931A
+:106D30001F93CF93DF93CDB7DEB72C970FB6F894A0
+:106D4000DEBF0FBECDBF7C016B018A01FC01178243
+:106D50001682838181FFB0C1CE0101964C01F701FB
+:106D60009381F60193FD859193FF81916F018823B3
+:106D700009F49EC1853239F493FD859193FF819189
+:106D80006F01853221F4B70190E0CAD1E8CF512CD0
+:106D9000312C20E02032A0F48B3269F030F48032C4
+:106DA00059F0833269F420612CC08D3239F0803380
+:106DB00039F4216026C02260246023C0286021C0ED
+:106DC00027FD27C030ED380F3A3078F426FF06C093
+:106DD000FAE05F9E300D1124532E13C08AE0389ED6
+:106DE000300D1124332E20620CC08E3221F426FD8A
+:106DF0005FC1206406C08C3611F4206802C088365A
+:106E000041F4F60193FD859193FF81916F0181110A
+:106E1000C1CF982F9F7D9554933028F40C5F1F4F5E
+:106E2000FFE3F9830DC0833631F0833771F083358A
+:106E300009F057C021C0F801808189830E5F1F4F80
+:106E400044244394512C540114C03801F2E06F0ED5
+:106E5000711CF801A080B18026FF03C0652D70E091
+:106E600002C06FEF7FEFC5012C874FD12C0183014A
+:106E70002C852F77222E16C03801F2E06F0E711C80
+:106E8000F801A080B18026FF03C0652D70E002C02C
+:106E90006FEF7FEFC5012C872DD12C012C85206849
+:106EA000222E830123FC19C0832D90E04816590639
+:106EB000A0F4B70180E290E033D13A94F5CFF50128
+:106EC00027FC859127FE81915F01B70190E028D1D1
+:106ED00031103A94F1E04F1A51084114510479F7F6
+:106EE000DEC0843611F0893631F5F80127FF07C07E
+:106EF00060817181828193810C5F1F4F08C0608126
+:106F00007181882777FD8095982F0E5F1F4F2F7610
+:106F1000B22E97FF09C090958095709561957F4F2F
+:106F20008F4F9F4F2068B22E2AE030E0A4012AD173
+:106F3000A82EA81843C0853729F42F7EB22E2AE048
+:106F400030E025C0F22FF97FBF2E8F36C1F018F444
+:106F5000883579F0ADC0803719F0883721F0A8C0A6
+:106F60002F2F2061B22EB4FE0DC08B2D8460B82E61
+:106F700009C024FF0AC09F2F9660B92E06C028E0E2
+:106F800030E005C020E130E002C020E132E0F8014D
+:106F9000B7FE07C060817181828193810C5F1F4FB2
+:106FA00006C06081718180E090E00E5F1F4FA401F8
+:106FB000E9D0A82EA818FB2DFF77BF2EB6FE0BC078
+:106FC0002B2D2E7FA51450F4B4FE0AC0B2FC08C0CD
+:106FD0002B2D2E7E05C07A2C2B2D03C07A2C01C0C0
+:106FE000752C24FF0DC0FE01EA0DF11D8081803358
+:106FF00011F4297E09C022FF06C07394739404C063
+:10700000822F867809F0739423FD12C020FF06C0FA
+:107010005A2C731418F4530C5718732C731460F40F
+:10702000B70180E290E02C877BD073942C85F6CF5B
+:10703000731410F4371801C0312C24FF11C0B701AC
+:1070400080E390E02C876CD02C8522FF16C021FFB6
+:1070500003C088E590E002C088E790E0B7010CC06B
+:10706000822F867851F021FD02C080E201C08BE2C0
+:1070700027FD8DE2B70190E053D0A51430F4B7019D
+:1070800080E390E04DD05A94F8CFAA94F401EA0D31
+:10709000F11D8081B70190E043D0A110F6CF3320DD
+:1070A00009F45DCEB70180E290E03AD03A94F7CF90
+:1070B000F7018681978102C08FEF9FEF2C960FB664
+:1070C000F894DEBF0FBECDBFDF91CF911F910F911E
+:1070D000FF90EF90DF90CF90BF90AF909F908F90F8
+:1070E0007F906F905F904F903F902F9008959927D9
+:1070F00088270895FC010590615070400110D8F771
+:10710000809590958E0F9F1F0895FC0161507040EF
+:1071100001900110D8F7809590958E0F9F1F0895CC
+:107120000F931F93CF93DF93182F092FEB018B81C0
+:1071300081FD03C08FEF9FEF20C082FF10C04E8102
+:107140005F812C813D81421753077CF4E881F981EE
+:107150009F012F5F3F4F39832883108306C0E88546
+:10716000F985812F1995892B29F72E813F812F5F72
+:107170003F4F3F832E83812F902FDF91CF911F911F
+:107180000F910895FA01AA27283051F1203181F199
+:10719000E8946F936E7F6E5F7F4F8F4F9F4FAF4F1F
+:1071A000B1E03ED0B4E03CD0670F781F891F9A1F32
+:1071B000A11D680F791F8A1F911DA11D6A0F711DE6
+:1071C000811D911DA11D20D009F468943F912AE0F2
+:1071D000269F11243019305D3193DEF6CF010895DA
+:1071E000462F4770405D4193B3E00FD0C9F7F6CF0B
+:1071F000462F4F70405D4A3318F0495D31FD4052D3
+:10720000419302D0A9F7EACFB4E0A6959795879568
+:1072100077956795BA95C9F7009761057105089547
+:107220009B01AC010A2E06945795479537952795F3
+:10723000BA95C9F7620F731F841F951FA01D08958B
+:107240001EE1C8E4DEE100E005C022970109FE016D
+:107250000BBFAED9CA34D10780E00807B1F7F89464
+:02726000FFCF5E
+:107262000000BD1420000A01FF3FFF3F0000803FE5
+:107272008145644325DF363E33334B410160EA00EA
+:10728200000080BB440101000000410000344200C4
+:1072920000504100004040000056430000464300B9
+:1072A20000494300000000000000001F856B3E0003
+:1072B20000803F00004040640064006400640000FD
+:1072C200803B4500803B4500007043000000000207
+:1072D200248050727573612069332072656164790C
+:1072E2002E0000000000003200FA006400DC005AA8
+:1072F20000F0006400FE0001010101015203C2011D
+:107302000E0100003E43FF00004000140054000044
+:107312001F1511151F00000C12120C0000000004B2
+:107322000A0A0A0A11110E040E1F041C00000000B2
+:1073320006191803130C00001C1F11111F00001C5A
+:1073420010181705060500000E1315110E00000097
+:1073520000C8420000C84200007A450040034400D1
+:1073620000FA430000FA43000040400000C84128F0
+:10737200230000282300001E000000102700001038
+:1073820010101010504944204175746F74756E6569
+:1073920020737461727400504944204175746F7493
+:1073A200756E65206661696C65642E204261642099
+:1073B2006578747275646572206E756D6265722E81
+:1073C2000000000000362A80AD2F0043616E6E6F10
+:1073D20074206F70656E2073756264697200534425
+:1073E2002D5052494E54494E472020202020202023
+:1073F2002020004D313132004D32323120496E763B
+:10740200616C696420657874727564657220004DE0
+:1074120032313820496E76616C6964206578747205
+:107422007564657220004D31303920496E76616C89
+:10743200696420657874727564657220004D31301C
+:107442003520496E76616C69642065787472756462
+:10745200657220004D31303420496E76616C69646A
+:1074620020657874727564657220005452494747EA
+:1074720045524544006F70656E00322E322E310047
+:107482003330302D3161005265706F7274696E67EE
+:1074920020656E6473746F70207374617475730009
+:1074A2004D32303020496E76616C696420657874A3
+:1074B200727564657220006F6B0020703A0020695B
+:1074C2003A0020643A0020633A005400496E766123
+:1074D2006C696420657874727564657200416374C6
+:1074E2006976652045787472756465723A20000089
+:1074F200000100250030001D000C0018002400319E
+:10750200001C000B00170023002F001B000A001EA6
+:107512000047000400080022002B001A0003003676
+:107522000037003500380058595A454552524F52DB
+:107532003A005072656865617420746865206E6FE8
+:107542007A7A6C6521004368616E67696E672066AE
+:10755200696C616D656E742100496E736572742089
+:1075620066696C616D656E7400416E64207072654F
+:10757200737320746865206B6E6F62004368616E7E
+:107582006765207375636365737321004C6F616473
+:10759200696E6720636F6C6F7200506C6561736512
+:1075A2002077616974004C6F6164696E6720666957
+:1075B2006C616D656E74005072696E742061626FE9
+:1075C20072746564004368616E67656420636F72FC
+:1075D200726563746C793F005965730046696C612A
+:1075E2006D656E74206E6F74206C6F6164656400EB
+:1075F200436F6C6F72206E6F7420636C65617200F2
+:107602003E0020205A0000803B4500803B450000A0
+:1076120070430000704200000000318B80AD537453
+:1076220065707261746520746F6F20686967683A6B
+:10763200200000000000AFA583A558A560A573A592
+:0276420082A51F
+:00000001FF

+ 5992 - 0
hex_files/300-RAMBo1-3a-en.hex

@@ -0,0 +1,5992 @@
+:100000000C94250F0C94560F0C94560F0C94560F0D
+:100010000C94560F0C94560F0C94560F0C94560FCC
+:100020000C94560F0C94560F0C94560F0C94560FBC
+:100030000C94560F0C9421AD0C94560F0C94560F43
+:100040000C94560F0C94FA8B0C94560F0C94560F7C
+:100050000C94560F0C94560F0C9439260C94E7A868
+:100060000C94560F0C940D890C94560F0C94560F4B
+:100070000C94560F0C94560F0C94560F0C94560F6C
+:100080000C94560F0C94560F0C94560F0C94560F5C
+:100090000C94560F0C94560F0C94560F0C9419A6F2
+:1000A0000C94560F0C94560F0C94560F0C94560F3C
+:1000B0000C94560F0C94560F0C94560F0C94560F2C
+:1000C0000C94560F0C94560F0C94560F0C94560F1C
+:1000D0000C94560F0C94560F0C94560F0C94560F0C
+:1000E0000C94560F86269426B026BE26D826E626E1
+:1000F0000027042706270A2712276BA770A775A7D2
+:100100007FA7F8A789A791A799A7A3A7ADA7B7A786
+:10011000C6A7D0A7F8A7DAA7E4A7EEA716A819A83C
+:100120000CA810A850A81DA821A827A82BA82FA864
+:1001300035A839A83DA850A843A847A84BA8084A05
+:10014000D73B3BCE016E84BCBFFDC12F3D6C7431EB
+:100150009ABD56833DDA3D00C77F11BED9E4BB4C42
+:100160003E916BAAAABE000000803F05A84CCDB20C
+:10017000D44EB93836A9020C50B9918688083CA6ED
+:10018000AAAA2ABE000000803F007C3C3E5E2B3DB8
+:100190003F2F5B5D3B2C2A225C004572723A204D5A
+:1001A000415854454D50204245440054656D70659A
+:1001B000726174757265206865617465642062653A
+:1001C00064207377697463686564206F66662E20A7
+:1001D0004D415854454D502074726967676572658A
+:1001E00064202121004572723A204D494E54454DFC
+:1001F00050003A204578747275646572207377698F
+:100200007463686564206F66662E204D494E5445C0
+:100210004D502074726967676572656420210045DE
+:1002200072723A204D415854454D50003A2045785D
+:10023000747275646572207377697463686564208D
+:100240006F66662E204D415854454D50207472699A
+:10025000676765726564202100202D20496E7661F4
+:100260006C6964206578747275646572206E756D52
+:10027000626572202100504944204175746F747585
+:100280006E652066696E69736865642120507574B7
+:1002900020746865206C617374204B702C204B694E
+:1002A00020616E64204B6420636F6E7374616E74A2
+:1002B000732066726F6D2061626F766520696E745F
+:1002C0006F20436F6E66696775726174696F6E2E19
+:1002D0006800504944204175746F74756E652066DE
+:1002E00061696C6564212074696D656F75740020A7
+:1002F000403A006F6B20543A006F6B20423A005036
+:100300004944204175746F74756E65206661696C2F
+:100310006564212054656D70657261747572652025
+:10032000746F6F206869676800204B643A20002072
+:100330004B693A2000204B703A200020436C6173D7
+:100340007369632050494420002054753A200020EE
+:100350004B753A2000206D61783A2000206D696E5F
+:100360003A200020643A200020626961733A20003C
+:1003700070012C0190012701B0012201C0011D0173
+:10038000F00118011002130130020E016002090190
+:1003900090020401C002FF000003FA004003F500D0
+:1003A0008003F000D003EB002004E6007004E100BD
+:1003B000E004DC004005D700C005D2004006CD00B7
+:1003C000D006C8008007C3003008BE00F008B9009E
+:1003D000C009B400B00AAF00B00BAA00D00CA50051
+:1003E000000EA000500F9B00C0109600501291000C
+:1003F00000148C00C0158700B0178200B0197D0072
+:10040000D01B7800001E730040206E00902269000F
+:10041000F024640040275F0090295A00E02B55002B
+:10042000102E500020304B0010324600E0334100C7
+:1004300090353C001037370070383200A0392D005D
+:10044000B03A2800A03B2300603C1E00103D19007C
+:10045000903D1400103E0F00703E0A00C03E0500A3
+:10046000003F00004D383420582059205A204500C4
+:1004700043616E6E6F7420656E7465722073756271
+:100480006469723A20004D3234004D3233202573B6
+:10049000006175746F25692E67006572726F722036
+:1004A00077726974696E6720746F2066696C650085
+:1004B0004E6F74205344207072696E74696E6700C9
+:1004C0002F005344207072696E74696E67206279E0
+:1004D000746520002E0044656C6574696F6E20663B
+:1004E00061696C65642C2046696C653A2000466938
+:1004F0006C652064656C657465643A002E006F70ED
+:10050000656E206661696C65642C2046696C653A8D
+:10051000200057726974696E6720746F2066696C79
+:10052000653A20002E006F70656E206661696C650B
+:10053000642C2046696C653A20002E006F70656E51
+:10054000206661696C65642C2046696C653A200000
+:1005500046696C652073656C65637465640020533F
+:10056000697A653A200046696C65206F70656E6532
+:10057000643A20002E006F70656E206661696C65BC
+:10058000642C2046696C653A20004E6F77206672B5
+:100590006573682066696C653A20004E6F77206449
+:1005A0006F696E672066696C653A20002220706F63
+:1005B00073002220706172656E743A2200535542B6
+:1005C000524F5554494E452043414C4C2074617262
+:1005D0006765743A2200747279696E6720746F20BF
+:1005E00063616C6C207375622D67636F6465206650
+:1005F000696C6573207769746820746F6F206D6112
+:100600006E79206C6576656C732E204D4158206C98
+:100610006576656C2069733A0053442063617264A7
+:10062000206F6B006F70656E526F6F74206661692A
+:100630006C656400766F6C756D652E696E697420EB
+:100640006661696C656400534420696E6974206654
+:1006500061696C0000002110422063308440A55085
+:10066000C660E770088129914AA16BB18CC1ADD1F8
+:10067000CEE1EFF13112100273325222B5529442A0
+:10068000F772D662399318837BB35AA3BDD39CC348
+:10069000FFF3DEE36224433420040114E664C774EC
+:1006A000A44485546AA54BB528850995EEE5CFF598
+:1006B000ACC58DD55336722611163006D776F66640
+:1006C0009556B4465BB77AA719973887DFF7FEE7E8
+:1006D0009DD7BCC7C448E5588668A778400861180C
+:1006E00002282338CCC9EDD98EE9AFF94889699938
+:1006F0000AA92BB9F55AD44AB77A966A711A500AE0
+:10070000333A122AFDDBDCCBBFFB9EEB799B588B87
+:100710003BBB1AABA66C877CE44CC55C222C033C2B
+:10072000600C411CAEED8FFDECCDCDDD2AAD0BBDD7
+:10073000688D499D977EB66ED55EF44E133E322E7F
+:10074000511E700E9FFFBEEFDDDFFCCF1BBF3AAF27
+:10075000599F788F8891A981CAB1EBA10CD12DC185
+:100760004EF16FE18010A100C230E320045025401B
+:1007700046706760B9839893FBA3DAB33DC31CD37B
+:100780007FE35EF3B1029012F322D232354214526B
+:1007900077625672EAB5CBA5A89589856EF54FE5C7
+:1007A0002CD50DC5E234C324A014810466744764BB
+:1007B00024540544DBA7FAB79987B8975FE77EF71B
+:1007C0001DC73CD7D326F2369106B016576676760B
+:1007D000154634564CD96DC90EF92FE9C899E989E7
+:1007E0008AB9ABA94458654806782768C018E1085B
+:1007F0008238A3287DCB5CDB3FEB1EFBF98BD89BBB
+:10080000BBAB9ABB754A545A376A167AF10AD01AAA
+:10081000B32A923A2EFD0FED6CDD4DCDAABD8BAD06
+:10082000E89DC98D267C076C645C454CA23C832CFA
+:10083000E01CC10C1FEF3EFF5DCF7CDF9BAFBABF5A
+:10084000D98FF89F176E367E554E745E932EB23E4A
+:10085000D10EF01E53544F505045442E200050727C
+:10086000696E7465722073746F707065642064754E
+:100870006520746F206572726F72732E20466978DE
+:1008800020746865206572726F7220616E642075D5
+:100890007365204D39393920746F20726573746126
+:1008A00072742E202854656D70657261747572655E
+:1008B0002069732072657365742E205365742069F6
+:1008C00074206166746572207265737461727469F4
+:1008D0006E6729004B494C4C45442E2000507269EC
+:1008E0006E7465722068616C7465642E206B696C2F
+:1008F0006C28292063616C6C656421006F6B005269
+:100900006573656E643A20002200556E6B6E6F77DA
+:100910006E20636F6D6D616E643A2022004D32323D
+:100920003020532569005A204F6666736574203A5B
+:1009300020007A5F6D61783A20007A5F6D696E3AC7
+:1009400020005A204F6666736574005A204F666611
+:10095000736574206F6B002200556E6B6E6F776E3F
+:1009600020636F6D6D616E643A2022007A5F6D6165
+:10097000783A20007A5F6D696E3A2000795F6D6188
+:10098000783A2000795F6D696E3A2000785F6D617A
+:10099000783A2000785F6D696E3A2000205A3A005C
+:1009A00020593A0020436F756E7420583A20002079
+:1009B000453A00205A3A0020593A00583A00464930
+:1009C000524D574152455F4E414D453A4D61726C13
+:1009D000696E2056312E302E323B20537072696E74
+:1009E0007465722F6772626C206D61736875702018
+:1009F000666F722067656E36204649524D574152E8
+:100A0000455F55524C3A68747470733A2F2F67697A
+:100A1000746875622E636F6D2F4D61726C696E46DE
+:100A200069726D776172652F4D61726C696E2050CD
+:100A3000524F544F434F4C5F56455253494F4E3AD5
+:100A4000312E30204D414348494E455F5459504561
+:100A50003A50727573612069332045585452554499
+:100A600045525F434F554E543A3120555549443A0B
+:100A700030303030303030302D303030302D30307C
+:100A800030302D303030302D30303030303030306C
+:100A9000303030300A005072757361206933204F56
+:100AA00066662E005072757361206933207265612D
+:100AB00064792E0042656420646F6E652E002042CA
+:100AC0003A0020453A00543A004265642048656186
+:100AD00074696E672E0048656174696E6720646F83
+:100AE0006E652E0020573A0020453A00543A0048DF
+:100AF000656174696E672E2E2E002042403A0020F8
+:100B0000403A00202F003A00205400202F002042BD
+:100B10003A00202F006F6B20543A002569206D6940
+:100B20006E2C2025692073656300456E642066691C
+:100B30006C65206C69737400426567696E20666934
+:100B40006C65206C697374004E6F206D6F76652E36
+:100B50000050727573612069332072656164792E6B
+:100B600000526573756D696E67207072696E7400EE
+:100B70005761697420666F7220757365722E2E2E10
+:100B800000536C6565702E2E2E00256920686F75E8
+:100B90007273202569206D696E7574657300446FEA
+:100BA0006E65207072696E74696E672066696C6527
+:100BB0000053544F505045442E20005072696E74BB
+:100BC00065722073746F707065642064756520743D
+:100BD0006F206572726F72732E2046697820746878
+:100BE00065206572726F7220616E64207573652076
+:100BF0004D39393920746F20726573746172742EA7
+:100C0000202854656D706572617475726520697312
+:100C10002072657365742E20536574206974206199
+:100C2000667465722072657374617274696E672987
+:100C3000004E6F204C696E65204E756D62657220A6
+:100C40007769746820636865636B73756D2C204CDD
+:100C5000617374204C696E653A20004E6F204368C2
+:100C600065636B73756D2077697468206C696E6558
+:100C7000206E756D6265722C204C617374204C6916
+:100C80006E653A2000636865636B73756D206D69EE
+:100C9000736D617463682C204C617374204C696EB1
+:100CA000653A20004C696E65204E756D6265722054
+:100CB0006973206E6F74204C617374204C696E658B
+:100CC000204E756D6265722B312C204C617374203F
+:100CD0004C696E653A20004D31313000446F6E65CD
+:100CE00020736176696E672066696C652E006F6B94
+:100CF000004D3239002020506C616E6E6572427575
+:100D00006666657242797465733A200020467265A2
+:100D100065204D656D6F72793A200044656320321D
+:100D200033203230313500436F6D70696C65643A41
+:100D30002000286E6F6E652C2064656661756C748A
+:100D400020636F6E6669672900207C204175746896
+:100D50006F723A20004465632032332032303135DF
+:100D60002031353A34393A303300204C61737420E5
+:100D7000557064617465643A2000312E302E320063
+:100D80004D61726C696E0020536F66747761726595
+:100D900020526573657400205761746368646F67DF
+:100DA000205265736574002042726F776E206F75F4
+:100DB00074205265736574002045787465726E61A5
+:100DC0006C20526573657400506F776572557000C2
+:100DD0007374617274002200656E717565696E6767
+:100DE0002022002200656E717565696E6720220001
+:100DF000FFFFFF0000A0400000A0400000004000F6
+:100E0000005643000046431FC54843000000000051
+:100E10000000001F856B3E00005643000046430063
+:100E200000494300000000000000001F856B3E6584
+:100E300063686F3A004572726F723A004361726480
+:100E40002072656D6F766564004361726420696E1F
+:100E50007365727465640047312045343020463133
+:100E60003030004731204536352046343030004D93
+:100E7000383300473120452D38302046343030009B
+:100E80004D3833002D2D3A2D2D002D2D2D0053449E
+:100E9000000120000120004D363030004368616EB3
+:100EA00067652066696C616D656E7400466C6F776E
+:100EB00000466C6F770046616E2073706565640054
+:100EC00046616E207370656564004265640042652A
+:100ED00064004E6F7A7A6C65004E6F7A7A6C6500AA
+:100EE0005370656564005370656564004D61696E9B
+:100EF00000436F6F6C646F776E00464C4558202D31
+:100F000020203235302F35300050502020202D2029
+:100F1000203235342F3130300048495053202D20B5
+:100F2000203232302F3130300050455420202D20D7
+:100F3000203234302F393000504C4120202D2020D9
+:100F40003232302F35300041425320202D202032C4
+:100F500038352F313030004D61696E004D38340026
+:100F60004D383420582059205A2045004D32340045
+:100F70004D323320257300052E2E004D61696E0021
+:100F800046616E2073706565640046616E20737003
+:100F90006565640042656400426564004E6F7A7A5C
+:100FA0006C65004E6F7A7A6C650053657474696E77
+:100FB000677300580059005A00457874727564656B
+:100FC00072004578747275646572004D6F766520A5
+:100FD0005A004D6F76652059004D6F766520580098
+:100FE00053657474696E67730047323800417574D5
+:100FF0006F20686F6D65004D38340044697361621D
+:101000006C652073746570706572730047323820A8
+:101010005A0043616C696272617465205A004D6FB9
+:10102000766520617869730054656D7065726174CE
+:10103000757265004D61696E005265763A203330F5
+:10104000302D316100686F77746F2E707275736127
+:1010500033642E636F6D00666F72756D2E707275DE
+:10106000736133642E636F6D0070727573613364E6
+:101070002E636F6D004669726D77617265202D2059
+:10108000322E322E31004D61696E00537570706FD3
+:1010900072740053657474696E677300556E6C6F7B
+:1010A00061642066696C616D656E74004C6F61648B
+:1010B0002066696C616D656E74004E6F205344202C
+:1010C00063617264005072696E742066726F6D2085
+:1010D00053440053746F70207072696E74005265CF
+:1010E00073756D65207072696E74005061757365FB
+:1010F000207072696E740050726568656174005486
+:10110000756E6500496E666F2073637265656E006B
+:1011100048617264636F6465642044656661756CE0
+:10112000742053657474696E6773204C6F616465D5
+:10113000640046696C616D656E74207365747469D2
+:101140006E67733A2044697361626C6564002020A5
+:10115000204D32303020440046696C616D656E74FC
+:101160002073657474696E67733A002020204D32D5
+:1011700030392053004175746F2D5265747261636C
+:10118000743A20533D3020746F2064697361626C3F
+:10119000652C203120746F20696E746572707265E1
+:1011A0007420657874727564652D6F6E6C79206D2E
+:1011B0006F766573206173207265747261637473F6
+:1011C000206F72207265636F7665726965730020A7
+:1011D00046002020204D3230382053005265636F86
+:1011E0007665723A20533D4578747261206C656E65
+:1011F00067746820286D6D2920463A5370656564D0
+:1012000020286D6D2F6D2900205A002046002020D7
+:10121000204D323037205300526574726163743A46
+:1012200020533D4C656E67746820286D6D292046FB
+:101230003A537065656420286D6D2F6D29205A3AE8
+:10124000205A4C69667420286D6D290020440020C6
+:1012500049002020204D3330312050005049442097
+:1012600073657474696E67733A00205A00205900E0
+:1012700020204D323036205800486F6D65206F6653
+:101280006673657420286D6D293A00204500205A48
+:101290000020580020420020540020204D323035DC
+:1012A000205300416476616E6365642076617269E3
+:1012B00061626C65733A20533D4D696E20666565C9
+:1012C000647261746520286D6D2F73292C20543D44
+:1012D0004D696E2074726176656C20666565647216
+:1012E00061746520286D6D2F73292C20423D6D6936
+:1012F0006E696D756D207365676D656E74207469B8
+:101300006D6520286D73292C20583D6D6178696DBD
+:10131000756D205859206A65726B20286D6D2F738A
+:10132000292C20205A3D6D6178696D756D205A20F9
+:101330006A65726B20286D6D2F73292C2020453D26
+:101340006D6178696D756D2045206A65726B202826
+:101350006D6D2F73290020540020204D3230342031
+:101360005300416363656C65726174696F6E3A2006
+:10137000533D616363656C65726174696F6E2C20A7
+:10138000543D7265747261637420616363656C655A
+:10139000726174696F6E00204500205A0020590068
+:1013A00020204D3230312058004D6178696D756DC7
+:1013B00020416363656C65726174696F6E20286D8E
+:1013C0006D2F7332293A00204500205A0020590021
+:1013D00020204D3230332058004D6178696D756D95
+:1013E0002066656564726174657320286D6D2F7366
+:1013F000293A00204500205A0020590020204D396C
+:101400003220580053746570732070657220756EB9
+:1014100069743A0045303A20005A3A2000593A207F
+:1014200000583A20004D53312C4D53322050696EF4
+:10143000730A00656E6473746F7073206869743A20
+:10144000205A00205A3A00656E6473746F707320DE
+:101450006869743A20590020593A00656E647374C3
+:101460006F7073206869743A20580020583A0065FC
+:101470006E6473746F7073206869743A200024F48A
+:10148000D43050C38E20C2A24017828B7011127AC2
+:10149000910D816CD90AA861E108C75866076151AE
+:1014A00043061E4B5D05C145A7041A411104093DC1
+:1014B0009803713931034036DB0265339102D43031
+:1014C0005402802E1D02632CEE01752AC501B0283E
+:1014D000A001102781018F2564012B244B01E022FC
+:1014E0003401AC211F018D200D01801FFC00841EE2
+:1014F000ED00971DDF00B81CD200E61BC600201BC4
+:10150000BC00641AB200B219A8000A19A0006A1837
+:101510009900D117910040178B00B5168400311641
+:101520007E00B31579003A157300C7146F00581484
+:101530006A00EE1366008813630025135E00C7126D
+:101540005B006C12570015125400C111510070114C
+:101550004F0021114B00D61049008D104700461056
+:10156000440002104200C00F4000800F3E00420FB6
+:101570003C00060F3B00CB0E3800930E37005C0E8C
+:101580003500270E3400F30D3200C10D3100900DEF
+:101590003000600D2E00320D2D00050D2C00D90CF1
+:1015A0002B00AE0C2900850C29005C0C2700350CA3
+:1015B00027000E0C2600E80B2400C40B2400A00B0F
+:1015C00023007D0B23005A0B2100390B2100180B3F
+:1015D0002000F80A1F00D90A1E00BB0A1E009D0A3F
+:1015E0001D00800A1D00630A1C00470A1B002C0A0C
+:1015F0001B00110A1A00F7091A00DD091900C409B5
+:101600001900AB091900920917007B09180063093A
+:1016100017004C09160036091600200916000A09A1
+:101620001500F5081500E0081400CC081400B808EF
+:101630001400A4081400900813007D0812006B0821
+:10164000130058081200460812003408110023083D
+:1016500011001208110001081100F0071000E00746
+:101660001000D0071000C0071000B0070F00A1073E
+:10167000100091070E0083070F0074070F00650725
+:101680000E0057070E0049070E003B070D002E07FE
+:101690000E0020070D0013070D0006070D00F906C8
+:1016A0000C00ED060D00E0060C00D4060C00C80688
+:1016B0000C00BC060C00B0060C00A4060B0099063A
+:1016C0000C008D060B0082060B0077060B006C06E3
+:1016D0000B0061060A0057060B004C060A00420682
+:1016E0000A0038060A002E060A0024060A001A0616
+:1016F0000A001006090007060A00FD050900F405A6
+:101700000900EB050900E2050900D9050900D0052B
+:101710000900C7050900BE050900B5050800AD05AB
+:101720000800A50509009C050800940508008C0523
+:101730000800840508007C050800740508006C0595
+:101740000700650508005D050700560508004E0501
+:101750000700470507004005080038050700310568
+:1017600007002A050700230507001C0506001605CB
+:1017700007000F0507000805060002050700FB0427
+:101780000600F5040700EE040600E8040600E20483
+:101790000700DB040600D5040600CF040600C904D8
+:1017A0000600C3040600BD040600B7040600B10429
+:1017B0000500AC040600A6040600A00405009B0476
+:1017C000060095040500900406008A0405008504BF
+:1017D0000500800406007A04050075040500700405
+:1017E00005006B04050066040500610405005C0447
+:1017F000050057040500520405004D040500480487
+:101800000500430405003E0404003A0405003504C5
+:101810000500300404002C04050027040400230400
+:1018200005001E0404001A04040016040500110437
+:1018300004000D040400090405000404040000046D
+:101840000400FC030400F8030400F4030400F003A4
+:101850000400EC030400E8030400E4030400E003D4
+:101860000400DC030400D8030400D4030400D00304
+:101870000400CC030400C8030300C503030024F4E0
+:1018800004D9201BC40C5C0E9804C4095F026507D0
+:101890007101F405F900FB04B30048048700C1039B
+:1018A00069005803550003034500BE023A00840254
+:1018B000310053022A002902250004022000E4011D
+:1018C0001C00C8011900AF01170098011400840121
+:1018D0001300710110006101100051010E0043015D
+:1018E0000D0036010B002B010B0020010B00150130
+:1018F00009000C01090003010800FB000800F300C7
+:101900000800EB000700E4000600DE000600D80037
+:101910000600D2000600CC000500C7000500C2008A
+:101920000500BD000400B9000400B5000400B100CA
+:101930000400AD000400A9000400A5000300A200FB
+:1019400003009F0004009B00030098000300950023
+:10195000020093000300900003008D0002008B0042
+:10196000030088000200860002008400030081005A
+:1019700002007F0002007D0002007B00020079006F
+:10198000020077000100760002007400020072007D
+:101990000100710002006F0002006D0001006C0088
+:1019A00002006A0001006900020067000100660091
+:1019B0000100650001006400020062000100610096
+:1019C0000100600001005F0002005D0001005C009A
+:1019D00001005B0001005A0001005900010058009D
+:1019E000010057000100560001005500010054009D
+:1019F000010053000000530001005200010051009B
+:101A00000100500001004F0001004E0000004E0098
+:101A100001004D0001004C0001004B0000004B0094
+:101A200001004A0001004900010048000000480090
+:101A3000010047000100460000004600010045008B
+:101A40000000450001004400010043000000430085
+:101A5000010042000000420001004100000041007E
+:101A60000100400001003F0000003F0001003E0077
+:101A700000003E0001003D0000003D0001003C0070
+:101A800000003C0000003C0001003B0000003B0067
+:101A900001003A0000003A0001003900000039005E
+:101AA0000100380000003800000038000100370055
+:101AB000000037000100360000003600000036004C
+:101AC0000100350000003500000035000100340041
+:101AD0000000340000003400010033000000330037
+:101AE000000033000100320000003200000032002C
+:101AF0000100310000003100000031000100300021
+:101B0000000030000000300001002F0000002F0016
+:101B100000002F0000002F0001002E0000002E000A
+:101B200000002E0001002D0000002D0000002D00FF
+:101B300000002D0001002C0000002C0000002C00F3
+:101B400000002C0001002B0000002B0000002B00E7
+:101B500000002B0001002A0000002A0000002A00DB
+:101B600000002A00010029000000290000002900CF
+:101B700000002900000029000100280000002800C2
+:101B800000002800000028000000280001002700B5
+:101B900000002700000027000000270000002700A9
+:101BA000010026000000260000002600000026009C
+:101BB000000026000100250000002500000025008F
+:101BC0000000250000002500000025000100240081
+:101BD0000000240000002400000024000000240075
+:101BE0000100230000002300000023000000230068
+:101BF0000000230000002300000023000100220059
+:101C0000000022000000220000002200000022004C
+:101C1000000022000100210000002100000021003E
+:101C20000000210000002100000021000000210030
+:101C30000100200000002000000020000000200023
+:101C40000000200000002000000020000000200014
+:101C500001001F0000001F0000001F0000001F0007
+:101C600000001F0000001F0000001F0001001E00F8
+:101C700000001E0000001E0000001E000000207476
+:101C80006F6F206C6F6E6720657874727573696F03
+:101C90006E2070726576656E7465640020636F6C8B
+:101CA0006420657874727573696F6E2070726576E2
+:101CB000656E746564000000090A02080B0C0D07CC
+:101CC0000603040100000000000000000000000006
+:101CD0000000000000000000000000000000000004
+:101CE000000011100F0000000000000000000000C4
+:101CF00000000000000000000000000000000000E4
+:101D000000000000000000000000000001021020A0
+:101D10002008081020401020408002010201080421
+:101D200002010102040810204080804020100804B5
+:101D3000020180040201804020100804020108040E
+:101D40000201010204081020408001020408102052
+:101D5000408010080408801020400440801020407B
+:101D600004800505050507050808080802020202A7
+:101D70000A0A080804040404010101010101010127
+:101D80000303030303030303040707070C0C0C0CF2
+:101D90000C0C0C0C020202020606060606060606DB
+:101DA0000B0B0B0B0B0B0B0B07070A0A0A0A0A0A91
+:101DB000050505040404080800002000230026008F
+:101DC00029002C002F003200000100000301060151
+:101DD000090100002200250028002B002E00310000
+:101DE000340002010000050108010B010000210080
+:101DF000240027002A002D003000330001010000DC
+:101E0000040107010A01024E414E494E4954594905
+:101E10004E46CDCCCC3D0AD7233C17B7D13877CC32
+:101E20002B329595E6241FB14F0A00002041000097
+:101E3000C84200401C4620BCBE4CCA1B0E5AAEC550
+:101E40009D749D63FF7DEDA5A16311241FBECFEF9F
+:101E5000D1E2DEBFCDBF00E00CBF15E0A0E0B2E0F4
+:101E6000E2E6F2E701E00BBF02C007900D92A23E4E
+:101E7000B107D9F724E1A2EEB5E001C01D92AD3B58
+:101E8000B207E1F71EE1C8E4DEE100E006C02297F8
+:101E90000109FE010BBF0E94D8B2C234D10780E015
+:101EA0000807A9F70E94F1A90C9420B90C9400002E
+:101EB000CF93DF93EC019C012C5F3F4F41E050E05A
+:101EC00060E070E0898D9A8D0E94FA19882399F05C
+:101ED0004D895E896F89788D452B462B472B59F4A8
+:101EE0004C815D816E817F814D8B5E8B6F8B788F96
+:101EF000998190689983DF91CF910895CF92DF9275
+:101F0000EF92FF920F931F93CF93DF93EC01898998
+:101F10009A89AB89BC89803E9F4FAF41B10510F0D3
+:101F200080E06BC0CE01C4DF8823D1F30E940E187D
+:101F3000182F8823A9F3E98DFA8DCC80DD80EE80FF
+:101F4000FF8032E0C31AD108E108F108058404C01B
+:101F5000CC0CDD1CEE1CFF1C0A94D2F786859785FD
+:101F6000A089B189C80ED91EEA1EFB1E81E08093AC
+:101F7000E805C092EB07D092EC07E092ED07F092F3
+:101F8000EE0780E092E0EBEEF5E0DF019C011D92B0
+:101F900021503040E1F701E0E98DFA8D8481081786
+:101FA00090F42BEE35E0B701A601400F511D611DE5
+:101FB000711D8091E9059091EA050E94E73B882315
+:101FC000E1F00F5FE9CFC12C82E0D82EE12CF12C9B
+:101FD000058404C0CC0CDD1CEE1CFF1C0A94D2F757
+:101FE00049895A896B897C894C0D5D1D6E1D7F1D49
+:101FF000498B5A8B6B8B7C8B812FDF91CF911F91FB
+:102000000F91FF90EF90DF90CF900895CF93DF93E3
+:10201000EC0141E0611101C040E06C857D858E8559
+:102020009F850E944E18882341F0888920E2829F74
+:10203000C001112485519A4F02C080E090E0DF91E9
+:10204000CF91089530E020E04EE2DC015C91503207
+:1020500071F0383029F4FB01E20FF11D40832F5F4E
+:10206000FB01E20FF11DDC015C9150832F5F3F5FAC
+:1020700001963B3051F7FB01E20FF11D10820895EC
+:10208000CF93DF93EB01FC012381211102C080E09B
+:102090000EC02250223020F48FE28883198206C0BD
+:1020A00060E0B4DF009799F3BE01CCDF81E0DF91FF
+:1020B000CF910895FB012BE030E231932150E9F7F5
+:1020C000DC0190E027E03A2FEB2F8D9181110AC0BF
+:1020D000DA013C931196EC9381E0FB019081903200
+:1020E00039F525C08F32A1F38E3219F0EAE8F1E01C
+:1020F00008C02A30E1F098E02AE0E5CF31963817A1
+:10210000B1F034913111FACF291788F03FED380F33
+:102110003E3568F431E0390FFB01E90FF11D9FE90D
+:10212000980F9A3108F480528083932FCCCF80E0AF
+:1021300008950F931F93CF93DF93EC018B018B8155
+:10214000882311F080E042C0FB018789803139F19A
+:102150008032C1F783E08B83F801428D538D648D0B
+:10216000758D4D8B5E8B6F8B788F9E012F5E3F4FF1
+:10217000C8010E940519882329F31A8F098F81E06D
+:1021800089831C821D821E821F82188619861A86E8
+:102190001B861C861D861E861F86188A17C082E035
+:1021A0008B831D8A1E8A1F8A188EFB01408D518DDC
+:1021B00060E070E095E0440F551F661F771F9A9509
+:1021C000D1F7498B5A8B6B8B7C8BD7CFDF91CF911B
+:1021D0001F910F9108952F923F924F925F926F92AD
+:1021E0007F928F929F92AF92BF92CF92DF92EF92A7
+:1021F000FF920F931F93CF93DF93EC015B016A0172
+:102200008B81811103C08FEF9FEFC7C0898180FF51
+:10221000FACF49895A896B897C8988859985AA85ED
+:10222000BB852601612C712C8A019B01081B190BAF
+:102230002A0B3B0B401651066206730618F06A0122
+:10224000C81AD90A76013E0124E0620E711CE1141D
+:10225000F10409F476C0488559856A857B854A0171
+:1022600081E098222B811A012B01E9E056944794D2
+:1022700037942794EA95D1F7898D9A8DFC01223005
+:1022800049F4628D738D848D958D620D731D841D4F
+:10229000951D3CC014811150122181149104C1F488
+:1022A000111116C0452B462B472B49F48D899E8969
+:1022B000AF89B88D8C839D83AE83BF8309C04C8169
+:1022C0005D816E817F81930121D7882309F49BCFA3
+:1022D000E98DFA8D6C817D818E819F8162507109BB
+:1022E00081099109058404C0660F771F881F991F13
+:1022F0000A94D2F72685378540895189620F731F6A
+:10230000841F951F610F711D811D911D20E032E01A
+:102310002819390987012E153F0508F4890101158F
+:10232000F2E01F0769F52091EB073091EC0740912F
+:10233000ED075091EE07621773078407950719F4AC
+:102340001FC0C6012AC09501AB01BC018091E905FF
+:102350009091EA050E94723B882309F454CFA00EA5
+:10236000B11E88859985AA85BB85800F911FA11D07
+:10237000B11D88879987AA87BB87E01AF10A67CFC2
+:1023800040E08CD6882309F43ECFB40165517A4FE2
+:10239000A801C5010E94F5B5E2CFDF91CF911F9151
+:1023A0000F91FF90EF90DF90CF90BF90AF909F90F4
+:1023B0008F907F906F905F904F903F902F900895F7
+:1023C000CF93DF931F92CDB7DEB741E050E0BE015F
+:1023D0006F5F7F4F00DF019719F4898190E002C0A1
+:1023E0008FEF9FEF0F90DF91CF910895CF92DF9203
+:1023F000EF92FF920F931F93CF93DF936C01EB014A
+:102400007A01FC018381823060F00085118522858C
+:1024100033850F71112722273327012B022B032B22
+:1024200011F08FEF5CC04115510511F0F7011082DA
+:102430001DE040E250E0BE01C601CDDE80329105D4
+:1024400039F021E0892B09F420E0822F819547C0E3
+:1024500028812223C1F0253E61F32E3251F33B85C2
+:102460003F733F3061F4E114F10449F04A8D5B8D14
+:10247000452B29F42F713FEF320F343030F02B858C
+:1024800023FDD7CF2CC080E02AC030E02150310995
+:10249000129FC001139F900D1124F701E80FF91F3F
+:1024A000298120832B8121832D8122832F812383E6
+:1024B000298524832E852583288926832A892783B5
+:1024C0002C8920872E892187288D22872C8D238790
+:1024D0002E8D2487288126FFD2CF1586D0CFDF917D
+:1024E000CF911F910F91FF90EF90DF90CF900895C3
+:1024F0001F93CF93DF93EC018B81823018F480E03F
+:1025000090E023C0488559856A857B85A5E076954E
+:10251000679557954795AA95D1F7142F1F70CE014F
+:102520004FDF97FDECCF488559856A857B85415EF5
+:102530005F4F6F4F7F4F488759876A877B8720E2BD
+:10254000129FC001112485519A4FDF91CF911F91A5
+:1025500008954F925F926F927F92AF92BF92CF9207
+:10256000DF92EF92FF920F931F93CF93DF93EC01D3
+:102570006A017B012B81222349F089899A89AB89E1
+:10258000BC8984179507A607B70710F480E06BC0D5
+:10259000223009F463C0C114D104E104F10449F408
+:1025A0001C821D821E821F82188619861A861B862F
+:1025B00059C088859985AA85BB85E98DFA8DE58501
+:1025C000F0E03996AC01BD01415051096109710932
+:1025D0000E2E04C076956795579547950A94D2F7C5
+:1025E00097018601015011092109310904C036956E
+:1025F000279517950795EA95D2F70417150726072B
+:10260000370720F0892B8A2B8B2B49F48D899E89E3
+:10261000AF89B88D8C839D83AE83BF8304C0041BB8
+:10262000150B260B370B280139015E0184E0A80E3B
+:10263000B11C411451046104710481F04C815D812D
+:102640006E817F819501898D9A8D60D591E0491ABF
+:102650005108610871088111ECCF05C0C886D98680
+:10266000EA86FB8681E0DF91CF911F910F91FF9069
+:10267000EF90DF90CF90BF90AF907F906F905F9082
+:102680004F9008950F931F93CF93DF93EC018B81AD
+:102690008823D1F1898187FF32C061E0CE01B6DCA9
+:1026A0008C01009789F1FC018081853E69F18B8165
+:1026B000823040F449895A896B897C89448F558FCF
+:1026C000668F778F4D895E896F89788DF801538F7A
+:1026D000428F758B648BE091E205F091E3053097B2
+:1026E00059F0B8016A5E7F4FC80148961995F80104
+:1026F000808D918D938B828B89818F778983DF91F8
+:10270000CF911F910F918AC481E0888380E0DF918F
+:10271000CF911F910F910895CF93DF93EC01B2DF1A
+:102720001B82DF91CF910895FC0123812111F4CF09
+:1027300008954F925F926F927F92AF92BF92CF9225
+:10274000DF92EF92FF920F931F93CF93DF9300D00E
+:102750001F92CDB7DEB75C016A017B01FC0183816A
+:102760008130E9F4818181FF1AC0F5018189928964
+:10277000A389B48984179507A607B70780F0892B2A
+:102780008A2B8B2B09F472C0F5014084518462843A
+:102790007384B701A601C501DCDE811102C080E0AF
+:1027A00066C0F501818D928DC114D104E104F1045C
+:1027B00069F4458956896789708D25D7882379F30F
+:1027C000F501158A168A178A108E37C0F5014481E3
+:1027D0005581668177819E012F5F3F4F97D4882373
+:1027E000F1F249815A816B817C81F501818D928D55
+:1027F000FC012789203139F4483FFFEF5F0761056D
+:102800007105D8F407C0483F2FEF520762072FE049
+:10281000720798F4F8D6882309F4C1CFF5014481F2
+:102820005581668177810FEF1FEF2FEF3FE0818D9C
+:10283000928D51D5882309F4B2CFF501C18AD28A8D
+:10284000E38AF48A818180688183C5011BDF882344
+:1028500009F4A5CFB701A6014C145D046E047F04F2
+:1028600010F4B301A201C50174DE01C081E00F9034
+:102870000F900F900F90DF91CF911F910F91FF90CC
+:10288000EF90DF90CF90BF90AF907F906F905F9070
+:102890004F900895FF920F931F93CF93DF93EC0116
+:1028A000F42E80E2689FF0011124E551FA4F8385F0
+:1028B000817121F0842F827109F04EC08091EB0765
+:1028C0009091EC07A091ED07B091EE078C879D8762
+:1028D000AE87BF87688B4489558960E070E0BA0194
+:1028E00055274427028D138D20E030E0402B512BDB
+:1028F000622B732B4D8B5E8B6F8B788F83858871EA
+:1029000051F4048D158D268D378D098B1A8B2B8BE9
+:102910003C8B81E00BC08031F9F49E012F5E3F4F6C
+:10292000898D9A8D72D48823B9F084E08B838F2DA2
+:102930008F7089831C821D821E821F8218861986D1
+:102940001A861B86F4FE0BC040E050E0BA01CE01AF
+:10295000F0DE811104C011C01B8280E00EC0F5FEC4
+:102960000BC049895A896B897C89CE01DF91CF914F
+:102970001F910F91FF90EDCD81E0DF91CF911F91DD
+:102980000F91FF900895AF92BF92CF92DF92EF9296
+:10299000FF920F931F93CF93DF937C01EB016A01AA
+:1029A000B22E898D9A8DF701928F818F40E050E091
+:1029B000BA01CE01CEDDA12C088519852A853B857B
+:1029C00089899A89AB89BC89081719072A073B07A7
+:1029D000A0F585E036952795179507958A95D1F747
+:1029E0000F70CE0185DD009709F481C0FC012081C4
+:1029F000222311F0253EB9F4A1100EC04091EB073F
+:102A00005091EC076091ED077091EE07F701448754
+:102A1000558766877787008BFC018081AA24A39461
+:102A20008111CACF0AC04BE050E0BC01C6010E9430
+:102A3000E8B5892B09F0C0CF58C08B2D8274823441
+:102A400009F055C0AA2049F0F701008961E0C701EB
+:102A5000DDDAEC01009769F44AC08B81823009F419
+:102A600046C0CE014BDA882309F441C0CBEED5E055
+:102A700000E080E2FE0111928A95E9F78BE0F60111
+:102A8000DE0101900D928A95E1F7E091E205F09167
+:102A9000E305309739F0BE01625F7F4FCE0140966B
+:102AA000199508C081E298E2998B888B80E098E0C4
+:102AB0009F878E87888999899B8B8A8B998F888F2E
+:102AC0008E859F859F8B8E8BA9D2882381F04B2D7D
+:102AD000602FC701DF91CF911F910F91FF90EF9071
+:102AE000DF90CF90BF90AF90D5CEB7FEF0CF80E013
+:102AF000DF91CF911F910F91FF90EF90DF90CF90DA
+:102B0000BF90AF9008953F924F925F926F927F92E5
+:102B10008F929F92AF92BF92CF92DF92EF92FF92ED
+:102B20000F931F93CF93DF93CDB7DEB7C354D10973
+:102B30000FB6F894DEBF0FBECDBF5C016B012496CB
+:102B40005FAF4EAF2497522E1C8E1F8E19821C82AF
+:102B50006115710511F410E073C0FC0183818111CE
+:102B6000FACF2496EEADFFAD249780818F3211F01D
+:102B700076011DC02496EEADFFAD249780818F3283
+:102B800031F431962496FFAFEEAF2497F3CFF601E0
+:102B900083818250823060F3F601618D728DCE01A7
+:102BA0000196C7DA8823B9F2CE0101967C018E0125
+:102BB000045E1F4F3801FE0131964F01402E312E29
+:102BC00019C08823A9F121E0AE01495C5F4FB7012C
+:102BD000C801D9DE882309F4BECFEC14FD0411F03E
+:102BE000C7019ADD0615170501F1942D832D780193
+:102BF000092F182FAE014E5B5F4FBE01695C7F4FFE
+:102C000024968EAD9FAD249755DA882309F4A3CF7F
+:102C10002496EEADFFAD249780818F3291F63196E8
+:102C20002496FFAFEEAF2497F3CF982D892DDFCFF9
+:102C3000252DAE01495C5F4FB701C501A4DE182FF9
+:102C4000CE01019671DDCE014C966EDD812FCD5BFC
+:102C5000DF4F0FB6F894DEBF0FBECDBFDF91CF912F
+:102C60001F910F91FF90EF90DF90CF90BF90AF90AA
+:102C70009F908F907F906F905F904F903F900895BE
+:102C8000CF93DF93EC0140E050E0BA0152DD88239E
+:102C900061F061E0CE01BAD9009739F025EEFC0170
+:102CA00020831B82DF91CF91B9C180E0DF91CF916A
+:102CB00008951F93CF93DF93CDB7DEB76B970FB611
+:102CC000F894DEBF0FBECDBFAB0119821C8222E09B
+:102CD000BC01CE01019617DF182F882321F0CE0109
+:102CE0000196CEDF182FCE0101961EDD812F6B9647
+:102CF0000FB6F894DEBF0FBECDBFDF91CF911F910D
+:102D000008952F923F924F925F926F927F928F928F
+:102D10009F92AF92BF92CF92DF92EF92FF920F936A
+:102D20001F93CF93DF9300D01F921F92CDB7DEB7D2
+:102D30008C015B013A01DC0113968C911397813071
+:102D4000C1F411968C9181FF14C082FF18C0F80164
+:102D5000418952896389748980859185A285B3856B
+:102D600084179507A607B70751F0C801F2DB811158
+:102D700006C081E0F80180838FEF9FEF37C16301C8
+:102D800083C0D80159968D919C915A97FC01F4818A
+:102D9000F1501A012B0169E0569447943794279417
+:102DA0006A95D1F7F221FD834A0121E09222FF23A7
+:102DB00009F476C080E092E08819990976018C15B3
+:102DC0009D0508F47C01D8015996ED91FC915A9724
+:102DD00014962D903D904D905C901797B2E02B1A71
+:102DE000310841085108058404C0220C331C441CDE
+:102DF000551C0A94D2F786859785A089B189280E3B
+:102E0000391E4A1E5B1EED812E0E311C411C511CC9
+:102E1000E114F2E0FF0609F089C08091EB07909180
+:102E2000EC07A091ED07B091EE0782159305A4057C
+:102E3000B50569F41092E8058FEF9FEFDC018093F0
+:102E4000EB079093EC07A093ED07B093EE07950185
+:102E5000B201A1018091E9059091EA050E94E73B4A
+:102E6000882309F486CFF80180859185A285B385F2
+:102E70008E0D9F1DA11DB11D80879187A287B387ED
+:102E8000AE0CBF1CCE18DF08D80118964D915D918D
+:102E90006D917C911B97C114D10409F072CF7AC057
+:102EA0008114910409F086CF14964D915D916D9136
+:102EB0007C911797411551056105710559F4559697
+:102EC0008D919D910D90BC91A02D0097A105B1050C
+:102ED00039F520C09E012F5F3F4F18D1882309F498
+:102EE00048CF89819A81AB81BC81F801218D328DD7
+:102EF000F9012789203139F4883FFFEF9F07A105A9
+:102F0000B10540F40DC0883F2FEF9207A2072FE0D4
+:102F1000B20730F0C8010E94580F81114BCF29CF62
+:102F2000F80184839583A683B78344CF81149104E9
+:102F300011F5D80118964D915D916D917C911B977B
+:102F400051968D919D910D90BC91A02D48175907D8
+:102F50006A077B0780F062D0882309F40ACF81E0FA
+:102F60008093E8052092EB073092EC074092ED0742
+:102F70005092EE0707C041E0C201B1018FD0882313
+:102F800009F4F7CEA701B501C40185519A4F0E94FB
+:102F9000F5B569CF51968D919D910D90BC91A02D65
+:102FA000F801218184179507A607B70738F4418BEC
+:102FB000528B638B748B206821830CC08091E20557
+:102FC0009091E305892B31F06114710419F02068A8
+:102FD000F8012183D80111968C9183FD02C0C301B1
+:102FE00005C0C8014FDB8111FACFC3CE0F900F90FF
+:102FF0000F900F900F90DF91CF911F910F91FF9045
+:10300000EF90DF90CF90BF90AF909F908F907F9088
+:103010006F905F904F903F902F900895CF93809145
+:10302000E8058823B9F14091EB075091EC076091D6
+:10303000ED077091EE072BEE35E08091E905909158
+:10304000EA050E94E73BC82F811102C0C0E023C0FF
+:103050004091E4055091E5056091E6057091E70522
+:10306000411551056105710591F02BEE35E0809118
+:10307000E9059091EA050E94E73B882339F3109215
+:10308000E4051092E5051092E6051092E70510920E
+:10309000E80501C0C1E08C2FCF910895CF92DF9257
+:1030A000EF92FF92CF936B017C01C42F8091EB07CD
+:1030B0009091EC07A091ED07B091EE078C159D055E
+:1030C000AE05BF05C9F0AADF811102C080E018C0BB
+:1030D0002BEE35E0B701A6018091E9059091EA0554
+:1030E0000E94723B882391F3C092EB07D092EC07C9
+:1030F000E092ED07F092EE0781E0C1118093E805C0
+:10310000CF91FF90EF90DF90CF9008958F929F9294
+:10311000AF92BF92CF92DF92EF92FF920F931F93E5
+:10312000CF93DF93EC016A017B01890189859A8540
+:10313000AB85BC850196A11DB11D84179507A60717
+:10314000B70710F480E054C08F89803129F49927A3
+:10315000872F762F652F0BC08032A1F7CB01BA01E4
+:1031600027E096958795779567952A95D1F78B886F
+:103170009C88AD88BE88680D791D8A1D9B1D809036
+:10318000EB079090EC07A090ED07B090EE07681564
+:1031900079058A059B0581F48F89803191F4DD24BE
+:1031A000EE24FF24F601EE0FFF1FE551FA4F808158
+:1031B0009181A0E0B0E016C040E070DF8111ECCF5B
+:1031C000C1CFE894C7F8DD24EE24FF24F601EE0F0A
+:1031D000FF1FEE0FFF1FE551FA4F80819181A28101
+:1031E000B381BF70F80180839183A283B38381E0B0
+:1031F000DF91CF911F910F91FF90EF90DF90CF90D3
+:10320000BF90AF909F908F9008954F925F926F9272
+:103210007F92AF92BF92CF92DF92EF92FF920F9385
+:103220001F93CF93DF9300D01F92CDB7DEB78C01F1
+:1032300049835A836B837C835901C12CD12C76013D
+:10324000412C42E0542E612C712C49815A816B81B2
+:103250007C819E012F5F3F4FC80158DF882341F1D9
+:10326000D301C201F801058404C0880F991FAA1F69
+:10327000BB1F0A94D2F7C80ED91EEA1EFB1E498155
+:103280005A816B817C818789803139F481E0483FA4
+:103290005F4F6105710538F4D8CF81E0483F5F4F3B
+:1032A0006F4F7F4090F2F501C082D182E282F382BB
+:1032B0000F900F900F900F90DF91CF911F910F9172
+:1032C000FF90EF90DF90CF90BF90AF907F906F9086
+:1032D0005F904F9008954F925F926F927F928F927E
+:1032E0009F92AF92BF92CF92DF92EF92FF920F9395
+:1032F0001F93CF93DF93EC014A015B012801390151
+:10330000423051056105710508F462C049855A854E
+:103310006B857C854F5F5F4F6F4F7F4F4815590519
+:103320006A057B0508F454C08F89803129F4FF2495
+:10333000EB2CDA2CC92C0CC0803209F049C0750185
+:10334000640177E0F694E794D794C7947A95D1F71F
+:103350004B895C896D897E89C40ED51EE61EF71ED9
+:1033600041E0C701B6019ADE882391F19F8990312F
+:1033700059F49924AA24BB24F401EE0FFF1FE55150
+:10338000FA4F5182408210C0E89487F89924AA2409
+:10339000BB24F401EE0FFF1FEE0FFF1FE551FA4FA4
+:1033A00040825182628273829A89923090F04D817C
+:1033B0005E816F8178854C0D5D1D6E1D7F1D409374
+:1033C000E4055093E5056093E6057093E70501C0B9
+:1033D00080E0DF91CF911F910F91FF90EF90DF90F0
+:1033E000CF90BF90AF909F908F907F906F905F90A5
+:1033F0004F9008952F923F924F925F926F927F92DB
+:103400008F929F92AF92BF92CF92DF92EF92FF92F4
+:103410000F931F93CF93DF93CDB7DEB72F970FB6E0
+:10342000F894DEBF0FBECDBF1C014C875D876E8751
+:103430007F873B872A87DC0119960D911D912D917D
+:103440003C911C970F5F1F4F2F4F3F4F0D831E83E3
+:103450002F833887EA85FB8580809180A280B380A6
+:1034600081149104A104B10431F0FFEF8F1A9F0A77
+:10347000AF0ABF0A10C0DC018D909D90AD90BC904A
+:10348000B1E0B9870C851D852E853F85013011057A
+:103490002105310509F0198675016401412C512C73
+:1034A0003201F10181859285A385B48548165906BC
+:1034B0006A067B0608F04EC00D811E812F8138857B
+:1034C0000C151D052E053F0550F4F2E0CF2ED12C32
+:1034D000E12CF12CA2E08A2E912CA12CB12C9E0182
+:1034E0002F5F3F4FB701A601C10110DE882391F184
+:1034F00049815A816B817C81D701C6010196A11D4A
+:10350000B11D452B462B472B19F04C015D010FC017
+:10351000AC01BD01481959096A097B090C851D8553
+:103520002E853F85401751076207730741F01FEF53
+:10353000411A510A610A710A6C017D01B2CF0FEF85
+:103540001FEF2FEF3FE0B701A601C101C4DE8D835D
+:10355000811113C01D823DC02601370121E0421AAE
+:1035600051086108710897018601B301A201C101E8
+:10357000B2DE882379F3730162018C149D04AE04DA
+:10358000BF0450F3AA85BB854D915D916D917C91EF
+:103590004115510561057105A9F4EA85FB85808215
+:1035A0009182A282B382F985FF2399F00FEF801AEE
+:1035B000900AA00AB00AD1018D929D92AD92BC9260
+:1035C000139707C095018401C10185DE8111E5CF04
+:1035D000C1CF8D812F960FB6F894DEBF0FBECDBF41
+:1035E000DF91CF911F910F91FF90EF90DF90CF90DF
+:1035F000BF90AF909F908F907F906F905F904F9013
+:103600003F902F900895AF92BF92CF92DF92EF92AA
+:10361000FF920F931F93CF93DF9300D01F92CDB7EC
+:10362000DEB75C016A017B0182E090E0A0E0B0E0DF
+:10363000F50180839183A283B3839E012F5F3F4F67
+:10364000B701A601C50162DD811102C080E023C07F
+:1036500000E010E09801B701A601C5013CDE882317
+:10366000A9F3C980DA80EB80FC80F501878980317D
+:1036700049F481E0F8EFCF16FFEFDF06E104F10433
+:1036800050F4DBCF81E098EFC9169FEFD906E90629
+:103690009FE0F90690F20F900F900F900F90DF913E
+:1036A000CF911F910F91FF90EF90DF90CF90BF903F
+:1036B000AF9008957F928F929F92AF92BF92CF92D8
+:1036C000DF92EF92FF920F931F93CF93DF93EC0162
+:1036D000142F7093EA056093E9051F8A82E090E059
+:1036E000A0E0B0E088839983AA83BB831092E805A9
+:1036F0001092E4051092E5051092E6051092E70598
+:103700008FEF9FEFDC018093EB079093EC07A09382
+:10371000ED07B093EE07442349F1453008F0DEC0D1
+:1037200040E060E070E0CB01B9DC882309F4D6C04A
+:1037300020E1129FF0011124E756F84F80818F7726
+:1037400009F0CCC084859585A685B785843691051A
+:10375000A105B10508F4C2C0C084D184E284F38419
+:10376000C114D104E104F10421F4B8C0C12CD12C5E
+:10377000760140E0C701B60191DC782E882309F478
+:10378000ADC08091F6059091F7058115924009F042
+:10379000A5C03091FB05332309F4A0C08091F90541
+:1037A0009091FA05892B09F499C02091F8052223FC
+:1037B00009F494C03A8B2C831D8630E041E050E040
+:1037C0006D85062FCA01062E02C0880F991F0A9424
+:1037D000E2F72817390731F081E0860F8D876830CE
+:1037E00078F37CC020910106309102062115310545
+:1037F00019F040E050E008C020910F06309110060B
+:1038000040911106509112062D833E834F835887B5
+:103810008091F9059091FA0546015701880E991E8D
+:10382000A11CB11C8B8A9C8AAD8ABE8AE091FC05E2
+:10383000F091FD05F98FE88FA091FB05B0E00E94A3
+:10384000C8B2680D791D8A1D9B1D6A8F7B8F8C8F76
+:103850009D8FB5E0EE0FFF1FBA95E1F7E150FE4FE7
+:10386000EF2FFF27E695DC01CB018E0F9F1FA11DD7
+:10387000B11D8E879F87A88BB98B8090FE05909095
+:10388000FF058114910419F0A12CB12C08C080907F
+:103890000B0690900C06A0900D06B0900E06A701A6
+:1038A0009601281B390B4A0B5B0BDA01C901880D05
+:1038B000991DAA1DBB1D04C0B695A7959795879520
+:1038C0000A95D2F789879A87AB87BC87853F3FE007
+:1038D0009307A105B10520F48CE08F8B712C15C0E6
+:1038E000853F9F4FA105B10510F480E10DC0809187
+:1038F000170690911806A0911906B0911A068A8FA2
+:103900009B8FAC8FBD8F80E28F8B872DDF91CF9106
+:103910001F910F91FF90EF90DF90CF90BF90AF90ED
+:103920009F908F907F9008954F925F926F927F92B9
+:103930008F929F92AF92BF92CF92DF92EF92FF92BF
+:103940000F931F93CF93DF932C0124E733E081E0A3
+:1039500090E0F90145915491441655060CF062C06F
+:10396000AC0141505109DA01AA0FBB1FAA0FBB1FBE
+:10397000AE58BC4FFD0165917491440F551F440F23
+:10398000551F40595C4FFA0165907490FC01EE0F91
+:10399000FF1FEE0FFF1FEE58FC4FA590B490FD01E6
+:1039A00005911491F901C591D491FA0185909490F3
+:1039B000882777FD8095982F0E9442AF6B017C018C
+:1039C000B20166197709882777FD8095982F0E94A4
+:1039D00042AF2B013C01B501601B710B882777FDBD
+:1039E0008095982F0E9442AF9B01AC01C301B201A8
+:1039F0000E9475B12B013C01BE0168197909882725
+:103A000077FD8095982F0E9442AF9B01AC01C301C6
+:103A1000B2010E94A7AE9B01AC01C701B6010E9492
+:103A2000C7AD11C001962C5F3F4F8D33910509F052
+:103A300090CFE2E6F4E065917491882777FD809558
+:103A4000982F0E9442AFDF91CF911F910F91FF906D
+:103A5000EF90DF90CF90BF90AF909F908F907F902E
+:103A60006F905F904F9008954F925F926F927F9208
+:103A70008F929F92AF92BF92CF92DF92EF92FF927E
+:103A80000F931F93CF93DF932C01662371F1E5E32E
+:103A9000FEE08491882341F09091C00095FFFCCF17
+:103AA0008093C6003196F5CF70E04AE050E08CE993
+:103AB0009DE00E945A8AE9E5F2E08491882341F072
+:103AC0009091C00095FFFCCF8093C6003196F5CF52
+:103AD0008091C00085FFFCCF8AE08093C6000E94E1
+:103AE000224560E070E0CB017EC024E733E081E056
+:103AF00090E0F90145915491441655060CF062C0CE
+:103B0000AC0141505109DA01AA0FBB1FAA0FBB1F1C
+:103B1000AE58BC4FFD0165917491440F551F440F81
+:103B2000551F40595C4FFA0165907490FC01EE0FEF
+:103B3000FF1FEE0FFF1FEE58FC4FA590B490FD0144
+:103B400005911491F901C591D491FA018590949051
+:103B5000882777FD8095982F0E9442AF6B017C01EA
+:103B6000B20166197709882777FD8095982F0E9402
+:103B700042AF2B013C01B501601B710B882777FD1B
+:103B80008095982F0E9442AF9B01AC01C301B20106
+:103B90000E9475B12B013C01BE0168197909882783
+:103BA00077FD8095982F0E9442AF9B01AC01C30125
+:103BB000B2010E94A7AE9B01AC01C701B6010E94F1
+:103BC000C7AD11C001962C5F3F4F8D33910509F0B1
+:103BD00090CFE2E6F4E065917491882777FD8095B7
+:103BE000982F0E9442AFDF91CF911F910F91FF90CC
+:103BF000EF90DF90CF90BF90AF909F908F907F908D
+:103C00006F905F904F90089560E08091440890918C
+:103C100045082ADF6093400870934108809342086A
+:103C20009093430880913E0890913F087DDE609319
+:103C30003A0870933B0880933C0890933D088FB7F7
+:103C4000F894109232088FBF089520911402309199
+:103C50001502409116025091170260E070E08FE764
+:103C600093E40E94A7AE60931208709313088093A8
+:103C7000140890931508089597FF03C080913908A0
+:103C800004C0FC01E45FF74F808190E00895CF937A
+:103C9000DF93D82FC62FC19561E00E9451A86C2FE9
+:103CA0008D2F0E948AA86C2F70E08D2FDF91CF910D
+:103CB0000C9447A7CF93C1E020E030E048E452E401
+:103CC00060914008709141088091420890914308AA
+:103CD0000E94A3B018160CF0C0E06C2F86E090E0B4
+:103CE000CF91D5CF2F923F924F925F926F927F925A
+:103CF0008F929F92AF92BF92CF92DF92EF92FF92FC
+:103D00000F931F93CF93DF93CDB7DEB728970FB6EE
+:103D1000F894DEBF0FBECDBF80913208882309F42E
+:103D2000F8C172DF8090400890904108A09042084E
+:103D3000B09043080091480810914908B8018827BD
+:103D400077FD8095982F0E9442AFA50194010E94B3
+:103D5000C6AD6B017C0160931A0870931B088093B9
+:103D60001C0890931D0820E030E040E251E40E94DE
+:103D7000A3B0181624F481E080931108F7C020E066
+:103D800030E040E251ECC701B6010E94A0AE87FDD1
+:103D900002C0012B21F481E0809311080CC18091B5
+:103DA0001108882351F010922E0810922F081092BB
+:103DB00030081092310810921108209118023091A9
+:103DC000190240911A0250911B02C701B6010E94CC
+:103DD00075B169837A838B839C8360932608709383
+:103DE0002708809328089093290820912E08309165
+:103DF0002F084091300850913108C701B6010E9448
+:103E0000C7AD2B013C012090160830901708109187
+:103E10001808009119089101412F502F0E94A0AE5F
+:103E200087FD14C0209012083090130810911408D8
+:103E3000009115089101412F502FB201C3010E943A
+:103E4000A3B018161CF01201162D072DC101A12FC9
+:103E5000B02F80932E0890932F08A0933008B09332
+:103E600031082091140230911502409116025091B0
+:103E70001702B101812F902F0E9475B16D837E834F
+:103E80008F83988760932208709323088093240877
+:103E90009093250820912A0830912B0840912C08F6
+:103EA00050912D08C501B4010E94C6AD20911002A9
+:103EB0003091110240911202509113020E9475B18B
+:103EC00020ED3CEC4CE45DE30E9475B12B013C011C
+:103ED00023E333E343E75FE360911E0870911F081B
+:103EE00080912008909121080E9475B19B01AC013E
+:103EF000C301B2010E94C7AD2B013C0160931E08B3
+:103F000070931F0880932008909321082D813E8193
+:103F10004F81588569817A818B819C810E94C7ADD0
+:103F2000A30192010E94C6AD2B013C0120E030E0CC
+:103F30004FE753E40E94A3B020E030E0A901181637
+:103F4000E4F4C701B6010E94A3B018167CF4A701DF
+:103F50009601B101812F902F0E94C6AD60932E086B
+:103F600070932F088093300890933108412C512C86
+:103F70009FE7692E93E4792E21C0C301B2010E940C
+:103F8000A0AE87FF1BC020E030E0A901C701B60149
+:103F90000E94A0AE87FF0FC0A7019601B101812F3B
+:103FA000902F0E94C6AD60932E0870932F088093C7
+:103FB000300890933108412C512C320180922A080C
+:103FC00090922B08A0922C08B0922D0860910408C2
+:103FD00070910508882777FD8095982F0E9442AF41
+:103FE0009B01AC01C501B4010E94A3B01816DCF41A
+:103FF0006091080270910902882777FD8095982FBB
+:104000000E9442AF9B01AC01C501B4010E94A0AE69
+:1040100087FF09C0C301B2010E940FAF7595679574
+:1040200060930C0802C010920C080E9431A9009104
+:1040300008081091090820910A0830910B08601BAC
+:10404000710B820B930B653C79408105910558F00B
+:1040500031DE0E9431A960930808709309088093AB
+:104060000A0890930B080E9431A900910D08109145
+:104070000E0820910F0830911008601B710B820B05
+:10408000930B683873418105910508F442C00E9482
+:1040900031A960930D0870930E0880930F089093D8
+:1040A0001008C0903A08D0903B08E0903C08F0908F
+:1040B0003D0820E030E040E751E4C701B6010E942E
+:1040C000A3B018161CF520E030E046E153E4C70128
+:1040D000B6010E94A0AE87FF19C06091460870919A
+:1040E0004708882777FD8095982F0E9442AF9B0153
+:1040F000AC01C701B6010E94A3B087FD03C01092B6
+:10410000390807C08FE78093390803C01092390837
+:10411000A59828960FB6F894DEBF0FBECDBFDF91ED
+:10412000CF911F910F91FF90EF90DF90CF90BF90B4
+:10413000AF909F908F907F906F905F904F903F9047
+:104140002F900895CF93DF931092160810921708BE
+:10415000109218081092190820911402309115023B
+:10416000409116025091170260E070E08FE793E4EF
+:104170000E94A7AE609312087093130880931408EE
+:10418000909315086D9A80910101806180930101DF
+:104190009D9A8091010180628093010187ED809357
+:1041A0007A0010927E0010927D0080917E008160E6
+:1041B00080937E0080917E00826080937E0080915B
+:1041C0007E00846080937E0080E888BD80916E00D0
+:1041D000846080936E006AEF70E080E090E00E945F
+:1041E00060A98FE090E0909305088093040860E058
+:1041F00080910A0290910B0237DC20E030E040E72A
+:1042000051E40E94A0AE87FF0AC080910A029091FB
+:104210000B02409790930B0280930A02E8CF8BE346
+:1042200091E0909309028093080260E08091060873
+:104230009091070819DC20E030E84DE953E40E9432
+:10424000A3B0181654F48091060890910708409680
+:104250009093070880930608E8CFC0910208D09198
+:104260000308CE0161DB20E030E046E153E40E9428
+:10427000A3B0181634F46096D0930308C0930208D4
+:10428000ECCFDF91CF9108950895109249081092D4
+:104290004808109247081092460810920C0875982A
+:1042A000109247081092460810923908A598089570
+:1042B0002F923F924F925F926F927F928F929F9236
+:1042C000AF92BF92CF92DF92EF92FF920F931F9324
+:1042D000CF93DF93CDB7DEB7AE970FB6F894DEBFBE
+:1042E0000FBECDBF6B8F7C8F8D8F292E5A8749874C
+:1042F0003CA72BA70E9431A96F8F78A389A39AA30B
+:104300000E9431A96FA378A789A79AA729853A8522
+:10431000121613061CF0E4E2F3E017C0E7E3F3E043
+:104320008191882339F09091C00095FFFCCF809354
+:10433000C600F6CF8091C00085FFFCCF1BC29091D4
+:10434000C00095FFFCCF8093C60081918111F7CF0B
+:104350008091C00085FFFCCF8AE08093C60095DF86
+:1043600049855A858FE7452B99F1809339088F8DC0
+:1043700098A1A9A1BAA1898B9A8BAB8BBC8B8D8795
+:104380009E87AF87B88B1D8290E4988FACE1A98F90
+:10439000B6E4BA8F1DA61D8A1E8A1F8A2FE730E059
+:1043A00040E050E029833A834B835C83EFE74E2E55
+:1043B000512C612C712C1BA21CA21DA21EA231E04B
+:1043C0003E8F1C861B86312C00E010E01EA605C027
+:1043D00080930C08CCCF0E949C7680913208882371
+:1043E00009F4F6C011DC49855A85452B51F030900F
+:1043F0003A0800913B0810913C0850913D085EA797
+:1044000009C0309040080091410810914208809105
+:1044100043088EA7232D302F412F5EA56DA57D89E2
+:104420008E899F890E94A3B018162CF03DA60D8B93
+:104430001E8B9EA59F8B232D302F412F5EA56D8156
+:10444000788D898D9A8D0E94A0AE87FD05C03D8232
+:10445000088F198FAEA5AA8F0E9431A92FA138A568
+:1044600049A55AA5621B730B840B950B653C7940DB
+:104470008105910538F01EDC0E9431A96FA378A751
+:1044800089A79AA74E8D442309F44FC02B8D3C8DEC
+:104490004D8D522D632D702F812F9EA50E94A3B0AC
+:1044A00018160CF095C00E9431A929893A894B89C8
+:1044B0005C89621B730B840B950B69387341810512
+:1044C000910508F485C0D301C20129813A814B814D
+:1044D0005C81821B930BA40BB50B49855A85B5955E
+:1044E000A79597958795452B19F08093390802C0B9
+:1044F00080930C080E9431A96D877E878F87988BE7
+:10450000DC01CB0129893A894B895C89821B930B99
+:10451000A40BB50B8BA39CA3ADA3BEA33B8D3DA762
+:104520004C8D4D8B5D8D5E8B2F8A2B8D3C8D4D8DF3
+:10453000522D632D702F812F9EA50E94A0AE87FF64
+:10454000EEC20E9431A92D853E854F855889621B98
+:10455000730B840B950B693873418105910508F441
+:10456000DEC20E9431A9698B7A8B8B8B9C8BDC011C
+:10457000CB012D853E854F855889821B930BA40B5B
+:10458000B50B4B855C85452B09F010C189819A815B
+:10459000AB81BC81840D951DA61DB71D29853A856B
+:1045A000B595A79597958795232B09F4B5C2809368
+:1045B00039084B855C854F5F5F4F5C874B875B8D10
+:1045C0005D838C8D888F9D8D998F2A8EA1E0AE8F13
+:1045D00020E030E040EA51E46B8D7C8D8D8D922D92
+:1045E0000E94C7AD9B01AC01632D702F812F9EA54A
+:1045F0000E94A3B0181694F4EFEFF2E084918823A0
+:1046000041F09091C00095FFFCCF8093C600319699
+:10461000F5CF8091C00085FFFCCFACC00E9431A9CE
+:104620002F8D38A149A15AA1621B730B840B950BE6
+:10463000613D77408105910508F44FC049855A8551
+:10464000452B81F0E0903908F12CE9EFF2E08491FC
+:104650008823C1F09091C00095FFFCCF8093C600E5
+:104660003196F5CFE0900C08F12CE3EFF2E0849165
+:10467000882341F09091C00095FFFCCF8093C60045
+:104680003196F5CF22E030E0432D502F612F7EA5EB
+:104690008CE99DE00E94308BEFEEF2E0849188235C
+:1046A00041F09091C00095FFFCCF8093C6003196F9
+:1046B000F5CF4AE050E0B7018CE99DE00E945A8AAC
+:1046C0008091C00085FFFCCF8AE08093C6000E94E5
+:1046D00031A96F8F78A389A39AA30E9431A96B0196
+:1046E0007C010E9431A989889A88AB88BC882D8575
+:1046F0003E854F855889820E931EA41EB51EC8188C
+:10470000D908EA08FB08C60ED71EE81EF91E31E8D4
+:10471000C3163FE4D30632E1E306F10490F0E2ED84
+:10472000F2E08491882341F09091C00095FFFCCF86
+:104730008093C6003196F5CF8091C00085FFFCCFF5
+:1047400019C04B855C858BA59CA5841795070CF03B
+:1047500042CEE6E7F2E08491882341F09091C000D8
+:1047600095FFFCCF8093C6003196F5CF8091C000B5
+:1047700085FFFCCF8AE08093C600AE960FB6F89412
+:10478000DEBF0FBECDBFDF91CF911F910F91FF9084
+:10479000EF90DF90CF90BF90AF909F908F907F90E1
+:1047A0006F905F904F903F902F9008958BA09CA0AA
+:1047B000ADA0BEA0880E991EAA1EBB1E2BA13CA1B7
+:1047C0004DA15EA1281B390B4A0B5B0BCA01B90135
+:1047D00029813A814B815C810E943BB2A501940101
+:1047E0000E94A0B2240D351D461D571D24313105F0
+:1047F0004105510504F129013A013CEE43165104EB
+:10480000610471042CF06BEE462E512C612C712C3E
+:1048100040E84416510461047104DCF08EEF90E02E
+:10482000A0E0B0E084199509A609B70989839A83A5
+:10483000AB83BC8312C054E1452E512C612C712CEA
+:1048400024E130E040E050E029833A834B835C83ED
+:1048500004C049825A826B827C82E8E6F3E084914C
+:10486000882341F09091C00095FFFCCF8093C60053
+:104870003196F5CF2AE030E0B301A2018CE99DE04A
+:104880000E94378AE3E6F3E08491882341F0909117
+:10489000C00095FFFCCF8093C6003196F5CF2AE08B
+:1048A00030E049815A816B817C818CE99DE00E94D6
+:1048B000378AECE5F3E08491882341F09091C000C1
+:1048C00095FFFCCF8093C6003196F5CF22E030E013
+:1048D0004D81588D698D7A8D8CE99DE00E94308BD9
+:1048E000E5E5F3E08491882341F09091C00095FFC5
+:1048F000FCCF8093C6003196F5CF22E030E04DA585
+:104900005D896E897F898CE99DE00E94308B809162
+:10491000C00085FFFCCF8AE08093C6002B853C85D4
+:10492000233031050CF432CE69817A818B819C81F0
+:104930000E9442AF20E030E040E850E40E9475B1B0
+:104940006B017C012D81388D498D5A8D6DA57D8936
+:104950008E899F890E94C6AD20ED3FE049E450E476
+:104960000E9475B120E030E040E05FE30E9475B145
+:104970009B01AC01C701B6010E94A7AE6B017C018F
+:10498000C501B4010E9442AF20E030E04AE754E4A0
+:104990000E94A7AE4B015C01EFE4F3E08491882311
+:1049A00041F09091C00095FFFCCF8093C6003196F6
+:1049B000F5CF22E030E0B701A6018CE99DE00E942E
+:1049C000308BE9E4F3E08491882341F09091C000BA
+:1049D00095FFFCCF8093C6003196F5CF22E030E002
+:1049E000B501A4018CE99DE00E94308B8091C0004C
+:1049F00085FFFCCF8AE08093C6002AE939E949E1C6
+:104A00005FE3C701B6010E9475B16B017C019B0198
+:104A1000AC010E94C7ADA50194010E94A7AE6D83B1
+:104A20007E838F839887A5019401C701B6010E94F8
+:104A300075B120E030E040E05EE30E9475B14B01CB
+:104A40005C01EBE3F3E08491882341F09091C00096
+:104A500095FFFCCF8093C6003196F5CF8091C000C2
+:104A600085FFFCCF8AE08093C600E5E3F3E0849104
+:104A7000882341F09091C00095FFFCCF8093C60041
+:104A80003196F5CF22E030E0B701A6018CE99DE038
+:104A90000E94308B8091C00085FFFCCF8AE080931C
+:104AA000C600EFE2F3E08491882341F09091C000CA
+:104AB00095FFFCCF8093C6003196F5CF22E030E021
+:104AC0004D815E816F8178858CE99DE00E94308BFD
+:104AD0008091C00085FFFCCF8AE08093C600E9E2A8
+:104AE000F3E08491882341F09091C00095FFFCCFC2
+:104AF0008093C6003196F5CF22E030E0B501A401E5
+:104B00008CE99DE00E94308B8091C00085FFFCCF36
+:104B10008AE08093C6003ACD80930C084ACD1E8E61
+:104B200057CDCF93C82FB1DB0E94E949811134C022
+:104B3000E5E3FEE09491992341F08091C00085FF68
+:104B4000FCCF9093C6003196F5CF6C2F70E04AE011
+:104B500050E08CE99DE00E945A8A8091C00085FF58
+:104B6000FCCF8AE08093C600ECE2F2E084918823D7
+:104B700041F09091C00095FFFCCF8093C600319624
+:104B8000F5CF8091C00085FFFCCF8AE08093C600FE
+:104B90008FE192E00E940D76CF910C94AA49CF93B9
+:104BA000C82F73DB0E94E949811134C0E5E3FEE0C0
+:104BB0009491992341F08091C00085FFFCCF9093A0
+:104BC000C6003196F5CF6C2F70E04AE050E08CE9DA
+:104BD0009DE00E945A8A8091C00085FFFCCF8AE048
+:104BE0008093C600E2EFF1E08491882341F0909138
+:104BF000C00095FFFCCF8093C6003196F5CF809121
+:104C0000C00085FFFCCF8AE08093C60085EE91E06E
+:104C10000E940D76CF910C94AA49A5980E94E9496B
+:104C2000811125C0E5E3FEE08491882341F0909155
+:104C3000C00095FFFCCF8093C6003196F5CFEBEA1C
+:104C4000F1E08491882341F09091C00095FFFCCF62
+:104C50008093C6003196F5CF8091C00085FFFCCFD0
+:104C60008AE08093C6008AE991E00E940D760C9458
+:104C7000AA491F920F920FB60F9211240BB60F92F2
+:104C80000F931F932F933F934F935F936F937F9354
+:104C90008F939F93AF93BF93CF93DF93EF93FF9344
+:104CA00080910702811112C080910C088093010845
+:104CB000882311F0759A01C0759880913908809306
+:104CC0000008882311F0A59A01C0A59890910108C9
+:104CD00080910702981708F47598909100088091C8
+:104CE0000702981708F4A598809107028F5F8F77C5
+:104CF000809307028091060290E08B30910508F0C6
+:104D000093C0FC01EE58FF4F0C94BCB210927B0094
+:104D100080E480937C0080917A00806480937A00A4
+:104D20000E94167681E019C02091780030917900B8
+:104D30008091FC079091FD07A091FE07B091FF07BD
+:104D4000820F931FA11DB11D8093FC079093FD0757
+:104D5000A093FE07B093FF0782E08093060264C031
+:104D600010927B0082E480937C0080917A008064C2
+:104D700080937A000E94167683E0EFCF209178002E
+:104D8000309179008091F8079091F907A091FA0786
+:104D9000B091FB07820F931FA11DB11D8093F807EF
+:104DA0009093F907A093FA07B093FB0784E0D5CF5F
+:104DB00010927B0081E480937C0080917A00806473
+:104DC00080937A000E94167685E0C7CF2091780004
+:104DD000309179008091F4079091F507A091F60742
+:104DE000B091F707820F931FA11DB11D8093F407A7
+:104DF0009093F507A093F607B093F70786E0ADCF41
+:104E00000E94167687E0A9CF88E0A7CF0E94167689
+:104E100089E0A3CF109206028091F3078F5F809301
+:104E2000F30702C0109206028091F307803108F464
+:104E300063C080913208811110C08091FC0790916D
+:104E4000FD0790934508809344088091F80790915E
+:104E5000F90790933F0880933E0881E080933208E1
+:104E60001092F3071092FC071092FD071092FE07B4
+:104E70001092FF071092F4071092F5071092F607B0
+:104E80001092F7071092EF071092F0071092F107B7
+:104E90001092F2071092F8071092F9071092FA0791
+:104EA0001092FB0720914408309145088091060834
+:104EB000909107088217930714F080E032DE20916A
+:104EC00044083091450880910A0290910B022817FE
+:104ED000390714F080E063DE20913E0830913F08EE
+:104EE0008091020890910308821793072CF010928A
+:104EF00047081092460891DE00E010E0E801CC0F70
+:104F0000DD1FCD5CD74F888199811816190644F4AE
+:104F100061E0802F0E94D59388819981019709C013
+:104F2000892B49F060E0802F0E94D5938881998178
+:104F30000196998388830F5F1F4F03301105F1F6A7
+:104F4000FF91EF91DF91CF91BF91AF919F918F91A1
+:104F50007F916F915F914F913F912F911F910F9191
+:104F60000F900BBE0F900FBE0F901F9018952CEA5C
+:104F700035EC47E25EE30C9475B12CEA35EC47E280
+:104F80005EE30C94A7AE2CEA35EC47E25EE30C94AA
+:104F9000A7AE2CEA35EC47E25EE30C9475B1CF93F3
+:104FA000DF93EC0160E08E810E948AA881E090E0AE
+:104FB0000E9484A961E08E810E948AA881E090E02D
+:104FC0000E9484A960E08E810E948AA884E690E015
+:104FD000DF91CF910C9484A9CF92DF92EF92FF9250
+:104FE0000F931F93CF93DF937C01C0E0D0E0C62ED8
+:104FF000D12C87010C0F1D1F61E0F80187810E94F1
+:1050000051A8B6010C2E02C0759567950A94E2F777
+:105010006170F80187810E948AA82196C430D10569
+:1050200041F7C701DF91CF911F910F91FF90EF9052
+:10503000DF90CF90B4CFCF92DF92EF92FF920F9399
+:105040001F93CF93DF937C01C0E0D0E0C62ED12C1C
+:1050500087010C0F1D1F61E0F80187810E9451A894
+:10506000B6010C2E02C0759567950A94E2F761703F
+:10507000F80187810E948AA82196C830D10541F79E
+:10508000C701DF91CF911F910F91FF90EF90DF90BB
+:10509000CF9085CF1F93CF93DF93EC01162F642F12
+:1050A0008C810E948AA88D818F3F19F060E00E9458
+:1050B0008AA88F85612F84FF05C0CE01DF91CF9133
+:1050C0001F91B9CF70E084E0759567958A95E1F7F7
+:1050D000CE0182DF612FCE01DF91CF911F917CCF76
+:1050E00040E0D8CF61E0FCDF80E496E00C9484A936
+:1050F00062E0F6DF80E496E00C9484A9CF93DF931E
+:10510000CDB7DEB728970FB6F894DEBF0FBECDBF80
+:1051100028E0E7EAF2E0DE01119601900D922A956F
+:10512000E1F7FC012389421710F04FEF420FFE0117
+:105130003196E40FF11DE40FF11D2081260F206848
+:10514000622F28960FB6F894DEBF0FBECDBFDF9159
+:10515000CF91C6CFFC016089262F2460208B6C6024
+:10516000BFCFCF93DF93EC01423018F08F8588607A
+:105170008F874B8B1C8A222329F0413019F48F85AD
+:1051800084608F8780E593EC0E9484A960E08C8125
+:105190000E948AA860E08E810E948AA88D818F3F3C
+:1051A00019F060E00E948AA86F8564FD19C063E071
+:1051B000CE0112DF84E991E10E9484A963E0CE016F
+:1051C0000BDF84E991E10E9484A963E0CE0104DF52
+:1051D00086E990E00E9484A962E0CE01FDDE13C062
+:1051E0006062CE017DDF84E991E10E9484A96F8530
+:1051F0006062CE0175DF86E990E00E9484A96F8528
+:105200006062CE016DDF6F856062CE0169DF84E090
+:10521000888BCE019FDFCE0165DF82E0898B66E05F
+:10522000CE01DF91CF915CCF6F927F928F92AF9240
+:10523000CF92EF920F931F93CF93DF93CDB7DEB74B
+:105240003C01162F842F5E854F8538899989F3019B
+:10525000848325830683E782C086A186828653875E
+:1052600044873587968761E00E9451A8F3018581C4
+:105270008F3F19F061E00E9451A861E0F30186813F
+:105280000E9451A8112319F0F301178603C080E191
+:10529000F301878720E041E060E1C301DF91CF9116
+:1052A0001F910F91EF90CF90AF908F907F906F9064
+:1052B00058CF8F92AF92CF92EF920F93DC0113965B
+:1052C0001C921E921297E5E6F3E0ED93FC931F9279
+:1052D0001F921F921F928C2CAE2CC02EE22E042FF8
+:1052E0002FEF462F61E0A0DF0F900F900F900F90EF
+:1052F0000F91EF90CF90AF908F900895CF93DF9361
+:10530000EC01423018F08F8588608F874B8B1C8AA8
+:10531000222329F0413019F48F8584608F8780E53E
+:1053200093EC0E9484A960E08C810E948AA860E0CE
+:105330008E810E948AA88D818F3F19F060E00E94C3
+:105340008AA86F8564FD19C063E0CE0145DE84E95B
+:1053500091E10E9484A963E0CE013EDE84E991E1FF
+:105360000E9484A963E0CE0137DE86E990E00E94C6
+:1053700084A962E0CE0130DE13C06062CE01B0DEEF
+:1053800084E991E10E9484A96F856062CE01A8DE64
+:1053900086E990E00E9484A96F856062CE01A0DE5C
+:1053A0006F856062CE019CDE84E0888BCE01D2DE08
+:1053B000CE019EDE82E0898B66E0CE0191DE40E088
+:1053C00068E0CE019BDE6EE873E0CE010E94BEADC8
+:1053D00041E068E0CE0192DE6EE873E0CE010E940B
+:1053E000BEAD42E066E0CE0189DE6CE873E0CE013E
+:1053F000DF91CF910C94BEADCF92DF92EF92FF92EE
+:105400000F931F93CF93DF931F921F92CDB7DEB7F9
+:105410008C01677088E0689FB00111246064C80146
+:1054200049835A835DDE4981C42E5A81D52EE12CF1
+:10543000F12CD6016D916D01D801ED91FC91019097
+:10544000F081E02DC8011995BFEFEB1AFB0AE8E0E7
+:10545000EE16F10471F70F900F90DF91CF911F912D
+:105460000F91FF90EF90DF90CF90089541E012DE12
+:1054700081E090E008952F923F924F925F926F9259
+:105480007F928F929F92AF92BF92CF92DF92EF92D4
+:10549000FF920F931F93CF93DF93CDB7DEB7CF5417
+:1054A000D1090FB6F894DEBF0FBECDBF1C017E8FB1
+:1054B0006D8F4A012FAB09AF2896EFAE28972C9637
+:1054C000ACAEBDAECEAEDFAE2C9734E0239F500124
+:1054D0001124FC01EA0DFB1D80819181A281B38121
+:1054E000898F9A8FAB8FBC8FDA01AA0DBB1DBCAF21
+:1054F000ABAF4D905D906D907C90A3019201698D52
+:105500007A8D8B8D9C8D0E94C7AD21966CAF7DAF3F
+:105510008EAF9FAF2197B4E00B9F80011124F10162
+:10552000E00FF11F20813181428153812F8F38A3F9
+:1055300049A35AA3A401400F511F23965FAF4EAF5A
+:105540002397DA01CD90DD90ED90FC90A7019601B4
+:105550006F8D78A189A19AA10E94C7AD27966CAFE3
+:105560007DAF8EAF9FAF27972896EFAD2897B4E019
+:10557000EB9FC0011124F101E80FF91F2081318157
+:10558000428153812BA33CA34DA35EA3ED8DFE8DE1
+:10559000E80FF91F60817181828193810E94C6ADFD
+:1055A0006FA378A789A79AA7AD8DBE8D1C968D9104
+:1055B0009D910D90BC91A02D60968CAF9DAFAEAF2C
+:1055C000BFAF6097D1011C962D913D914D915C919B
+:1055D0001F972BA73CA74DA75EA7A3019201505888
+:1055E0002D8B3E8B4F8B588FD701C601B058898BBE
+:1055F0009A8BAB8BBC8BED8DFE8DEA0DFB1D208154
+:105600003181428153812FA738AB49AB5AAB2196E8
+:105610002CAD3DAD4EAD5FAD21976FA578A989A9A1
+:105620009AA90E94C6AD6B017C01ED8DFE8DE00F45
+:10563000F11F80819181A281B3818BAB9CABADAB1B
+:10564000BEAB27962CAD3DAD4EAD5FAD2797BC01EF
+:10565000CD010E94C6AD4B015C01A70196016D8989
+:105660007E898F89988D0E9475B12B013C01A5011F
+:10567000940169897A898B899C890E9475B19B0103
+:10568000AC01C301B2010E94C7AD2B013C01A501D1
+:1056900094016D897E898F89988D0E9475B14B0127
+:1056A0005C01A701960169897A898B899C890E948E
+:1056B00075B19B01AC01C501B4010E94C6ADA30147
+:1056C00092010E943AAE6B017C0120E030E0A9011A
+:1056D0000E94A0AE87FF0AC02BED3FE049EC50E4EA
+:1056E000C701B6010E94C7AD6B017C01AA968FADC0
+:1056F000AA97882351F02BED3FE049EC50E4C70115
+:10570000B6010E94C6AD6B017C012FA538A949A93D
+:105710005AA9698D7A8D8B8D9C8D0E94A0AE8111C6
+:105720001FC02BA93CA94DA95EA96F8D78A189A1A5
+:105730009AA10E94A0AE811113C020E030E0A9011F
+:10574000C701B6010E94A0AE81110AC02BED3FE057
+:1057500049EC50E4C701B6010E94C7AD6B017C0162
+:10576000A9962CAD3DAD4EAD5FADA997C701B60171
+:105770000E9475B12FA138A549A55AA55F770E944F
+:10578000B0B04B015C012FE632E143E85AE30E94DE
+:10579000A0AE87FDC8C1C501B4010E947DAF0E94C3
+:1057A00014AF7A8F698FDB01AB2B21F4E1E0F0E0DD
+:1057B000FA8FE98F298D3A8DB90180E090E00E943F
+:1057C00040AF4B015C019B01AC01C701B6010E94D7
+:1057D000A7AE2B013C01A50194016FA178A589A575
+:1057E0009AA50E94A7AE6FA778AB89AB9AAB2BA501
+:1057F0003CA54DA55EA560966CAD7DAD8EAD9FAD13
+:1058000060970E94C6ADA50194010E94A7AE6BAB44
+:105810007CAB8DAB9EAB20E030E040E05FE3C301AA
+:10582000B2010E9475B1A30192010E9475B19B0162
+:10583000AC0160E070E080E89FE30E94C6AD6FA31A
+:1058400078A789A79AA7CE010196FC0128964FADAB
+:10585000289734E0439FE00DF11D11242BA13CA1BA
+:105860004DA15EA120833183428353832BA53CA5A8
+:105870004DA55EA52D873E874F87588BB12C41E003
+:1058800050E058A34F8F1C01BFA9A4E0BA9F800D20
+:10589000911D112498AF8FAB910159AD44E0549FF5
+:1058A000200D311D11243AAF29AFFCA7EBA74F8D76
+:1058B00058A1898D9A8D4817590708F01AC188E1B7
+:1058C0008B150CF444C02FA138A549A55AA56989A8
+:1058D0007A898B899C890E9475B16B017C01A30137
+:1058E00092016D897E898F89988D0E9475B1A7017B
+:1058F00096010E94C7ADA62E172F982E892E2FA194
+:1059000038A549A55AA56D897E898F89988D0E94F1
+:1059100075B16B017C01A301920169897A898B8938
+:105920009C890E9475B19B01AC01C701B6010E9420
+:10593000C6AD6D8B7E8B8F8B988FB3948A2D912FF4
+:10594000A92DB82D898B9A8BAB8BBC8B6CC0AF8D7E
+:10595000B8A1BD0180E090E00E9440AFA301920198
+:105960000E9475B16B017C010E94A4AE698B7A8B99
+:105970008B8B9C8BC701B6010E94D8B14B015C0197
+:10598000EBADFCADC080D180E280F380F7FAF094FB
+:10599000F7F8F0942396AEADBFAD23972D913D91CE
+:1059A0004D915C912BA33CA34DA35EA329893A8919
+:1059B0004B895C89C701B6010E9475B16D8B7E8BE6
+:1059C0008F8B988FA50194016BA17CA18DA19EA1C5
+:1059D0000E9475B19B01AC016D897E898F89988D7C
+:1059E0000E94C7AD6D8B7E8B8F8B988FA501940124
+:1059F000C701B6010E9475B16B017C0129893A8902
+:105A00004B895C896BA17CA18DA19EA10E9475B17F
+:105A10009B01AC01C701B6010E94C6AD698B7A8BB0
+:105A20008B8B9C8BB12C2D893E894F89588D21966B
+:105A30006CAD7DAD8EAD9FAD21970E94C7ADEFA936
+:105A4000F8AD608371838283938329893A894B8976
+:105A50005C8927966CAD7DAD8EAD9FAD27970E947A
+:105A6000C7ADA9ADBAAD6D937D938D939C931397FC
+:105A70002FA538A949A95AA9EBA5FCA56081718178
+:105A8000828193810E94C7ADABA5BCA56D937D9328
+:105A90008D939C9313972BA93CA94DA95EA96D8565
+:105AA0007E858F8598890E94C7AD6D877E878F8799
+:105AB000988BC1010E946A41FE01E659FF4F6F01B8
+:105AC0002C96ECACFDAC0EAD1FAD2C979E01235F68
+:105AD0003F4FAE01475F5F4FBE016B5F7F4FC1011C
+:105AE0000E94779A2F8D38A12F5F3F4F38A32F8FB9
+:105AF000DECE2D8D3E8D245F3F4F4D8D5E8D485FF8
+:105B00005F4F6D8D7E8D6C5F7F4FDE01A659BF4F5D
+:105B10006D012C96ECACFDAC0EAD1FAD2C978D8DB0
+:105B20009E8D0E94779AC15BDF4F0FB6F894DEBF5F
+:105B30000FBECDBFDF91CF911F910F91FF90EF90DE
+:105B4000DF90CF90BF90AF909F908F907F906F909D
+:105B50005F904F903F902F900895FC011482178220
+:105B6000138212828AEB95E09183808308952AEB59
+:105B700035E0FC01318320832781222319F004962C
+:105B80000C948C130895CF92DF92EF92FF920F93B3
+:105B90001F93CF93DF93EC01875B9F4FDEDFCE0136
+:105BA00086599F4FDADF7E0129E8E20EF11C87015A
+:105BB0006E0131E4C31A3EEFD30AC801CEDF015EA5
+:105BC0001F4F0C151D05C9F7FE01EF53FE4F89E16C
+:105BD000818314823596178ACE018C519E4FBDDF8A
+:105BE000FE01EB56FD4F108211821282138238960D
+:105BF00010821182128213821A821B8218821982E9
+:105C00006E0187E6C81A8DEFD80AF601108211825C
+:105C100012821382F80111821082FE01ED5FFD4FA6
+:105C2000108286E391E0F7019C01119221503040EF
+:105C3000E1F7FE01EF55FD4F81E08083C95BDF4F47
+:105C4000198218820E9431A968577C4E8F4F9F4F4E
+:105C5000F6016083718382839383DF91CF911F91DB
+:105C60000F91FF90EF90DF90CF900895FC0120E01E
+:105C70003EE2DB014C91403241F0283011F4308398
+:105C80003196DB014C91408331962F5F6F5F7F4FE0
+:105C90002B3079F7108208952F923F924F925F92A6
+:105CA0006F927F928F929F92AF92BF92CF92DF922C
+:105CB000EF92FF920F931F93CF93DF93CDB7DEB791
+:105CC000CA58D1090FB6F894DEBF0FBECDBF8C0104
+:105CD0006B017A014901CA57DF4F1882C658D0407C
+:105CE00084E0E80EF11C180191E1290E311CF80145
+:105CF000EA5BFF4FC957DF4FF983E883C758D040AD
+:105D00003801FEE56F1AFDEF7F0A58018CE5A81AED
+:105D10008DEFB80A80E4482E512C4C0E5D1E94E0A5
+:105D2000490E511CA101BE016F5F7F4FC7010E9448
+:105D3000F61118160CF03CC12C85322F3871303119
+:105D400009F09EC0F301808191810197029708F4C8
+:105D500097C0BE016F5F7F4FCE0187589F4F86DF90
+:105D6000A0961FAEA097F6018081811107C069E659
+:105D700073E0CE01815A9F4F0E9418B6B601CE0142
+:105D8000815A9F4F0E9418B6BE0167587F4FCE01BF
+:105D9000815A9F4F0E9418B669E673E0CE01815A7E
+:105DA0009F4F0E9418B6CE01805C9F4FD6DE21E047
+:105DB000AE0147585F4FB701C2010E9483158111A0
+:105DC00039C0F30180819181892BA1F5EFE2FEE0DA
+:105DD0008491882341F09091C00095FFFCCF80937F
+:105DE000C6003196F5CFEBE6F3E08191882339F0D8
+:105DF0009091C00095FFFCCF8093C600F6CF8091B4
+:105E0000C00085FFFCCF8AE08093C600FE01E75802
+:105E1000FF4F8191882339F09091C00095FFFCCF0E
+:105E20008093C600F6CF8091C00085FFFCCF8AE04A
+:105E30008093C6008BE1FE01EC5BFF4FDE0195967F
+:105E400001900D928A95E1F724968EAD9FAD24972F
+:105E50009CA38BA38AEB95E09AA389A320E030E072
+:105E6000AE014F5D5F4FBE01615A7F4FC80114DF25
+:105E7000CE0181967CDECE01805C9F4F78DE52CFD2
+:105E80008981882309F494C08E3209F44BCF8F3571
+:105E900009F448CFF80181898E3209F443CF8F3558
+:105EA00009F440CF23FD3ECF81E0303109F080E09E
+:105EB000C957DF4FE881F981C758D04080838111ED
+:105EC00008C08985873409F02DCF8A858E3709F47B
+:105ED00029CF98012C5F3F4FBE016F5F7F4FC901F3
+:105EE000C757DF4F2883C958D040C657DF4F388384
+:105EF000CA58D040BBDEF30180819181C757DF4F84
+:105F00002881C958D040C657DF4F3881CA58D04081
+:105F10000097F1F4F6018191882339F09091C00047
+:105F200095FFFCCF8093C600F6CFF90181918823BD
+:105F300039F09091C00095FFFCCF8093C600F6CF5A
+:105F40008091C00085FFFCCF8AE08093C600EACE36
+:105F50008130910539F4F501808191810196918319
+:105F60008083E0CE029709F0DDCE8114910439F0F0
+:105F7000B901C4010E9405B6892B71F419C0CA5732
+:105F8000DF4FF881C658D0402F2F30E0F5018081D7
+:105F900091812817390761F0CA57DF4FF881C65839
+:105FA000D040FF5FCA57DF4FF883C658D040BACE03
+:105FB000C657DF4F0FB6F894DEBF0FBECDBFDF91DF
+:105FC000CF911F910F91FF90EF90DF90CF90BF90F6
+:105FD000AF909F908F907F906F905F904F903F9089
+:105FE0002F9008950F931F93CF93DF93CDB7DEB714
+:105FF0006F970FB6F894DEBF0FBECDBF8C01FC01CA
+:10600000EE55FD4F1182108240E050E0BA01835BF3
+:106010009F4F0E94A912C801875B9F4F2BE1FC0193
+:106020003496DE01159601900D922A95E1F7FC0158
+:10603000828193819C838B838AEB95E09A83898309
+:1060400020E030E0AE014F5F5F4F62E973E0C801CE
+:1060500023DECE0101968BDD6F960FB6F894DEBF7E
+:106060000FBECDBFDF91CF911F910F9108952BE10E
+:10607000FB013496DC01149601900D922A95E1F70C
+:10608000FB0122813381FC01338322830895EF9247
+:10609000FF920F931F93CF93DF93EC011B82FC01C0
+:1060A000E05BFF4F8081882329F0CE01835B9F4F07
+:1060B0000E948C137E018FE3E81A8EEFF80A45E305
+:1060C00060E0C7010E94BF3A81111FC0EFE2FEE00D
+:1060D0008491882341F09091C00095FFFCCF80937C
+:1060E000C6003196F5CFE7E4F6E08491882341F0CD
+:1060F0009091C00095FFFCCF8093C6003196F5CFFC
+:106100008091C00085FFFCCF77C08E010A531E4FDF
+:1061100041E0B701C8010E945A1B811126C040E02E
+:10612000B701C8010E945A1B81111FC0E5E3FEE0C0
+:106130008491882341F09091C00095FFFCCF80931B
+:10614000C6003196F5CFE4E3F6E08491882341F070
+:106150009091C00095FFFCCF8093C6003196F5CF9B
+:106160008091C00085FFFCCF47C0B801CE01835BA2
+:106170009F4F0E94991081111FC0E5E3FEE08491BA
+:10618000882341F09091C00095FFFCCF8093C6001A
+:106190003196F5CFE4E2F6E08491882341F09091C6
+:1061A000C00095FFFCCF8093C6003196F5CF80915B
+:1061B000C00085FFFCCF20C081E08B83EFE2FEE0D2
+:1061C0008491882341F09091C00095FFFCCF80938B
+:1061D000C6003196F5CFE9E1F6E08491882341F0DD
+:1061E0009091C00095FFFCCF8093C6003196F5CF0B
+:1061F0008091C00085FFFCCF8AE08093C6008E01AD
+:10620000075B1F4FB801CE0186599F4F30DFC85939
+:10621000DF4F19830883DF91CF911F910F91FF907A
+:10622000EF900895FC01128213820895FC012381EE
+:10623000222311F021E022830895FC012281211103
+:1062400012820895AF92BF92CF92DF92EF92FF92A7
+:106250000F931F93CF93DF931F92CDB7DEB78C01BF
+:106260008FE2FB0181935F01D12C41E07801F1E4E1
+:10627000EF1AFEEFFF0A9FE1C92E2D2D30E0F70146
+:106280008081918128173907D8F4C29EC001C39E2E
+:10629000900D112483579F4FB501800F911F4983A3
+:1062A0000E944010C50149815C010196F5012081E1
+:1062B000222321F04D3810F44F5FF6CFD394DDCF79
+:1062C00047FD11C0B501C80188519E4F0F90DF9165
+:1062D000CF911F910F91FF90EF90DF90CF90BF90E3
+:1062E000AF900C944010F50110820F90DF91CF9188
+:1062F0001F910F91FF90EF90DF90CF90BF90AF90E4
+:1063000008953F924F925F926F927F928F929F92E9
+:10631000AF92BF92CF92DF92EF92FF920F931F93B3
+:10632000CF93DF93CDB7DEB7AC970FB6F894DEBF4F
+:106330000FBECDBF7C015B01FC018381882309F482
+:1063400008C1C70188519E4F0E948C13F701128229
+:10635000CE0101966C0101DC270198E6490E511C23
+:10636000C701875B9F4FF20191838083F501808194
+:106370008F3209F084C06FE270E0C5010E9423B63D
+:106380008C010F5F1F4F2AE0322E0115110509F411
+:106390007CC06FE270E0C8010E9423B64C010097F8
+:1063A00009F474C00817190708F070C03C01601A9E
+:1063B000710AA301B801CE0180960E944CB6E0E2BA
+:1063C000F0E0EC0FFD1FE60DF71D1082FE01B09608
+:1063D0008191882339F09091C00095FFFCCF809384
+:1063E000C600F6CF8091C00085FFFCCF3092C6007A
+:1063F000F201608171816115710519F06C5F7F4F49
+:1064000002C060E070E021E0AE01405E5F4FCE016F
+:1064100005960E94831581112BC0EEEFF4E0849164
+:10642000882341F09091C00095FFFCCF8093C60077
+:106430003196F5CFFE01B0968191882339F0909185
+:10644000C00095FFFCCF8093C600F6CFECEFF4E0E0
+:106450008491882341F09091C00095FFFCCF8093F8
+:10646000C6003196F5CF8091C00085FFFCCF6CC08F
+:10647000F201D182C08284010F5F1F4F86CFC70116
+:1064800086599F4FF201918380838501F2018081BB
+:106490009181009711F0049602C080E090E0B8016D
+:1064A0000E945916882339F1EEEEF4E08491882396
+:1064B00041F09091C00095FFFCCF8093C6003196CB
+:1064C000F5CFF8018191882339F09091C00095FFB4
+:1064D000FCCF8093C600F6CF8091C00085FFFCCF33
+:1064E0008AE08093C600F701E356FD4F10821182C7
+:1064F000128213822CC0E6EDF4E08491882341F0EF
+:106500009091C00095FFFCCF8093C6003196F5CFE7
+:10651000F8018191882339F09091C00095FFFCCF5C
+:106520008093C600F6CFE4EDF4E08491882341F037
+:106530009091C00095FFFCCF8093C6003196F5CFB7
+:106540008091C00085FFFCCF8AE08093C600C60121
+:106550000EDBAC960FB6F894DEBF0FBECDBFDF9159
+:10656000CF911F910F91FF90EF90DF90CF90BF9050
+:10657000AF909F908F907F906F905F904F903F90E3
+:106580000895CF93DF93EC018B818823C1F1E2EC76
+:10659000F4E08491882341F09091C00095FFFCCFF6
+:1065A0008093C6003196F5CFFE01E356FD4F408142
+:1065B0005181628173812AE030E08CE99DE00E9484
+:1065C000868AE0ECF4E08491882341F09091C00049
+:1065D00095FFFCCF8093C6003196F5CFCB56DD4FAB
+:1065E000488159816A817B812AE030E08CE99DE015
+:1065F0000E94868A8091C00085FFFCCF11C0E0EB2D
+:10660000F4E08491882341F09091C00095FFFCCF85
+:106610008093C6003196F5CF8091C00085FFFCCFF6
+:106620008AE08093C600DF91CF910895AF92BF9228
+:10663000CF92DF92EF92FF920F931F93CF93DF934E
+:106640005C01EB01FB0101900020E9F78F01015093
+:106650001109061B170B6C01F8E1CF1AFEEFDF0AD8
+:10666000F60110826EE470E0CE010E9423B67C0138
+:10667000009729F4F8013197EC0FFD1F0DC060E27F
+:1066800070E00E9423B6EC0121966AE270E0C70137
+:106690000E9423B6FC0131978DE081838AE08283DA
+:1066A0001382BE01C5018C519E4F0E94438BF6019F
+:1066B0008081882309F1E5E3FEE08491882341F09D
+:1066C0009091C00095FFFCCF8093C6003196F5CF26
+:1066D000EAE9F4E08491882341F09091C00095FFAD
+:1066E000FCCF8093C6003196F5CF8091C00085FF26
+:1066F000FCCF8AE08093C600DF91CF911F910F916C
+:10670000FF90EF90DF90CF90BF90AF9008952F92C1
+:106710003F924F925F926F927F928F929F92AF9231
+:10672000BF92CF92DF92EF92FF920F931F93CF937E
+:10673000DF93CDB7DEB7CC55D1090FB6F894DEBFE5
+:106740000FBECDBF4C018C010F551D4F662339F094
+:10675000F8011082F401838181111DC015C0F80178
+:106760008081882309F4AFC0F401E756FD4FC08053
+:10677000D180E280F3800E9431A9C616D706E806D0
+:10678000F90608F4A0C0E4CFC40181DCF4018381E0
+:10679000882309F498C07401F7E4EF0EF11CF701A7
+:1067A00081818F9380818F9381E994E09F938F9370
+:1067B0008E01015C1F4F1F930F930E945BB60F90D9
+:1067C0000F900F900F900F900F90B12CF801019047
+:1067D0000020E9F73197E01BF10BBE1684F4680145
+:1067E000CB0CD11CB7FCDA94F6018081992787FD88
+:1067F00090950E9498B5F6018083B394E7CFFDE4AD
+:106800008F0E911C40E050E0BA01C4010E94A91211
+:10681000512CCE0101966C013AE8632E34E0732EC0
+:106820005E0191E2A90EB11C40E050E0B601C40146
+:106830000E94F6111816DCF5412CF601019000209B
+:10684000E9F73197EC19FD094E1674F41601240C82
+:10685000311C47FC3A94F101808190E00E9498B588
+:10686000F10180834394E9CF8A858E37E9F245E0D0
+:1068700050E0B801C6010E943EB6892BA9F61F93CD
+:106880000F937F926F92BF92AF920E945BB6C50149
+:106890000E94C03D86E894E00E94333E0F900F9026
+:1068A0000F900F900F900F9055245394BDCF51101F
+:1068B00004C08FEF9FEFF70104C0F7018081918141
+:1068C000019691838083C45ADF4F0FB6F894DEBFE0
+:1068D0000FBECDBFDF91CF911F910F91FF90EF9031
+:1068E000DF90CF90BF90AF909F908F907F906F90F0
+:1068F0005F904F903F902F9008950F931F93CF93E9
+:10690000DF93EC018C0108511E4FC8010E94421315
+:10691000C8010E948C1318821982DF91CF911F91B8
+:106920000F910895CF92DF92EF92FF920F931F93F2
+:10693000CF93DF93CDB7DEB76F970FB6F894DEBF76
+:106940000FBECDBF8C016A017C0188E6E80EF11C08
+:10695000C80186599F4FF70191838083E65CFD4F04
+:1069600022E030E03183208332967183608340E0FF
+:1069700050E0BA0104960E94A912F701808191812A
+:106980002BE1FC013496DE01159601900D922A95BB
+:10699000E1F7FC01828193819C838B838AEB95E0F4
+:1069A0009A8389839601AE014F5F5F4F62E973E07E
+:1069B000C80172D9CE010196DAD86F960FB6F89455
+:1069C000DEBF0FBECDBFDF91CF911F910F91FF9022
+:1069D000EF90DF90CF9008952F923F924F925F9269
+:1069E0006F927F928F929F92AF92BF92CF92DF92DF
+:1069F000EF92FF920F931F93CF93DF93CDB7DEB744
+:106A0000AC970FB6F894DEBF0FBECDBF8C016B0103
+:106A1000342EDC0113968C91882309F4EEC2F80120
+:106A2000E551FE4F8081882309F4F5C02111C1C0D2
+:106A30007801BDEFEB1AFB0AF7018081882361F131
+:106A4000E5E3FEE08491882341F09091C00095FF3A
+:106A5000FCCF8093C6003196F5CFE6EDF5E084914A
+:106A6000882341F09091C00095FFFCCF8093C60031
+:106A70003196F5CF4AE050E061E070E08CE99DE0AE
+:106A80000E945A8A8091C00085FFFCCF8AE08093E3
+:106A9000C6000E942245B1C2EFE2FEE08491882345
+:106AA00041F09091C00095FFFCCF8093C6003196D5
+:106AB000F5CFEDEBF5E08491882341F09091C00093
+:106AC00095FFFCCF8093C6003196F5CFF6018191FA
+:106AD000882339F09091C00095FFFCCF8093C600C9
+:106AE000F6CFE2EBF5E08491882341F09091C0006D
+:106AF00095FFFCCF8093C6003196F5CFD7018C91DE
+:106B00005DE8B52EB801B89E600D711D1124685F57
+:106B10007D4FC80197DBF7018081F801B89EE00D39
+:106B2000F11D1124E85FFD4F8191882339F0909188
+:106B3000C00095FFFCCF8093C600F6CFECEAF5E0ED
+:106B40008491882341F09091C00095FFFCCF809301
+:106B5000C6003196F5CF5801F3E6AF1AFDEFBF0A34
+:106B6000D5014D915D916D917C912AE030E08CE9E9
+:106B70009DE00E94868A8091C00085FFFCCF8AE05C
+:106B80008093C600F7012081F80184E0289FE00D82
+:106B9000F11D1124EC5FFD4FD5014D915D916D917B
+:106BA0007C9140835183628373832F5FF70120833D
+:106BB0002CC0EFE2FEE08491882341F09091C00068
+:106BC00095FFFCCF8093C6003196F5CFEBE9F5E059
+:106BD0008491882341F09091C00095FFFCCF809371
+:106BE000C6003196F5CFF6018191882339F0909156
+:106BF000C00095FFFCCF8093C600F6CF8091C00007
+:106C000085FFFCCF8AE08093C600C80188519E4F63
+:106C10000E948C1330C0F801ED5FFD4F1082EFE24F
+:106C2000FEE08491882341F09091C00095FFFCCF55
+:106C30008093C6003196F5CFEAE8F5E08491882389
+:106C400041F09091C00095FFFCCF8093C600319633
+:106C5000F5CFF6018191882339F09091C00095FF1E
+:106C6000FCCF8093C600F6CF8091C00085FFFCCF9B
+:106C70008AE08093C600D80112961C92FE013196DC
+:106C80005F01CF010E94AD2D2801F8E64F0E511C87
+:106C9000C801875B9F4FD2018D939C93F601808141
+:106CA0008F3209F084C06FE270E0C6010E9423B603
+:106CB00001967C014AE0242EE114F10409F47DC020
+:106CC0006FE270E0C7010E9423B64C01009709F4FF
+:106CD00075C0E816F90608F071C03C016E187F080F
+:106CE000A301B701CE0180960E944CB6E0E2F0E02D
+:106CF000EC0FFD1FE60DF71D1082FE01B09681918D
+:106D0000882339F09091C00095FFFCCF8093C60096
+:106D1000F6CF8091C00085FFFCCF2092C600D20143
+:106D20006D917C916115710519F06C5F7F4F02C008
+:106D300060E070E021E0AE01405E5F4FCE0105965D
+:106D40000E94831581112BC0E6E7F5E0849188232A
+:106D500041F09091C00095FFFCCF8093C600319622
+:106D6000F5CFFE01B0968191882339F09091C00053
+:106D700095FFFCCF8093C600F6CFE4E7F5E0849161
+:106D8000882341F09091C00095FFFCCF8093C6000E
+:106D90003196F5CF8091C00085FFFCCF02C1F20192
+:106DA000B182A0827401FFEFEF1AFF0A85CFC801FC
+:106DB00086599F4FD2018D939C937601F801E8513B
+:106DC000FE4F4F01332009F4B1C0D2016D917C9187
+:106DD0006115710519F06C5F7F4F02C060E070E0D3
+:106DE00021E0A701C4010E948315882309F474C01F
+:106DF000F40181899289A389B489F801EB56FD4F8A
+:106E000080839183A283B383E6E6F5E08491D80181
+:106E1000AB56BD4F882349F09091C00095FFFCCF41
+:106E20008093C60031968491F5CFF7018191882334
+:106E300039F09091C00095FFFCCF8093C600F6CF4B
+:106E4000EEE5F5E08491882341F09091C00095FF34
+:106E5000FCCF8093C6003196F5CF4D915D916D9139
+:106E60007C912AE030E08CE99DE00E94868A809146
+:106E7000C00085FFFCCF8AE08093C600F801E3568E
+:106E8000FD4F1082118212821382E0E5F5E08491B9
+:106E9000882341F09091C00095FFFCCF8093C600FD
+:106EA0003196F5CF8091C00085FFFCCF8AE08093BA
+:106EB000C600A70160E070E0C80134DDD80151963A
+:106EC0008C91882319F0C801419601C0C7010E9426
+:106ED00048728EE793E08CC0ECE3F5E08491882360
+:106EE00041F09091C00095FFFCCF8093C600319691
+:106EF000F5CFF7018191882339F09091C00095FF7B
+:106F0000FCCF8093C600F6CFEAE3F5E084918823B6
+:106F100041F09091C00095FFFCCF8093C600319660
+:106F2000F5CF8091C00085FFFCCF3BC0F2016081AE
+:106F300071816115710519F06C5F7F4F02C060E0CF
+:106F400070E026E5A701C4010E94831581112DC0C0
+:106F5000E6E2F5E08491882341F09091C00095FF2E
+:106F6000FCCF8093C6003196F5CFF701819188233D
+:106F700039F09091C00095FFFCCF8093C600F6CF0A
+:106F8000E4E2F5E08491882341F09091C00095FF00
+:106F9000FCCF8093C6003196F5CF8091C00085FF6D
+:106FA000FCCF8AE08093C60025C081E0D8018C9395
+:106FB000E2E1F5E08491882341F09091C00095FFD3
+:106FC000FCCF8093C6003196F5CFF60181918823DE
+:106FD00039F09091C00095FFFCCF8093C600F6CFAA
+:106FE0008091C00085FFFCCF8AE08093C600C70176
+:106FF0000E944872C5010E94B72DAC960FB6F89456
+:10700000DEBF0FBECDBFDF91CF911F910F91FF90DB
+:10701000EF90DF90CF90BF90AF909F908F907F9038
+:107020006F905F904F903F902F90089521E0FC016A
+:10703000218340E0D1CCCF92DF92EF92FF920F9369
+:107040001F93CF93DF93CDB7DEB76F970FB6F8944A
+:10705000DEBF0FBECDBF8C016C0128E6C20ED11C75
+:1070600086599F4FF60191838083E65CFD4F21E0B6
+:1070700030E0318320837801FCE5EF1AFDEFFF0A51
+:10708000F7011182108240E050E0BA0104960E949C
+:10709000A912F601808191812BE1FC013496DE0179
+:1070A000159601900D922A95E1F7FC01828193815A
+:1070B0009C838B838AEB95E09A83898320E030E080
+:1070C000AE014F5F5F4F62E973E0C8010E944C2E32
+:1070D000CE0101960E94B72DF701808191816F96B4
+:1070E0000FB6F894DEBF0FBECDBFDF91CF911F91D9
+:1070F0000F91FF90EF90DF90CF900895AF92BF92E5
+:10710000CF92DF92EF92FF920F931F93CF93DF9373
+:10711000CDB7DEB76F970FB6F894DEBF0FBECDBF09
+:107120008C017B01CE0101960E94AD2DF801EF5834
+:10713000FF4F80816801811104C029E4C20ED11C77
+:1071400003C08AE6C80ED11C21E0A701B6016C5F1E
+:107150007F4FCE0105960E94831581112DC0EFE26D
+:10716000FEE08491882341F09091C00095FFFCCF10
+:107170008093C6003196F5CFE0E7F4E08491882350
+:1071800041F09091C00095FFFCCF8093C6003196EE
+:10719000F5CFF7018191882339F09091C00095FFD8
+:1071A000FCCF8093C600F6CF8091C00085FFFCCF56
+:1071B0008AE08093C60036C0F801E154FE4F80811A
+:1071C00091818A30910530F59C012F5F3F4F3183CB
+:1071D00020832FE1289F7001299FF00C112429E8BA
+:1071E000E20EF11CE00EF11E5C01B701C7014F96E3
+:1071F0000E94373081E0A81AB1082FE1E21AF108A5
+:107200008FEFA816B80689F7B601C80187579F4FB8
+:107210000E943730BE016F5F7F4FC80186599F4F74
+:107220000E943730CE0101960E94B72D6F960FB69F
+:10723000F894DEBF0FBECDBFDF91CF911F910F91AC
+:10724000FF90EF90DF90CF90BF90AF900895EF92B6
+:10725000FF920F931F93CF93DF93EC01C154DE4F46
+:107260002881398121153105F9F0215031093983FF
+:1072700028838C0107571F4FB80186599F4F0E94E2
+:107280003730C80100E010E07C012FE1E20EF11C74
+:10729000288139810217130738F40F5F1F4FB70198
+:1072A0000E943730C701F0CFDF91CF911F910F912E
+:1072B000FF90EF900895EF92FF920F931F93CF935B
+:1072C000DF93EC010E943D938E010D5F1D4FF8018D
+:1072D00080819E0128513E4F79018823A1F1C90187
+:1072E0000E948C13F801808181508083BE01FDE8EB
+:1072F0008F9F600D711D1124685F7D4F21E041E07B
+:10730000CE016ADBF8018081FE0124E0829FE00D5E
+:10731000F11D1124EC5FFD4F408151816281738129
+:10732000FE01E356FD4F4083518362837383C7019F
+:107330000E94A912CE01DF91CF911F910F91FF9072
+:10734000EF900C9416310E94B393C7010E948C13E6
+:107350001A8284E694E0DF91CF911F910F91FF9004
+:10736000EF9081C48FEF8EBD0DB407FEFDCF8EB5BB
+:1073700008958EBD0DB407FEFDCF089561E0FC01B8
+:1073800080810C948AA8FC012281322F306A3695C4
+:107390003CBD20FD06C031E0263009F430E0232F4B
+:1073A00001C020E02DBD60E0FC0180810C948AA822
+:1073B000CF92DF92EF92FF920F931F93CF93DF93C1
+:1073C000EC018B017A010E9431A96B01CBDF8B8329
+:1073D0008F3F49F40E9431A96C197D096D327140CB
+:1073E000A8F381E144C08E3F11F08FE040C0E1146A
+:1073F000F104D9F0C70101972FEF2EBDF8014FEF2F
+:107400009F01201B310B2817390738F40DB407FEF4
+:10741000FDCF2EB521934EBDF3CF0DB407FEFDCFAA
+:107420002EB5F801E80FF91F2083D801E00EF11EF8
+:10743000C12CD12CAE15BF0579F08D91ED2DFF2714
+:10744000E827EE0FFF1FEC5AF94F85919491DC2C41
+:10745000CC24C826D926EECF85DF082F10E0102FC8
+:10746000002780DF082BC016D10631F080E2898327
+:10747000CE0184DF80E003C0CE0180DF81E0DF91B8
+:10748000CF911F910F91FF90EF90DF90CF900895D3
+:107490000F931F93CF93DF93EB010E9431A98B01D0
+:1074A00061DF8F3F49F00E9431A9601B710B6C179F
+:1074B0007D07B0F380E001C081E0DF91CF911F91A3
+:1074C0000F910895CF92DF92FF920F931F93CF9366
+:1074D000DF9300D01F92CDB7DEB76C01F62E298363
+:1074E0003A834B835C834FDF6CE271E0C601D0DFEF
+:1074F0008F2D80643EDF08E110E05C814B813A8192
+:107500002981DA01C901002E04C0B695A795979587
+:1075100087950A94D2F729833A834B835C8329DFCA
+:107520000850110929813A814B815C81083F8FEF16
+:10753000180739F7FF2029F0E8E0FE1621F08FEF59
+:1075400003C085E901C087E814DFFCE0FF1201C039
+:1075500009DF10E007DFF601838387FF04C01F3FC8
+:1075600011F01F5FF7CF0F900F900F900F90DF91EA
+:10757000CF911F910F91FF90DF90CF900895BF9210
+:10758000CF92DF92EF92FF920F931F93CF93DF93EF
+:10759000EC01B62E1C82198248830E9431A98B010E
+:1075A00061E088810E9451A8CE01E8DE60E082E3BC
+:1075B0000E9451A861E083E30E9451A861E084E346
+:1075C0000E9451A861E085E30E9451A861E085E333
+:1075D0000E948AA885E08A8382E58CBD1DBC6AE092
+:1075E000F62E8FEFC6DEFA94E1F720E030E0A90135
+:1075F00060E0CE0167DFF82E8B8381E0F81649F05A
+:107600000E9431A9601B710B613D774070F381E0EE
+:1076100046C02AEA31E040E050E068E0CE0152DFA7
+:1076200082FF02C0FC820CC054E0F52E9BDE8B83EF
+:10763000FA94E1F78A3A11F082E031C082E08C835B
+:107640008C81823031F4C12CD12CE12C40E4F42E19
+:1076500003C0C12CD12C760120E030E0A90167E302
+:10766000CE0130DFA701960169E2CE012BDF8B83CB
+:10767000882349F00E9431A9601B710B613D77405E
+:1076800058F38AE00CC08C818230B1F420E030E005
+:10769000A9016AE3CE0116DF882329F088E08983F7
+:1076A000CE016CDE14C05EDE807C803C11F483E091
+:1076B0008C8358DE57DE56DECE0160DE86E08B1509
+:1076C00018F488E1898303C0BA8281E001C080E0B8
+:1076D000DF91CF911F910F91FF90EF90DF90CF90AE
+:1076E000BF900895AF92BF92CF92DF92EF92FF9238
+:1076F0000F931F93CF93DF93EC016A017B01890104
+:107700008C81833039F0F9E0CC0CDD1CEE1CFF1CC1
+:10771000FA95D1F773E0B72EE4E0AE2EBA94A70144
+:10772000960161E1CE01CEDE882311F0A98207C067
+:1077300040E052E0B801CE013BDE81110EC0CE0127
+:10774000BB2049F01BDE20E030E0A9016CE0CE0157
+:10775000B9DE1982E3CF12DE80E0DF91CF911F9175
+:107760000F91FF90EF90DF90CF90BF90AF90089572
+:10777000CF93DF93EC016EBD20E030E00DB407FE47
+:10778000FDCFFA01E20FF31F80818EBD0DB407FE1D
+:10779000FDCF81818EBD2E5F3F4F211582E03807DE
+:1077A00069F70DB407FEFDCF8FEFE3DD8FEFE1DD6D
+:1077B000D9DD8B838F71853031F083E18983CE01F0
+:1077C000DDDD80E001C081E0DF91CF9108950F936E
+:1077D0001F93CF93DF93EC0189018C81833039F0C3
+:1077E000B9E0440F551F661F771FBA95D1F79A016C
+:1077F000AB0168E1CE0166DE882311F086E01EC091
+:10780000A8016EEFCE01B4DF8823C9F068E572E00D
+:10781000CE013EDE182F811102C087E10FC020E0AB
+:1078200030E0A9016DE0CE014DDE811106C09ADD88
+:10783000811103C0CE01A2DD05C086E18983CE019E
+:107840009DDD10E0812FDF91CF911F910F91089561
+:10785000FC01659175918591949108952F923F92C5
+:107860004F925F926F927F928F929F92AF92BF9250
+:10787000CF92DF92EF92FF920F931F93CF93DF93FC
+:1078800000D000D0CDB7DEB71C01FC01E051F24FB3
+:1078900014919C01220F331F220F331F3E832D832F
+:1078A0002C5B354F4901F90110821182128213823B
+:1078B00020E53AE04CE45AE068E47AE084E49AE0B7
+:1078C0000E943EA48D819E818150924FC1DF6B0149
+:1078D0007C01612F772767FD7095872F972F0E9476
+:1078E00042AF2B013C012D813E81215F354F590173
+:1078F00020E030E040EC5FE3C701B6010E9475B1C3
+:10790000A30192010E9475B1F501608371838283A6
+:1079100093832D813E81215A3D4F3C832B83F90176
+:107920006081718182819381609321027093220230
+:10793000809323029093240220E030E040E752E459
+:107940000E94A7AE20E3C22E2AE0D22E7B018C013A
+:107950002BE13AE047E15AE063E17AE08FE09AE018
+:107960000E94779A0E943D93F40110821182128244
+:10797000138220E53AE04CE45AE068E47AE084E4DB
+:107980009AE00E943EA42D813E812D50324F3A83D1
+:107990002983C9015DDF9058A30192010E9475B14E
+:1079A000F501608371838283938320E030E040E7B8
+:1079B00052E4609121027091220280912302909101
+:1079C00024020E94A7AE7B018C012BE13AE047E143
+:1079D0005AE063E17AE08FE09AE00E94779A0E9491
+:1079E0003D9389819A8134DF9B01AC010E94C7AD30
+:1079F000A30192010E9475B1F501608371838283B6
+:107A0000938320E030E040E05FE3EB81FC81608124
+:107A10007181828193810E9475B16093210270937C
+:107A20002202809323029093240220E030E040E77A
+:107A300052E40E94A7AE7B018C012BE13AE047E1C2
+:107A40005AE063E17AE08FE09AE00E94779A0E9420
+:107A50003D938D819E81855F914FFADE0D811E8160
+:107A6000085C154FF80120813181428153810E94C9
+:107A7000C7ADF40160837183828393838D819E817E
+:107A80008D5D914FE5DE2D813E812D5B3D4F79016E
+:107A9000F80120813181428153810E94C7ADF701F5
+:107AA00060837183828393838D819E81895E914FF0
+:107AB000CFDE2D813E81295C3D4F7901F801208187
+:107AC0003181428153810E94C7ADF7016083718388
+:107AD00082839383F40180819181A281B381F50136
+:107AE00080839183A283B383109221021092220299
+:107AF00010922302109224020E94EA8BF101EB5CA7
+:107B0000F54F81E0808326960FB6F894DEBF0FBE56
+:107B1000CDBFDF91CF911F910F91FF90EF90DF903C
+:107B2000CF90BF90AF909F908F907F906F905F901D
+:107B30004F903F902F900895FC012491222341F013
+:107B40003091C00035FFFCCF2093C6000196F4CFE2
+:107B500022E030E08CE99DE00C94308BFC01249114
+:107B6000222341F03091C00035FFFCCF2093C600A6
+:107B70000196F4CF2AE030E08CE99DE00C94868AEF
+:107B80002091640830916508243031050CF06AC0FA
+:107B9000409166085091670860E6649F9001659F78
+:107BA000300D1124BC01C9018259974F0E9437B68C
+:107BB000EFE2FEE08491882341F09091C00095FFB0
+:107BC000FCCF8093C6003196F5CFE5EEFDE08491C1
+:107BD000882341F09091C00095FFFCCF8093C600B0
+:107BE0003196F5CF809166089091670820E6289F2E
+:107BF000F001299FF00D1124E259F74F819188235C
+:107C000039F09091C00095FFFCCF8093C600F6CF6D
+:107C1000E3EEFDE08491882341F09091C00095FF50
+:107C2000FCCF8093C6003196F5CF8091C00085FFD0
+:107C3000FCCF8AE08093C600809166089091670827
+:107C4000019664E070E00E946BB2909367088093A5
+:107C50006608809164089091650801969093650884
+:107C60008093640808952091640830916508243059
+:107C700031050CF06AC0409166085091670860E6D3
+:107C8000649F9001659F300D1124BC01C901825988
+:107C9000974F0E94A0B5EFE2FEE08491882341F067
+:107CA0009091C00095FFFCCF8093C6003196F5CF30
+:107CB000E8EDFDE08491882341F09091C00095FFAC
+:107CC000FCCF8093C6003196F5CF809166089091E5
+:107CD000670820E6289FF001299FF00D1124E25942
+:107CE000F74F8191882339F09091C00095FFFCCF28
+:107CF0008093C600F6CFE6EDFDE08491882341F045
+:107D00009091C00095FFFCCF8093C6003196F5CFCF
+:107D10008091C00085FFFCCF8AE08093C6008091EF
+:107D2000660890916708019664E070E00E946BB26B
+:107D30009093670880936608809164089091650825
+:107D40000196909365088093640808959B9AA39880
+:107D50000895FCDF40E052EC61E070E08CE99DE0CA
+:107D60000E944689E0EDFDE08491882341F09091E6
+:107D7000C00095FFFCCF8093C6003196F5CF80916F
+:107D8000C00085FFFCCF8AE08093C6008FE29EE0B2
+:107D9000FC012491222341F03091C00035FFFCCF3B
+:107DA0002093C6003196F5CF24B720FF14C0E8EC2D
+:107DB000FDE03491332341F04091C00045FFFCCFFA
+:107DC0003093C6003196F5CF3091C00035FFFCCF1F
+:107DD0003AE03093C60021FF14C0E8EBFDE0349197
+:107DE000332341F04091C00045FFFCCF3093C600E3
+:107DF0003196F5CF3091C00035FFFCCF3AE030939B
+:107E0000C60022FF14C0E7EAFDE03491332341F0BD
+:107E10004091C00045FFFCCF3093C6003196F5CFAE
+:107E20003091C00035FFFCCF3AE03093C60023FF0D
+:107E300014C0E7E9FDE03491332341F04091C000E4
+:107E400045FFFCCF3093C6003196F5CF3091C0008E
+:107E500035FFFCCF3AE03093C60025FF14C0E7E8B9
+:107E6000FDE02491222341F03091C00035FFFCCF8A
+:107E70002093C6003196F5CF2091C00025FFFCCF9E
+:107E80002AE02093C60014BEE0E8FDE024912223FE
+:107E900041F03091C00035FFFCCF2093C6003196F1
+:107EA000F5CFEAE7FDE02491222341F03091C000B4
+:107EB00035FFFCCF2093C6003196F5CF2091C0004E
+:107EC00025FFFCCF2AE02093C600FC012491EFE2BD
+:107ED000FEE0222349F03091C00035FFFCCF209313
+:107EE000C60031962491F5CFEAE6FDE024912223E5
+:107EF00041F03091C00035FFFCCF2093C600319691
+:107F0000F5CFE5E5FDE02491222341F03091C0005A
+:107F100035FFFCCF2093C6003196F5CFE9E4FDE0B4
+:107F20002491222341F03091C00035FFFCCF2093F3
+:107F3000C6003196F5CFE2E3FDE02491222341F023
+:107F40003091C00035FFFCCF2093C6003196F5CFAD
+:107F50002091C00025FFFCCF2AE02093C600E7E275
+:107F6000FDE02491222341F03091C00035FFFCCF89
+:107F70002093C6003196F5CFEBE1FDE0249122235A
+:107F800041F03091C00035FFFCCF2093C600319600
+:107F9000F5CF2091C00025FFFCCF2AE02093C6003A
+:107FA000FC018491EFE2FEE0882349F09091C0004B
+:107FB00095FFFCCF8093C60031968491F5CFECE01D
+:107FC000FDE08491882341F09091C00095FFFCCFA3
+:107FD0008093C6003196F5CF0E9458964AE050E053
+:107FE000BC018CE99DE00E945A8AE5EFFCE0849197
+:107FF000882341F09091C00095FFFCCF8093C6008C
+:108000003196F5CF4AE050E060ED74E08CE99DE0F8
+:108010000E945A8A8091C00085FFFCCF8AE080933D
+:10802000C60010926A0810926B0810926C081092A9
+:108030006D080E9467870E9439830E94A2200E94D7
+:10804000279A0E9446950E947076FFEF23ED80E309
+:10805000F15020408040E1F700C000000895809179
+:108060005E0890915F0860E070E001960C94F7B2B2
+:1080700080915E0890915F084AE050E060E070E017
+:1080800001960C945FB4682F772767FD7095209157
+:1080900068083091690840E6429FC001439F900DF7
+:1080A00011248259974F0E9423B690935F088093C2
+:1080B0005E0821E0892B09F420E0822F08950E94B8
+:1080C00031A960935A0870935B0880935C08909381
+:1080D0005D0808950E9431A960935A0870935B0867
+:1080E00080935C0890935D08E0916808F0916908BE
+:1080F000E659F74F8081811114C0ECEFF8E08491CC
+:10810000882341F09091C00095FFFCCF8093C6007A
+:108110003196F5CF8091C00085FFFCCF8AE0809337
+:10812000C60008958CE99DE00E949889EFEFF8E081
+:108130008491882341F09091C00095FFFCCF8093FB
+:10814000C6003196F5CF4091F3095091F409609142
+:10815000F5097091F6094F5F5F4F6F4F7F4F2AE02F
+:1081600030E08CE99DE00E94378A8091C00085FF55
+:10817000FCCF8AE08093C600ADCF8F929F92AF92E2
+:10818000BF92CF92DF92EF92FF920F931F93CF9304
+:10819000DF9337ECE32E34E0F32E04E41AE0CFE073
+:1081A000DAE049E5C42E4AE0D42EF70181917F013F
+:1081B0006ADF882311F153DF4B015C01F6018081F6
+:1081C000811103C06091EE0901C061E070E080E0C0
+:1081D00090E00E9442AFF8012081318142815381B9
+:1081E0000E9475B19B01AC01C501B4010E94C7ADED
+:1081F000688379838A839B8309C0F8018081918198
+:10820000A281B38188839983AA83BB830C5F1F4FAC
+:108210002496FFEFCF1ADF0A8BECE81684E0F8060D
+:1082200021F686E430DF8823D1F019DF6B017C0171
+:108230006093FF097093000A8093010A9093020AE9
+:1082400020E030E0A9010E94A3B0181644F4C092C7
+:108250002102D0922202E0922302F0922402DF91C6
+:10826000CF911F910F91FF90EF90DF90CF90BF9033
+:10827000AF909F908F90089580DF89E404DF88237A
+:1082800051F0EDDE6093030A7093040A8093050AAF
+:108290009093060A08C01092030A1092040A1092E2
+:1082A000050A1092060A8AE4EEDE882351F0D7DE32
+:1082B0006093070A7093080A8093090A90930A0A48
+:1082C00008951092070A1092080A1092090A109253
+:1082D0000A0A0895CF92DF92EF92FF92CF93DF9335
+:1082E000EC01C0904302D0904402E0904502F0902F
+:1082F0004602A7019601688179818A819B810E944B
+:10830000A0AE87FF04C0C882D982EA82FB82C090F7
+:108310004702D0904802E0904902F0904A02A7013B
+:1083200096016C817D818E819F810E94A0AE87FF26
+:1083300004C0CC82DD82EE82FF8220E030E0A90121
+:1083400060914B0270914C0280914D0290914E02CF
+:108350000E94C7AD6B017C019B01AC0168857985EA
+:108360008A859B850E94A0AE87FF04C0C886D986F7
+:10837000EA86FB86C0903702D0903802E09039023E
+:10838000F0903A02A7019601688179818A819B81E8
+:108390000E94A3B0181624F4C882D982EA82FB8214
+:1083A000C0903B02D0903C02E0903D02F0903E0233
+:1083B000A70196016C817D818E819F810E94A3B06F
+:1083C000181624F4CC82DD82EE82FF82C0903F0238
+:1083D000D0904002E0904102F0904202A701960145
+:1083E000688579858A859B850E94A3B0181624F438
+:1083F000C886D986EA86FB86DF91CF91FF90EF9001
+:10840000DF90CF900895CF92DF92EF92FF920F937B
+:108410001F938FE09AE05EDF0E9431A960935A08B3
+:1084200070935B0880935C0890935D0820910F0A1D
+:108430003091100A4091110A5091120A6091440A39
+:108440007091450A8091460A9091470A0E94A0AE19
+:10845000811179C02091130A3091140A4091150AB4
+:108460005091160A6091480A7091490A80914A0A0F
+:1084700090914B0A0E94A0AE811165C020E030E0CF
+:1084800040E752E460912102709122028091230220
+:10849000909124020E94A7AE50E3C52E5AE0D52E3B
+:1084A0007B018C012BE13AE047E15AE063E17AE09D
+:1084B0008FE09AE00E94779A80910F0A9091100ABB
+:1084C000A091110AB091120A8093440A9093450A30
+:1084D000A093460AB093470A8091130A9091140A18
+:1084E000A091150AB091160A8093480A9093490A00
+:1084F000A0934A0AB0934B0A8091170A9091180AE8
+:10850000A091190AB0911A0A80934C0A90934D0ACF
+:10851000A0934E0AB0934F0A80911B0A90911C0AB7
+:10852000A0911D0AB0911E0A8093500A9093510A9F
+:10853000A093520AB093530A1F910F91FF90EF90AE
+:10854000DF90CF90089560915D0270915E02882760
+:1085500077FD8095982F0E9442AF209121023091A3
+:10856000220240912302509124020E9475B120E022
+:1085700030E040E752E40E94A7AE20E030E048EC53
+:1085800052E488CFCF92DF92EF92FF92CF93C62F23
+:10859000E091300AF0E0882309F4C2C0DF01A45D55
+:1085A000B54F8C91811196C18091440A9091450AF2
+:1085B000A091460AB091470A80930F0A9093100A3F
+:1085C000A093110AB093120A8091480A9091490A27
+:1085D000A0914A0AB0914B0A8093130A9093140A0F
+:1085E000A093150AB093160A80914C0A90914D0AF7
+:1085F000A0914E0AB0914F0A8093170A9093180ADF
+:10860000A093190AB0931A0AC090500AD090510A48
+:10861000E090520AF090530AC0921B0AD0921C0AB2
+:10862000E0921D0AF0921E0AEE0FFF1FEE0FFF1FD1
+:10863000E15BFD4F2081318142815381CC2349F0A0
+:1086400060912F027091300280913102909132023C
+:1086500008C060913302709134028091350290918C
+:1086600036020E94A7AE9B01AC01C701B6010E9471
+:10867000C7AD6093500A7093510A8093520A909349
+:10868000530A80E59AE00E94E3A4C0902102D090B2
+:108690002202E0902302F090240220E030E040E744
+:1086A00052E460912B0270912C0280912D029091E6
+:1086B0002E020E9475B16093210270932202809372
+:1086C000230290932402E091300AF0E0E45DF54F3C
+:1086D00081E0808398DE2091280A3091290A409118
+:1086E0002A0A50912B0A60914C0A70914D0A809190
+:1086F0004E0A90914F0A0E94C6AD60934C0A709347
+:108700004D0A80934E0A90934F0A20E53AE04CE4DC
+:108710005AE068E47AE084E49AE00E943EA4D1C082
+:10872000E45DF54F8081882309F4D4C08091440A28
+:108730009091450AA091460AB091470A80930F0A8A
+:108740009093100AA093110AB093120A8091480ADC
+:108750009091490AA0914A0AB0914B0A8093130A5A
+:108760009093140AA093150AB093160A60914C0ACC
+:1087700070914D0A80914E0A90914F0A6093170AAA
+:108780007093180A8093190A90931A0AC090500A9D
+:10879000D090510AE090520AF090530AC0921B0AFE
+:1087A000D0921C0AE0921D0AF0921E0A2091280A1B
+:1087B0003091290A40912A0A50912B0A0E94C7AD94
+:1087C00060934C0A70934D0A80934E0A90934F0A1F
+:1087D00020E53AE04CE45AE068E47AE084E49AE088
+:1087E0000E943EA4F090300ACC2389F02091200A08
+:1087F0003091210A4091220A5091230A60912F0260
+:1088000070913002809131029091320210C020911B
+:10881000240A3091250A4091260A5091270A609136
+:1088200033027091340280913502909136020E9499
+:10883000C7AD24E0F29EF0011124E15BFD4F2081E1
+:108840003181428153810E94A7AE9B01AC016091AE
+:10885000500A7091510A8091520A9091530A0E94D5
+:10886000C6AD6093500A7093510A8093520A909358
+:10887000530A80E59AE00E94E3A4C0902102D090C0
+:108880002202E0902302F090240220E030E040E752
+:1088900052E4609127027091280280912902909100
+:1088A0002A020E9475B16093210270932202809384
+:1088B000230290932402E091300AF0E0E45DF54F4A
+:1088C0001082A1DDC0922102D0922202E092230206
+:1088D000F0922402CF91FF90EF90DF90CF90089517
+:1088E000AF92BF92CF92DF92EF92FF920F931F93BE
+:1088F000CF93DF93D82F2091070A3091080A409137
+:10890000090A50910A0A6091030A7091040A809141
+:10891000050A9091060A0E94B0B0C62F172F082FA3
+:10892000F92E60915D0270915E02882777FD809537
+:10893000982F0E9442AF2091210230912202409153
+:108940002302509124020E9475B120E030E040E7FC
+:1089500052E40E94A7AE20E030E048EC52E40E94CE
+:10896000A7AE2091300A2F93DF93FF920F931F93AE
+:10897000CF935B016C0172E0E72E01E020E043E061
+:108980005AE06FE07AE084E49AE00E943B2A80910A
+:108990000F0A9091100AA091110AB091120A8093C7
+:1089A000440A9093450AA093460AB093470A8091DF
+:1089B000130A9091140AA091150AB091160A809397
+:1089C000480A9093490AA0934A0AB0934B0A8091AF
+:1089D000170A9091180AA091190AB0911A0A809367
+:1089E0004C0A90934D0AA0934E0AB0934F0A80917F
+:1089F0001B0A90911C0AA0911D0AB0911E0A809337
+:108A0000500A9093510AA093520AB093530A0E94BD
+:108A100031A960935A0870935B0880935C08909327
+:108A20005D080F900F900F900F900F900F90DF91B7
+:108A3000CF911F910F91FF90EF90DF90CF90BF905B
+:108A4000AF900895F8940E944521179A1092350A24
+:108A5000169A1092360A159A1092370A149A60E004
+:108A600087E40E9451A8E5E3FEE08491882341F069
+:108A70009091C00095FFFCCF8093C6003196F5CF52
+:108A8000EDEDF8E08491882341F09091C00095FFCE
+:108A9000FCCF8093C6003196F5CF8091C00085FF52
+:108AA000FCCF8AE08093C60084ED98E00E940D76AA
+:108AB0007894C6E0D0E02197209749F068EC70E008
+:108AC00080E090E00E9460A90E949C76F4CFF89428
+:108AD000FFCF2F923F924F925F926F927F928F9231
+:108AE0009F92AF92BF92CF92DF92EF92FF920F933D
+:108AF0001F93CF93DF93CDB7DEB76E970FB6F89481
+:108B0000DEBF0FBECDBFB0E6BB2E14E0E12EF12CD0
+:108B10000BEBC02E0BE0D02E8AE0A82E9924939464
+:108B200080911D0E90911E0E20911F0E3091200EEF
+:108B3000821B930B8F779927892B09F41AC2809196
+:108B400064089091650804970CF013C28CE99DE0CD
+:108B50000E947C89809363082091610830916208AB
+:108B60008A3061F08D3051F08A3321F490916008A1
+:108B7000992321F02F3531050CF41DC12115310544
+:108B800009F437C18091660890916708B89E30015A
+:108B9000B99E700C1124F301E20FF31FE259F74F55
+:108BA000108220916008211101C110926008FC011F
+:108BB000E659F74F108283010259174F6EE470E0B7
+:108BC000C8010E9423B60097F1F190935F0880934B
+:108BD0005E08801B910B860D971D4AE050E060E017
+:108BE00070E08159974F0E945FB46093F7097093CA
+:108BF000F8098093F9099093FA094090F30950908D
+:108C0000F4096090F5097090F6092FEF421A520AA4
+:108C1000620A720A0091660810916708641575056A
+:108C20008605970509F4E8C0B09EC001B19E900D7D
+:108C3000112467ED7CE08259974F0E94CEB5892BB5
+:108C400009F0DAC069C16AE270E0C8010E9423B687
+:108C5000892B09F444C0E5E3FEE08491882341F0C8
+:108C60009091C00095FFFCCF8093C6003196F5CF60
+:108C7000E1E3FCE08491882341F09091C00095FFEE
+:108C8000FCCF8093C6003196F5CF4091F309509107
+:108C9000F4096091F5097091F6092AE030E08CE959
+:108CA0009DE00E94378A8091C00085FFFCCF8AE05A
+:108CB0008093C6001092620810926108C0C2809131
+:108CC000F7099091F809A091F909B091FA098093F8
+:108CD000F3099093F409A093F509B093F6098091F4
+:108CE000660890916708B89E8001B99E100D112406
+:108CF000C8018259974F3C0167E470E00E9423B697
+:108D0000009781F190935F0880935E088619970918
+:108D1000800F911F60E070E08159974F0E94F7B279
+:108D20000E940FAF64307105E8F480914C088823ED
+:108D3000C9F0F6018491EBEBFBE0882349F09091B8
+:108D4000C00095FFFCCF8093C60031968491F5CF8B
+:108D50008091C00085FFFCCFA092C60081EB9BE014
+:108D60000E9400760091660810916708B09EC001CD
+:108D7000B19E900D112463E973E08259974F0E94D0
+:108D80002EB6892B09F45EDEC8010196B7010E9458
+:108D90006BB2909367088093660880916408909105
+:108DA00065080196909365088093640810926208A4
+:108DB00010926108B5CE8B3311F4909260089091B7
+:108DC00060089111ADCE4091660850916708B901D5
+:108DD0006F5F7F4F7093620860936108B49EF001EB
+:108DE000B59EF00D1124E20FF31FE259F74F808377
+:108DF00097CE1092600823C2B09E3001B19E700CD5
+:108E00001124C3018259974F1C016AE270E00E944D
+:108E100023B6009789F5E5E3FEE08491882341F0CD
+:108E20009091C00095FFFCCF8093C6003196F5CF9E
+:108E3000EBE5FCE08491882341F09091C00095FF20
+:108E4000FCCF8093C6003196F5CF4091F309509145
+:108E5000F4096091F5097091F6092AE030E08CE997
+:108E60009DE00E94378A8091C00085FFFCCF8AE098
+:108E70008093C60057D91ECF20E010E0F301E20F27
+:108E8000F11DE259F74F30813A3219F02F5F132765
+:108E9000F5CF90935F0880935E0882199309860D41
+:108EA000971D60E070E08159974F0E94F7B20E94D1
+:108EB0000FAF212F30E02617370709F400CFE5E385
+:108EC000FEE08491882341F09091C00095FFFCCF93
+:108ED0008093C6003196F5CFE5E8FCE084918823C5
+:108EE00041F09091C00095FFFCCF8093C600319671
+:108EF000F5CF4091F3095091F4096091F509709113
+:108F0000F6092AE030E08CE99DE00E94378A8091E2
+:108F1000C00085FFFCCFABCFE5E3FEE08491882362
+:108F200041F09091C00095FFFCCF8093C600319630
+:108F3000F5CFE4EAFCE08491882341F09091C000F1
+:108F400095FFFCCF8093C6003196F5CF4091F30991
+:108F50005091F4096091F5097091F6092AE030E02A
+:108F60008CE99DE00E94378A8091C00085FFFCCF8C
+:108F70007ECF80915F0A882309F461C180916108E6
+:108F800090916208892B09F05AC1809164089091F0
+:108F90006508892B11F410924A08F8EE2F2EF3E0A1
+:108FA0003F2E412C512CACE3CA2ED12CE12CF12CBC
+:108FB0008E010F5F1F4FE0E66E2E77247394409171
+:108FC000FA0C5091FB0C6091FC0C7091FD0C80919F
+:108FD000F20C9091F30CA091F40CB091F50C4817A1
+:108FE00059076A077B0708F02AC1809164089091AD
+:108FF000650804970CF023C180914A0881111FC1B4
+:1090000080914D0C90914E0CA0914F0CB091500C52
+:109010008093FA0C9093FB0CA093FC0CB093FD0C86
+:1090200085E49CE00E94E011482F809363088A3019
+:10903000B9F04D30A9F0433229F420916008222381
+:1090400079F002C04A33C9F3209161083091620877
+:109050002F3531052CF48F3FFFEF9F0709F0D1C06A
+:109060004091FA0C5091FB0C6091FC0C7091FD0C3E
+:109070008091F20C9091F30CA091F40CB091F50C4E
+:10908000481759076A077B0708F481C0EEE9FBE03F
+:109090008491882341F09091C00095FFFCCF80938C
+:1090A000C6003196F5CF8091C00085FFFCCFFAE075
+:1090B000F093C6000E9431A960934E0870934F0848
+:1090C00080935008909351088090520890905308D4
+:1090D000A0905408B0905508681979098A099B092D
+:1090E000A20191010E947EB249015A01CA01B9014F
+:1090F000A70196010E947EB2CA01B901A70196019B
+:109100000E947EB27F936F93C501B40120E13EE0DF
+:1091100040E050E00E947EB23F932F93AAE8BBE06C
+:10912000BF93AF931F930F930E945BB6EFE2FEE0F5
+:1091300084910FB6F894DEBF0FBECDBF882349F0EF
+:109140009091C00095FFFCCF8093C600319684912A
+:10915000F5CFF8018191882339F09091C00095FFF7
+:10916000FCCF8093C600F6CF8091C00085FFFCCF76
+:109170003AE03093C600C8010E9448728DE59AE03B
+:109180000E945B3961E08DE59AE00E94873380910F
+:109190006308833211F470924A082091610830917B
+:1091A00062082115310509F424CE8091660890915A
+:1091B0006708689EF001699EF00D1124E20FF31F0D
+:1091C000E259F74F1082FC01E659F74F7082209167
+:1091D0006408309165082F5F3F4F309365082093F6
+:1091E0006408019664E070E00E946BB29093670897
+:1091F00080936608109260081092620810926108CD
+:10920000DECE4B3311F4709260084091600841113A
+:10921000D2CE4091660850916708B9016F5F7F4FC9
+:109220007093620860936108649EF001659EF00D82
+:109230001124E20FF31FE259F74F8083C0CE6E96E0
+:109240000FB6F894DEBF0FBECDBFDF91CF911F9157
+:109250000F91FF90EF90DF90CF90BF90AF909F90D5
+:109260008F907F906F905F904F903F902F900895D8
+:10927000CF92DF92EF92FF920F931F93CF93C82F5D
+:10928000809164089091650803970CF422DC0E9499
+:1092900031A9009156081091570820915808309133
+:1092A0005908C0905A08D0905B08E0905C08F09094
+:1092B0005D086C197D098E099F0906171707280795
+:1092C000390728F4012B022B032B09F0BBDB40915B
+:1092D0001D0250911E0260911F0270912002452BC9
+:1092E000462B472B19F10E9431A900915A08109181
+:1092F0005B0820915C0830915D08601B710B820B4C
+:10930000930B00911D0210911E0220911F023091BB
+:109310002002061717072807390740F490916D0EB1
+:1093200080916C0E981302C0CC2349F0CF911F910D
+:109330000F91FF90EF90DF90CF900C945B9A179A6B
+:109340001092350A169A1092360A159A1092370A18
+:10935000149AECCF0E94452180914C08811138C0AD
+:1093600081E080934C088091F3099091F409A091D9
+:10937000F509B091F6098093EF099093F009A09355
+:10938000F109B093F209E5E3FEE08491882341F00E
+:109390009091C00095FFFCCF8093C6003196F5CF29
+:1093A000EEE5F8E08491882341F09091C00095FFAC
+:1093B000FCCF8093C6003196F5CF8091C00085FF29
+:1093C000FCCF8AE08093C60084E598E00C94007698
+:1093D000089580914C080895CF93DF93EC0180911C
+:1093E000300A80934D0884E50E944340811102C0F9
+:1093F00080E075C00E942F400E9414AF60934D081A
+:109400006623B1F3EFE2FEE08491882341F090916E
+:10941000C00095FFFCCF8093C6003196F5CFCD36C6
+:10942000D105B9F054F4C836D105B1F0C936D1052B
+:1094300009F045C0EDEDF3E021C0CA3DD10531F0A2
+:10944000CD3DD105E1F5E8E9F3E036C0EFEAF3E020
+:1094500029C0E6ECF3E01CC0E4EFF3E0819188233F
+:1094600071F19091C00095FFFCCF8093C600F6CFBC
+:109470009091C00095FFFCCF8093C600819181112F
+:10948000F7CF1DC09091C00095FFFCCF8093C60020
+:1094900081918111F7CF13C09091C00095FFFCCF4F
+:1094A0008093C60081918111F7CF09C09091C000CF
+:1094B00095FFFCCF8093C60081918111F7CF40E0EA
+:1094C00050E060914D088CE99DE00E94918A809166
+:1094D000C00085FFFCCF8AE08093C60081E0DF9169
+:1094E000CF910895CF92DF92EF92FF922091540A8C
+:1094F0002223F1F020E030E040E05FE30E9475B10C
+:109500006B017C0120E030E0A9010E94A0AE88231D
+:1095100079F0A7019601C701B6010E9475B12BED44
+:109520003FE049E450E40E9475B19B01AC0104C0E6
+:1095300020E030E040E85FE360E070E080E89FE337
+:109540000E94A7AEFF90EF90DF90CF9008956091BA
+:109550005302709154028091550290915602C2DFDD
+:1095600060934F0270935002809351029093520285
+:1095700008953F924F925F926F927F928F929F9247
+:10958000AF92BF92CF92DF92EF92FF920F931F9311
+:10959000CF93DF93CDB7DEB7E9970FB6F894DEBF70
+:1095A0000FBECDBF80E50E9443408823B1F186E421
+:1095B0000E9443408823A9F0EAE1F4E081918823E6
+:1095C00039F09091C00095FFFCCF8093C600F6CF94
+:1095D0008091C00085FFFCCF8AE08093C6000C9488
+:1095E000F46082E50E944340882311F40C94F460F7
+:1095F000E0E2F4E08191882339F09091C00095FF7A
+:10960000FCCF8093C600F6CF8091C00085FFFCCFD1
+:109610008AE08093C6000C94F46087E40E94434083
+:10962000882309F44CC20E942F400E940FAF6A3079
+:10963000710509F4AFC09CF46230710509F44CC0A7
+:1096400024F477FF25C00C94F4606330710509F4AD
+:109650004EC06430710509F455C00C94F4606A354D
+:10966000710509F4D8C154F46B30710509F498C040
+:109670006C31710509F49AC00C94F4606B35710576
+:1096800009F4CDC16C35710509F4CEC10C94F460B8
+:1096900080914C0881110C94F4600E94BD4080912F
+:1096A0002D0A8823A9F088E50E944340811110C04B
+:1096B00089E50E94434081110BC08AE50E94434026
+:1096C000811106C085E40E94434081110C94F7602B
+:1096D0000E9403420C94F46080914C0881110C9418
+:1096E000F4600E943C4181E0FBD80C94F4608091CE
+:1096F0004C0881110C94F4600E943C4180E0F0D849
+:109700000C94F46081E89BE00E94007680E50E9462
+:109710004340882339F00E942F400E9414AF4B0130
+:109720005C0103C0812C912C540183E50E944340CD
+:10973000882361F00E942F4020E030E04AE754E4A3
+:109740000E9475B10E9414AF4B015C010E943D93D1
+:109750000E9431A96B017C01C80CD91CEA1CFB1CBE
+:109760000E9431A960935A0870935B0880935C084B
+:1097700090935D080E9431A96C157D058E059F05AB
+:1097800010F00C94F4600E94721E80E071DD0E9463
+:109790009C76F0CF60E081E00E94C2420C94F460BD
+:1097A00060E080E00E94C2420C94F460809121024B
+:1097B00090912202A0912302B09124028093FB0990
+:1097C0009093FC09A093FD09B093FE0980915D027E
+:1097D00090915E029093580A8093570A84E690E035
+:1097E00090935E0280935D020E9431A960935A08B3
+:1097F00070935B0880935C0890935D0881E00E9401
+:10980000F18B8091440A9091450AA091460AB0914B
+:10981000470A80930F0A9093100AA093110AB093FD
+:10982000120A8091480A9091490AA0914A0AB0917F
+:109830004B0A8093130A9093140AA093150AB093CD
+:10984000160A80914C0A90914D0AA0914E0AB0914F
+:109850004F0A8093170A9093180AA093190AB0939D
+:109860001A0A8091500A9091510AA091520AB0911F
+:10987000530A80931B0A90931C0AA0931D0AB0936D
+:109880001E0A1092210210922202109223021092BC
+:10989000240288E50E944340882311F090E00AC02A
+:1098A00089E50E9443408111F9CF8AE50E94434037
+:1098B00091E098279093250291110C94266188E5F8
+:1098C0000E94434081110C942661809125028111F0
+:1098D0000C942C6189E50E94434081110C942C6109
+:1098E00088E50E9443408823D1F00E943840672BCE
+:1098F000682B692BA1F00E942F402091380A3091EB
+:10990000390A40913A0A50913B0A0E94C7AD6093D0
+:10991000440A7093450A8093460A9093470A89E562
+:109920000E9443408823D1F00E943840672B682B67
+:10993000692BA1F00E942F4020913C0A30913D0AF2
+:1099400040913E0A50913F0A0E94C7AD6093480A79
+:109950007093490A80934A0A90934B0A809125029A
+:1099600081110C9432618AE50E94434081110C946C
+:1099700032618AE50E9443408823D1F00E9438403A
+:10998000672B682B692BA1F00E942F402091400A81
+:109990003091410A4091420A5091430A0E94C7AD5A
+:1099A00060934C0A70934D0A80934E0A90934F0A2D
+:1099B00020E53AE04CE45AE068E47AE084E49AE096
+:1099C0000E943EA480E00E94F18B8091FB0990915F
+:1099D000FC09A091FD09B091FE09809321029093AA
+:1099E0002202A0932302B09324028091570A9091FF
+:1099F000580A90935E0280935D020E9431A96093A1
+:109A00005A0870935B0880935C0890935D080E94ED
+:109A1000EA8B0C94F4601092EE090C94F46081E0EF
+:109A20008093EE090C94F46085E40E944340811118
+:109A300002C00E943D9357ECC52E54E0D52E68E33A
+:109A4000E62E6AE0F62E04E41AE0B12CF6018191CC
+:109A50006F010E944340882339F1F3E0BF120CC02C
+:109A60000E942F40F801608371838283938380E595
+:109A70009AE00E94E3A418C00E942F40F7012081C1
+:109A80003181428153810E94C7ADF80160837183A7
+:109A90008283938320E53AE04CE45AE068E47AE07C
+:109AA00084E49AE00E943EA4B394F4E0EF0EF11C2B
+:109AB0000C5F1F4F24E0B212C9CF0C94F4608DE408
+:109AC0000E944340882311F40C9423600E942F408D
+:109AD0000E940FAF6537710511F40C94C9550CF055
+:109AE000A6C06032710509F4F0C20CF056C06731AF
+:109AF000710509F445C254F56231710509F468C76E
+:109B0000BCF477FF02C00C94F460623071050CF471
+:109B100061C16131710511F00C94F46088E49BE03F
+:109B20000E94007617981698159814980C94F46073
+:109B30006531710509F418C20CF01CC2643171055D
+:109B400011F00C94F460E8E3FBE0EAC16B317105BD
+:109B500009F442C2B4F46931710509F429C20CF068
+:109B60002DC28DE59AE00E9416310E9431A96093C2
+:109B700052087093530880935408909355080C949E
+:109B8000F4606E31710509F462C20CF03AC36C31B5
+:109B9000710509F427C20C94F4606C35710509F461
+:109BA0006AC7ECF46235710509F409C764F46035DD
+:109BB000710509F4DAC60CF0E5C66A32710509F4DC
+:109BC0007EC30C94F4606435710509F401C70CF48C
+:109BD000FAC66535710509F433C70C94F4606B3629
+:109BE000710509F4BCC664F46936710509F4DEC375
+:109BF0000CF085C66836710509F4A8C30C94F460AE
+:109C00006037710509F4BFC334F46D36710509F48A
+:109C1000D9C40C94F4606237710509F4CEC7633778
+:109C2000710511F00C94F460EEEBF9E0ADC76D3DF9
+:109C3000710511F40C94D3590CF04DC06B3C7105B7
+:109C400011F40C944D5844F56C38710509F49DC31A
+:109C50009CF46837710511F40C94BD566937710591
+:109C600011F40C94C2566737710511F00C94F4602E
+:109C7000E7E2F4E00C94CD56683C710511F40C94C5
+:109C8000B757693C710511F40C942C586E3B710563
+:109C900011F00C94F46020C56F3C710511F40C9424
+:109CA000095954F46D3C710511F40C948C5814F45A
+:109CB0000C946A580C94EC58613D710511F40C94A5
+:109CC000645914F40C943E596C3D710511F40C94D4
+:109CD000C4590C94F460603931E0730711F40C94AA
+:109CE000965B54F56E3291E0790711F40C94505B59
+:109CF00084F46C32F1E07F0711F40C94545A14F0A0
+:109D00000C948A5A623E710511F40C94F9590C9422
+:109D1000F4606E3531E0730711F40C94905F6F3589
+:109D200081E0780711F40C94C75F6F32714011F035
+:109D30000C94F4600C945E5B6835E2E07E0711F4ED
+:109D40000C94745CBCF4663F21E0720711F40C942F
+:109D5000995B673F31E0730711F40C949C5B653F9E
+:109D6000714011F00C94F4600E9467870E9439835F
+:109D70000C94F4606B3893E0790711F40C946A5FEB
+:109D80003CF46335734011F40C949F5B0C94F460C5
+:109D9000603A23E0720709F401C2673E734011F094
+:109DA0000C94F46010924C080E9413768091EF0995
+:109DB0009091F009A091F109B091F2098093F30913
+:109DC0009093F409A093F509B093F6090E9492408C
+:109DD0000C94F46000915E0810915F080E5F1F4FB5
+:109DE00080E50E944340882379F00E942F400E9422
+:109DF00014AF6B017C01BB24B3946115710581051F
+:109E0000910531F4B12C04C0B12CC12CD12C7601B8
+:109E100083E50E944340882399F00E942F4020E070
+:109E200030E04AE754E40E9475B10E9414AF6B0120
+:109E30007C01AA24A394611571058105910509F49B
+:109E4000A12C6AE270E0C8010E9423B6009711F0CD
+:109E5000FC011082F801CF0121912032E1F3B11011
+:109E600007C0A11005C0222319F00E94487204C047
+:109E700080E79BE00E94007681E00E9428720E94A9
+:109E80003D930E9431A960935A0870935B088093B8
+:109E90005C0890935D08C114D104E104F104A9F0B9
+:109EA0000E9431A94B015C018C0C9D1CAE1CBF1C97
+:109EB0000E9431A9681579058A059B05B8F40E94AE
+:109EC0006277811113C00C9438610E9460778823F7
+:109ED00011F40C94F4600E94627781110AC00E9410
+:109EE000721E80E0C5D90E949C76F5CF80E00E946A
+:109EF000287280915F0A882331F081E69BE00E94FE
+:109F000000760C94F46081E59BE00E9400760C944E
+:109F1000F4609091C00095FFFCCF8093C60031960D
+:109F200084918111F6CF8091C00085FFFCCF8AE03B
+:109F30008093C6008DE59AE00E94F22FEAE2FBE0F2
+:109F40008491882341F09091C00095FFFCCF8093CD
+:109F5000C6003196F5CF8091C00085FFFCCF8AE026
+:109F60008093C6000C94F4608DE59AE00E9447301F
+:109F70000C94F4608DE59AE00E9412310C94F46028
+:109F800000915E0810915F080C5F1F4F6AE270E05D
+:109F9000C8010E9423B6009711F0FC01108221E055
+:109FA00041E0B8018DE59AE00E94EC340C94F46035
+:109FB0008DE59AE00E941D310C94F4608091600A56
+:109FC000882311F40C94F46083E50E9443408111CE
+:109FD0000C9441610C94F4608DE59AE00E94C132CA
+:109FE0000C94F46080915E0890915F086AE270E0E2
+:109FF00004960E9423B68C010097D9F0209168083E
+:10A000003091690840E6429FC001439F900D1124A2
+:10A010006EE470E08259974F0E9423B660E270E0D0
+:10A020000E9423B6019690935F0880935E08F80122
+:10A03000108260915E0870915F086C5F7F4F21E035
+:10A0400040E08DE59AE00E94EC340C94F46080913D
+:10A05000600A882311F40C94F46060E08DE59AE0C6
+:10A060000E947D3480915E0890915F086AE270E002
+:10A0700004960E9423B68C010097D9F020916808BD
+:10A080003091690840E6429FC001439F900D112422
+:10A090006EE470E08259974F0E9423B660E270E050
+:10A0A0000E9423B6019690935F0880935E08F801A2
+:10A0B000108260915E0870915F086C5F7F4F8DE544
+:10A0C0009AE00E9481310C94F46080915F0A8111C2
+:10A0D0000E943D9300915E0810915F080C5F1F4F36
+:10A0E0006AE270E0C8010E9423B67C0161E270E080
+:10A0F000C8010E9423B6009719F08C010F5F1F4F13
+:10A10000E114F10411F0F701108280E50E94434050
+:10A11000F82E20915E0830915F080217130708F4AB
+:10A12000F12C8091600A882311F40C94F46021E0F2
+:10A130002F2541E0B8018DE59AE00E94EC3483E5DB
+:10A140000E9443408823B9F020915E0830915F0857
+:10A150002017310780F40E943840AB01BC014093C6
+:10A16000FA0C5093FB0C6093FC0C7093FD0C85E48F
+:10A170009CE00E94A9128DE59AE00E941631F11030
+:10A180000C94F4600E9431A96093520870935308B4
+:10A1900080935408909355080C94F46080915E0865
+:10A1A00090915F086AE270E005960E9423B68C01E8
+:10A1B0000097D9F0209168083091690840E6429FE5
+:10A1C000C001439F900D11246EE470E08259974FB7
+:10A1D0000E9423B660E270E00E9423B6019690933D
+:10A1E0005F0880935E08F801108260915E087091AC
+:10A1F0005F086B5F7F4F8DE59AE00E9416380C94E4
+:10A20000F4600E9431A960934E0870934F088093C8
+:10A2100050089093510800915208109153082091D2
+:10A22000540830915508601B710B820B930B28EE7C
+:10A2300033E040E050E00E947EB2CA01B9012CE355
+:10A2400030E040E050E00E947EB27F936F933F93F6
+:10A250002F938BE19BE09F938F93CE0101969F9369
+:10A260008F930E945BB6EFE2FEE084910FB6F89404
+:10A27000DEBF0FBECDBF882349F09091C00095FF8F
+:10A28000FCCF8093C60031968491F5CFFE013196C4
+:10A290008191882339F09091C00095FFFCCF809385
+:10A2A000C600F6CF8091C00085FFFCCF8AE0809386
+:10A2B000C600CE0101960E9448720C94F46083E5BA
+:10A2C0000E944340882311F40C94F4600E942F40B4
+:10A2D0000E940FAFF62EE72E862F9E2D8C0180E573
+:10A2E0000E944340882331F00F3F110509F010F41C
+:10A2F0000C9452610DE010E0EFE8F4E0819191914F
+:10A300008017910711F40C94F46034E0E73CF307F4
+:10A31000A9F70830110539F48F2D9E2D90932F0A3F
+:10A3200080932E0A04C017FF02C00C94F46061E011
+:10A33000802F0E9451A86F2D802F0E948AA86F2D18
+:10A340007E2D802F0E9447A70C94F46088E690E051
+:10A3500043D881110C94F46083E50E944340882324
+:10A3600071F000914D080E942F4010E0000F111F66
+:10A37000085B174F0E940FAFF801718360830E9442
+:10A3800044210C94F4600E94224583E50E944340DE
+:10A39000882311F40C94F4600E942F400E940FAFA8
+:10A3A00070934708609346080C94F46089E690E047
+:10A3B00013D881110C94F460E5E1FBE084918823CB
+:10A3C00041F09091C00095FFFCCF8093C60031967C
+:10A3D000F5CFE0914D0824E0E29FF0011124E05C0C
+:10A3E000F74F408151816281738121E030E08CE937
+:10A3F0009DE00E94308BE2E1FBE08491882341F0F4
+:10A400009091C00095FFFCCF8093C6003196F5CFA8
+:10A41000E0914D08F0E0EE0FFF1FE85BF74F608121
+:10A420007181882777FD8095982F0E9442AFAB01FC
+:10A43000BC0121E030E08CE99DE00E94308BEEE031
+:10A44000FBE08491882341F09091C00095FFFCCF00
+:10A450008093C6003196F5CF40913A0850913B0861
+:10A4600060913C0870913D0821E030E08CE99DE06E
+:10A470000E94308BEBE0FBE08491882341F09091C7
+:10A48000C00095FFFCCF8093C6003196F5CF609158
+:10A49000460870914708882777FD8095982F0E947D
+:10A4A00042AFAB01BC0121E030E08CE99DE00E94AD
+:10A4B000308BE8E0FBE08491882341F09091C0006C
+:10A4C00095FFFCCF8093C6003196F5CF4AE050E06F
+:10A4D00060E070E08CE99DE00E945A8AE6E0FBE0D3
+:10A4E0008491882341F09091C00095FFFCCF809328
+:10A4F000C6003196F5CF40914008509141086091D7
+:10A5000042087091430821E030E08CE99DE00E9410
+:10A51000308BE3E0FBE08491882341F09091C00010
+:10A5200095FFFCCF8093C6003196F5CF6091480827
+:10A5300070914908882777FD8095982F0E9442AF37
+:10A54000AB01BC0121E030E08CE99DE00E94308B42
+:10A55000EFEFFAE08491882341F09091C00095FFDD
+:10A56000FCCF8093C6003196F5CF80914D0890E0E6
+:10A570000E943C1E4AE050E0BC018CE99DE00E9434
+:10A580005A8AEAEFFAE08491882341F09091C00062
+:10A5900095FFFCCF8093C6003196F5CF8FEF9FEFEC
+:10A5A0000E943C1E4AE050E0BC018CE99DE00E9404
+:10A5B0005A8A8091C00085FFFCCF8AE08093C60054
+:10A5C0000C94B0628DE690E00E94EC4981110C94ED
+:10A5D000F4608FEE9AE00E94007683E50E9443408B
+:10A5E000882391F000914D080E942F4010E0000F49
+:10A5F000111F085B174F0E940FAFF8017183608332
+:10A6000081E080931C0215C082E50E9443408823AC
+:10A6100081F000914D080E942F4010E0000F111FA3
+:10A62000085B174F0E940FAFF8017183608310928F
+:10A630001C020E9444210E9431A94B015C0100913F
+:10A640004D0810E0F801EE0FFF1FE85BF74F608147
+:10A650007181882777FD8095982F0E9442AFF8017D
+:10A66000EE0FFF1FEE0FFF1FE05CF74F11E02081A0
+:10A670003181428153810E94A3B018160CF010E082
+:10A6800010934B0810921F0ACC24CA94DC2C76013C
+:10A6900048EE442E43E0542E612C712C5AE0352EA6
+:10A6A00080911F0A81110C946D62FFEFCF16DF06B7
+:10A6B000EF06FF0611F40C945961F7FE02C00C94EA
+:10A6C0006D620E9431A96C197D09683B7B4010F4D2
+:10A6D0000C9459610C946D6289EC9AE00E940076AA
+:10A6E00083E50E944340882361F00E942F400E942E
+:10A6F0000FAF709347086093460881E080931C0277
+:10A700000FC082E50E944340882351F00E942F40F1
+:10A710000E940FAF709347086093460810921C0286
+:10A720000E9431A94B015C0110921F0A60914608FA
+:10A7300070914708882777FD8095982F0E9442AF37
+:10A7400011E020913A0830913B0840913C0850912B
+:10A750003D080E94A3B018160CF010E010934B08AF
+:10A7600006EC1AE0E2ECEE2EEAE0FE2EFEEBCF2E37
+:10A77000FAE0DF2EAAE07A2E80914B08609146081D
+:10A7800070914708882309F48BC080911F0A8111BA
+:10A7900087C0882777FD8095982F0E9442AF20912F
+:10A7A0003A0830913B0840913C0850913D080E9486
+:10A7B000A3B018160CF08BC00E9431A96819790952
+:10A7C0008A099B09693E73408105910508F460C0C0
+:10A7D000E091300A84E0E89FF0011124E05CF74F3B
+:10A7E0004081518162817381F8018491E6ECFAE045
+:10A7F000882349F09091C00095FFFCCF8093C6005C
+:10A8000031968491F5CF22E030E08CE99DE00E9402
+:10A81000308BF7018491E2ECFAE0882349F09091C3
+:10A82000C00095FFFCCF8093C60031968491F5CF90
+:10A830006091300A70E04AE050E08CE99DE00E94AF
+:10A840005A8AF6018491EEEBFAE0882349F0909160
+:10A85000C00095FFFCCF8093C60031968491F5CF60
+:10A8600040913A0850913B0860913C0870913D0836
+:10A8700021E030E08CE99DE00E94308B8091C000A7
+:10A8800085FFFCCF7092C6000E9431A94B015C018C
+:10A890000E94721E80E00E9438490E949C766CCF14
+:10A8A000882777FD8095982F0E9442AF20913A0823
+:10A8B00030913B0840913C0850913D080E94A0AE69
+:10A8C00087FF05C080911C02882309F475CF84EBB3
+:10A8D0009AE00E94007680915F0A882321F08EE73B
+:10A8E00093E00E9448720E9431A960935A087093C5
+:10A8F0005B0880935C0890935D080C94F46083E59A
+:10A900000E944340882319F10E942F4020E030E04C
+:10A91000A9010E94A0AE87FD0FC00E942F4020E039
+:10A9200030E04FE753E40E94A3B0181644F00E94B1
+:10A930002F400E940FAF05C060E070E002C06FEFD3
+:10A9400070E070932F0A60932E0A0C94F4608FEFDE
+:10A9500090E090932F0A80932E0A0C94F46010924A
+:10A960002F0A10922E0A0C94F4609B9AA39881E00F
+:10A970008093260284EA9AE00E9400760E949C76E8
+:10A980000C94F4600E9445210E943D93149A0E9409
+:10A99000A79310922F0A10922E0A68EE73E080E0BF
+:10A9A00090E00E9460A99B9AA39A1092260286E9E1
+:10A9B0009AE00E9400760E949C760C94F4601092BB
+:10A9C0005C0A0C94F46081E080935C0A0C94F4605F
+:10A9D00083E50E9443408823A1F00E942F4020E09D
+:10A9E00030E04AE754E40E9475B10E9414AF6093CE
+:10A9F0001D0270931E0280931F02909320020C94FC
+:10AA0000F46088E50E94434081110C948E6289E5D0
+:10AA10000E94434081110C948E628AE50E9443405B
+:10AA200081110C948E6285E40E94434081110C9444
+:10AA30008E620E943D93149A0E94A7930C94F46036
+:10AA400083E50E944340882311F40C94F4600E9433
+:10AA50002F4020E030E04AE754E40E9475B10E94A4
+:10AA600014AF6093560870935708809358089093DA
+:10AA700059080C94F46027EC34E039AF28AF01EAB0
+:10AA800013E161EB862E63E1962E75E6A72E73E146
+:10AA9000B72E312CE8ADF9AD8191F9AFE8AF0E9446
+:10AAA0004340882309F45BC0F3E03F1251C00E9489
+:10AAB0002F406B017C0120E030E040EA51E40E942D
+:10AAC000A0AE87FF3FC0A7019601F80160817181A8
+:10AAD000828193810E94A7AE2B013C019B01AC01B6
+:10AAE0006091791370917A1380917B1390917C130C
+:10AAF0000E9475B16093791370937A1380937B13DE
+:10AB000090937C13A3019201F40160817181828191
+:10AB100093810E9475B1F401608371838283938372
+:10AB2000F50160817181828193810E9440AFA30110
+:10AB300092010E9475B10E9414AFF5016083718388
+:10AB400082839383F801C082D182E282F38207C0BC
+:10AB50000E942F40F8016083718382839383339432
+:10AB60000C5F1F4FF4E08F0E911C24E0A20EB11C6D
+:10AB700034E033128FCF0C94F4609091C00095FFB5
+:10AB8000FCCF8093C600319684918111F6CF0C944E
+:10AB9000F46000915E0810915F080B5F1F4F6AE23E
+:10ABA00070E0C8010E9423B6009711F0FC011082EA
+:10ABB000C8010E9448720C94F460EBEBF9E08491B8
+:10ABC000882341F09091C00095FFFCCF8093C60090
+:10ABD0003196F5CF4091440A5091450A6091460A5A
+:10ABE0007091470A22E030E08CE99DE00E94308BB2
+:10ABF000E7EBF9E08491882341F09091C00095FF44
+:10AC0000FCCF8093C6003196F5CF4091480A509111
+:10AC1000490A60914A0A70914B0A22E030E08CE9BF
+:10AC20009DE00E94308BE3EBF9E08491882341F0B2
+:10AC30009091C00095FFFCCF8093C6003196F5CF70
+:10AC400040914C0A50914D0A60914E0A70914F0A02
+:10AC500022E030E08CE99DE00E94308BEFEAF9E0E1
+:10AC60008491882341F09091C00095FFFCCF8093A0
+:10AC7000C6003196F5CF4091500A5091510A60912B
+:10AC8000520A7091530A22E030E08CE99DE00E9464
+:10AC9000308BE4EAF9E08491882341F09091C00080
+:10ACA00095FFFCCF8093C6003196F5CF0E94999313
+:10ACB0000E9442AF2091A1133091A2134091A3139F
+:10ACC0005091A4130E94A7AEAB01BC0122E030E07A
+:10ACD0008CE99DE00E94308BE0EAF9E084918823C2
+:10ACE00041F09091C00095FFFCCF8093C600319653
+:10ACF000F5CF81E00E9499930E9442AF2091A51365
+:10AD00003091A6134091A7135091A8130E94A7AEAB
+:10AD1000AB01BC0122E030E08CE99DE00E94308B69
+:10AD2000ECE9F9E08491882341F09091C00095FF0F
+:10AD3000FCCF8093C6003196F5CF82E00E949993B4
+:10AD40000E9442AF2091A9133091AA134091AB13F6
+:10AD50005091AC130E94A7AEAB01BC0122E030E0E1
+:10AD60008CE99DE00E94308B8091C00085FFFCCF74
+:10AD70008AE08093C6000C94F46080E00E94F18B1E
+:10AD80000C94F46081E00E94F18B0C94F46090913B
+:10AD9000C00095FFFCCF8093C60081918111F7CF51
+:10ADA0008091C00085FFFCCF8AE08093C600E4E973
+:10ADB000F9E08491882341F09091C00095FFFCCF89
+:10ADC0008093C6003196F5CF1E9B03C0EBE0F4E004
+:10ADD00009C0E5E1F4E006C09091C00095FFFCCF0A
+:10ADE0008093C60081918111F7CF8091C00085FFCB
+:10ADF000FCCF8AE08093C600ECE8F9E084918823D8
+:10AE000041F09091C00095FFFCCF8093C600319631
+:10AE1000F5CF029903C0EBE0F4E009C0E5E1F4E00E
+:10AE200006C09091C00095FFFCCF8093C600819131
+:10AE30008111F7CF8091C00085FFFCCF8AE080931D
+:10AE4000C600E4E8F9E08491882341F09091C000C5
+:10AE500095FFFCCF8093C6003196F5CF1D9B03C0B4
+:10AE6000EBE0F4E009C0E5E1F4E006C09091C00039
+:10AE700095FFFCCF8093C60081918111F7CF80911F
+:10AE8000C00085FFFCCF8AE08093C600ECE7F9E0C4
+:10AE90008491882341F09091C00095FFFCCF80936E
+:10AEA000C6003196F5CF019903C0EBE0F4E009C08C
+:10AEB000E5E1F4E006C09091C00095FFFCCF8093DF
+:10AEC000C60081918111F7CF8091C00085FFFCCF32
+:10AED0008AE08093C600E4E7F9E08491882341F09A
+:10AEE0009091C00095FFFCCF8093C6003196F5CFBE
+:10AEF0001C9B03C0EBE0F4E009C0E5E1F4E006C010
+:10AF00009091C00095FFFCCF8093C6008191811184
+:10AF1000F7CF8091C00085FFFCCF8AE08093C60008
+:10AF2000ECE6F9E08491882341F09091C00095FF10
+:10AF3000FCCF8093C6003196F5CF379903C0EBE084
+:10AF4000F4E009C0E5E1F4E006C09091C00095FF8F
+:10AF5000FCCF8093C60081918111F7CF8091C00012
+:10AF600085FFFCCF8AE08093C6000C94F46080914A
+:10AF7000300A80934D0884E50E944340882319F1EC
+:10AF80000E942F400E9414AF60934D086623D9F0B1
+:10AF9000EFE2FEE08491882341F09091C00095FF9C
+:10AFA000FCCF8093C6003196F5CFE0E4F4E08191C8
+:10AFB000882311F40C94F4609091C00095FFFCCFAD
+:10AFC0008093C600F4CF84E40E944340882311F4A8
+:10AFD0000C94F4600E942F4020E030E0A9010E9410
+:10AFE000A0AE811103C01092540A32C000914D08E6
+:10AFF00010E00E942F40F801EE0FFF1FEE0FFF1F21
+:10B00000ED5AFD4F6083718382839383E0905302F6
+:10B01000F0905402009155021091560220E030E069
+:10B02000A901B701C8010E94A0AE811104C0E12CA2
+:10B03000F12C00E410E4C701D801809353029093EF
+:10B040005402A0935502B093560281E08093540AB3
+:10B050000E94A74A0C94F46007EC14E041E9E42E46
+:10B0600043E1F42EF80181918F010E94434088232F
+:10B0700049F00E942F400E9414AFF7016083718352
+:10B0800082839383F4E0EF0EF11C24E00B3C120763
+:10B0900049F70E9410A50C94F46007EC14E031EB22
+:10B0A000E32E33E1F32EF80181918F010E9443409A
+:10B0B000882339F00E942F40F701608371838283D7
+:10B0C0009383F4E0EF0EF11C24E00B3C120759F7D8
+:10B0D0000C94F46083E50E944340882351F00E9461
+:10B0E0002F406093891370938A1380938B139093EE
+:10B0F0008C1384E50E944340882311F40C94F4607F
+:10B100000E942F406093851370938613809387135A
+:10B11000909388130C94F46083E50E944340882345
+:10B1200051F00E942F4060938D1370938E13809383
+:10B130008F139093901384E50E944340882351F02D
+:10B140000E942F406093751370937613809377134A
+:10B150009093781382E40E944340882361F00E9418
+:10B160002F400E9414AF6093C1137093C213809359
+:10B17000C3139093C41388E50E944340882351F081
+:10B180000E942F40609381137093821380938313E6
+:10B19000909384138AE50E944340882351F00E94D3
+:10B1A0002F4060937D1370937E1380937F13909351
+:10B1B000801385E40E944340882311F40C94F460CA
+:10B1C0000E942F406093791370937A1380937B13BE
+:10B1D00090937C130C94F46007EC14E028E3E22EC7
+:10B1E0002AE0F22EF80181918F010E9443408823CA
+:10B1F00039F00E942F40F70160837183828393832B
+:10B20000F4E0EF0EF11C24E00A3C120709F4ECC74D
+:10B21000E9CF83E50E944340882351F00E942F40EC
+:10B220006093330270933402809335029093360218
+:10B2300086E40E944340882381F00E942F4020E052
+:10B2400030E040E752E40E94A7AE60932B02709377
+:10B250002C0280932D0290932E028AE50E94434097
+:10B26000882309F4C1C70E942F406093280A709375
+:10B27000290A80932A0A90932B0AB6C783E50E9475
+:10B280004340882351F00E942F406093240A70931A
+:10B29000250A8093260A9093270A86E40E94434059
+:10B2A000882309F4A1C70E942F4020E030E040E746
+:10B2B00052E40E94A7AE6093270270932802809305
+:10B2C000290290932A0290C783E50E944340882375
+:10B2D00009F48AC70E942F400E940FAF61157105C3
+:10B2E00049F06130710559F481E080932D0A109284
+:10B2F0002C0A7AC710922D0A10922C0A75C7EFE219
+:10B30000FEE08491882341F09091C00095FFFCCF2E
+:10B310008093C6003196F5CFE9E5F9E08491882362
+:10B3200041F09091C00095FFFCCF8093C60031960C
+:10B33000F5CF809168089091690820E6289FF00178
+:10B34000299FF00D1124E259F74F8191882339F09C
+:10B350009091C00095FFFCCF8093C600F6CFE7E543
+:10B36000F9E08491882341F09091C00095FFFCCFD3
+:10B370008093C6003196F5CF8091C00085FFFCCF49
+:10B380008AE08093C60030C783E50E94434088234B
+:10B3900009F42AC70E942F400E940FAF70935E02EB
+:10B3A00060935D0221C783E50E944340882309F42E
+:10B3B0001BC70E942F400E940FAF6B017C0184E5E8
+:10B3C0000E944340882381F08DED90E00E94EC497B
+:10B3D00081110AC7E0914D08F0E0EE0FFF1FE75A18
+:10B3E000FD4FD182C08200C7D0925C02C0925B0246
+:10B3F000FBC680E50E944340882309F4F5C60E94FD
+:10B400002F400E940FAFD62E062F172F83E50E94E4
+:10B410004340882331F00E942F400E940FAF7B01F0
+:10B4200003C0EE24EA94FE2CC7010196039708F0AE
+:10B43000DBC6EFE8F4E0819191918017910709F460
+:10B44000D3C634E0E73CF307B1F717FDCDC60E9441
+:10B450003D93CD2C60E08D2D0E9451A88FEFE81612
+:10B46000F80631F0EA94EF2871F000E010E00DC02A
+:10B470008D2D0E94BFA831E020E0892B09F030E03B
+:10B48000032F122F02C001E010E08C2D0E94BFA8F4
+:10B490008017910709F4A8C60E94721E80E00E94DE
+:10B4A00038490E949C76F1CF83E50E94434088236F
+:10B4B00031F00E942F400E940FAF8B0102C00EE6B8
+:10B4C00010E080E50E944340882331F00E942F4025
+:10B4D0000E940FAFCB0102C088EE93E06C01EE2416
+:10B4E000D7FCE094FE2C101611067CF420E030E02E
+:10B4F000A901B80184E50E94FDA9C701B6010E9417
+:10B5000060A984E50E940EAD6FC6C701B6010E9416
+:10B5100060A96AC680E50E944340882351F00E94DA
+:10B520002F40609318027093190280931A0290932F
+:10B530001B0289E40E944340882361F00E942F404F
+:10B540000E94B7276093140270931502809316022D
+:10B550009093170284E40E944340882361F00E9484
+:10B560002F400E94C32760931002709311028093B2
+:10B5700012029093130283E40E944340882351F007
+:10B580000E942F4060930C0270930D0280930E0274
+:10B5900090930F020E94251EE7E5F4E08191882335
+:10B5A00039F09091C00095FFFCCF8093C600F6CF94
+:10B5B000EAE5F4E08191882339F09091C00095FF8D
+:10B5C000FCCF8093C600F6CF40911802509119022B
+:10B5D00060911A0270911B0222E030E08CE99DE03C
+:10B5E0000E94308BEEE5F4E08191882339F0909150
+:10B5F000C00095FFFCCF8093C600F6CF6091140287
+:10B600007091150280911602909117020E94BD2739
+:10B61000AB01BC0122E030E08CE99DE00E94308B60
+:10B62000E2E6F4E08191882339F09091C00095FF23
+:10B63000FCCF8093C600F6CF60911002709111028A
+:10B6400080911202909113020E94C927AB01BC01A4
+:10B6500022E030E08CE99DE00E94308BE6E6F4E0E9
+:10B660008191882339F09091C00095FFFCCF8093A1
+:10B67000C600F6CF40910C0250910D0260910E026F
+:10B6800070910F0222E030E08CE99DE00E94308B47
+:10B690008091C00085FFFCCF8AE08093C600A4C5DE
+:10B6A00083E50E944340882319F00E942F4003C085
+:10B6B00060E070E0CB010E9407A596C585E40E947A
+:10B6C0004340882341F00E942F400E940FAF8B011E
+:10B6D00077FF03C009C000E010E0C12CD12CB6E117
+:10B6E000EB2EB3E4FB2E06C0C12CD12CACE8EA2E25
+:10B6F000A2E4FA2E83E50E944340882321F00E94B1
+:10B700002F406B017C0183E40E944340882331F089
+:10B710000E942F400E940FAF9B0102C025E030E045
+:10B72000A801C701B6010E9458215EC50E943D9341
+:10B730005BC50E94678758C50E94398355C58AE555
+:10B740000E944340882309F497C00E942F406B0158
+:10B750007C0120E030E040E751EC0E94A3B087FD7F
+:10B760003FC020E030E040EA50ECC701B6010E9443
+:10B77000A0AE1816ACF1F7FAF094F7F8F094C09276
+:10B78000310AD092320AE092330AF092340AEFE2A0
+:10B79000FEE08491882341F09091C00095FFFCCF9A
+:10B7A0008093C6003196F5CFEBE4F9E084918823CD
+:10B7B00041F09091C00095FFFCCF8093C600319678
+:10B7C000F5CF8091C00085FFFCCF8AE08093C60052
+:10B7D0008091C00085FFFCCF8AE08093C60004C53D
+:10B7E000EFE2FEE08491882341F09091C00095FF44
+:10B7F000FCCF8093C6003196F5CFE2E4F9E0849166
+:10B80000882341F09091C00095FFFCCF8093C60043
+:10B810003196F5CFEAE3F9E08491882341F09091E5
+:10B82000C00095FFFCCF8093C6003196F5CF4AE06B
+:10B8300050E061EF7FEF8CE99DE00E945A8AE2E3DD
+:10B84000F9E08491882341F09091C00095FFFCCFEE
+:10B850008093C6003196F5CF4AE050E06BEF7FEF62
+:10B860008CE99DE00E945A8A8091C00085FFFCCF40
+:10B870008AE08093C600B8C4EFE2FEE0849188239A
+:10B8800041F09091C00095FFFCCF8093C6003196A7
+:10B89000F5CFE6E2F9E08491882341F09091C00071
+:10B8A00095FFFCCF8093C6003196F5CF8091C00004
+:10B8B00085FFFCCF8AE08093C6004091310A509109
+:10B8C000320A6091330A7091340A705822E030E0F5
+:10B8D0008CE99DE00E94308B8091C00085FFFCCFF9
+:10B8E0008AE08093C60080C480915D0290915E02E0
+:10B8F0009093580280935702C090440AD090450A12
+:10B90000E090460AF090470ACF8ED8A2E9A2FAA2A8
+:10B910000091480A1091490A20914A0A30914B0A35
+:10B920000BA31CA32DA33EA340914C0A50914D0A9A
+:10B9300060914E0A70914F0A4FA358A769A77AA742
+:10B940008091500A9091510AA091520AB091530AE5
+:10B950008BA79CA7ADA7BEA7C982DA82EB82FC8227
+:10B960000D831E832F83388749875A876B877C878F
+:10B970008D879E87AF87B88B85E40E9443408823DC
+:10B9800059F00E942F409B01AC016BA57CA58DA5B1
+:10B990009EA50E94C7AD0AC020E030E040E050E420
+:10B9A0006BA57CA58DA59EA50E94C6AD6BA77CA7A7
+:10B9B0008DA79EA7E0E3CE2EEAE0DE2EE12CF12C4F
+:10B9C00008EC13E49E01255D3F4FAE01495D5F4FDA
+:10B9D000BE016D5D7F4FCE014F960E94779A8AE53A
+:10B9E0000E944340882349F00E942F409B01AC01F4
+:10B9F0006FA178A589A59AA51EC020E030E040E09F
+:10BA000050E46FA178A589A59AA50E94C7AD6B01E6
+:10BA10007C016FA378A789A79AA720E030E040E2D5
+:10BA200051E40E94A0AE87FF0CC020E030E040E26D
+:10BA300051E4C701B6010E94C7AD6FA378A789A7DB
+:10BA40009AA760E3C62E6AE0D62EE12CF12C06E917
+:10BA500013E49E01255D3F4FAE01495D5F4FBE017E
+:10BA60006D5D7F4FCE014F960E94779A88E50E94C8
+:10BA70004340882379F00E942F409B01AC016F8DD9
+:10BA800078A189A19AA10E94C7AD6F8F78A389A3DD
+:10BA90009AA308C080E090E0A3E5B3E48F8F98A359
+:10BAA000A9A3BAA389E50E944340882339F00E94E4
+:10BAB0002F406BA37CA38DA39EA304C01BA21CA23A
+:10BAC0001DA21EA240E3C42E4AE0D42EE12CF12C8C
+:10BAD0000CE812E49E01255D3F4FAE01495D5F4FCA
+:10BAE000BE016D5D7F4FCE014F960E94779A8CE428
+:10BAF0000E944340882359F00E942F409B01AC01D3
+:10BB00006BA57CA58DA59EA50E94C7AD0AC020E0AF
+:10BB100030E040EA52E46BA57CA58DA59EA50E946D
+:10BB2000C6AD6BA77CA78DA79EA720E3C22E2AE0F7
+:10BB3000D22EE12CF12C00EA11E49E01255D3F4F4D
+:10BB4000AE01495D5F4FBE016D5D7F4FCE014F96E7
+:10BB50000E94779A0E943D93149A64E670E080E018
+:10BB600090E00E9460A90E94827100E010E0F12C38
+:10BB70000E94627781112AC0F3940E94721E81E0B4
+:10BB80000E943849F110F4CF043FE1E01E0711F4A0
+:10BB900000E010E0809101018460809301010115B3
+:10BBA000110531F49FB7F89480910201846008C0B8
+:10BBB0000431110541F49FB7F894809102018B7F05
+:10BBC000809302019FBF0F5F1F4FD2CF9FB7F894A2
+:10BBD000809102018B7F809302019FBF20E030E0C3
+:10BBE0004CE852E46BA57CA58DA59EA50E94C7AD2F
+:10BBF0006BA77CA78DA79EA710E3C12E1AE0D12EBC
+:10BC0000E12CF12C00EA11E49E01255D3F4FAE01CD
+:10BC1000495D5F4FBE016D5D7F4FCE014F960E9423
+:10BC2000779A20E030E048E452E46BA57CA58DA52E
+:10BC30009EA50E94C7AD6BA77CA78DA79EA7E12CF0
+:10BC4000F12C00E010E49E01255D3F4FAE01495DFF
+:10BC50005F4FBE016D5D7F4FCE014F960E94779A78
+:10BC60001092560A1092550A0E94E8718091550A66
+:10BC70009091560A019709F47CC01092560A1092CE
+:10BC8000550A0E9468778091550A9091560A823031
+:10BC9000910549F1039709F069C020E030E048E4DC
+:10BCA00052E46BA57CA58DA59EA50E94C7AD6BA790
+:10BCB0007CA78DA79EA770E3C72E7AE0D72EE12C34
+:10BCC000F12C00E010E49E01255D3F4FAE01495D7F
+:10BCD0005F4FBE016D5D7F4FCE014F960E94779AF8
+:10BCE0000E94A871C3CF20E030E04CE852E46BA57D
+:10BCF0007CA58DA59EA50E94C7AD6BA77CA78DA72F
+:10BD00009EA7F0E3CF2EFAE0DF2EE12CF12C00EA23
+:10BD100011E49E01255D3F4FAE01495D5F4FBE01BD
+:10BD20006D5D7F4FCE014F960E94779A20E030E004
+:10BD300048E452E46BA57CA58DA59EA50E94C7ADE5
+:10BD40006BA77CA78DA79EA7E12CF12C00E010E447
+:10BD50009E01255D3F4FAE01495D5F4FBE016D5DA8
+:10BD60007F4FCE014F960E94779A7ECF0E949B71A3
+:10BD70007DCF20E030E040EA50E46BA57CA58DA5A6
+:10BD80009EA50E94C7AD6BA77CA78DA79EA790E339
+:10BD9000C92E9AE0D92EE12CF12C00E010E49E018E
+:10BDA000255D3F4FAE01495D5F4FBE016D5D7F4F29
+:10BDB000CE014F960E94779AA80197016BA57CA5AA
+:10BDC0008DA59EA50E94C6AD6BA77CA78DA79EA73B
+:10BDD000E12CF12C08EC13E49E01255D3F4FAE01F0
+:10BDE000495D5F4FBE016D5D7F4FCE014F960E9452
+:10BDF000779AE12CF12C0CE812E49E01255D3F4F6F
+:10BE0000AE01495D5F4FBE016D5D7F4FCE014F9624
+:10BE10000E94779A9E01255D3F4FAE01495D5F4FBD
+:10BE2000BE016B5F7F4FCE0101960E94779AE12C95
+:10BE3000F12C08E413E49E01255D3F4FAE01475FFE
+:10BE40005F4FBE016B5F7F4FCE0101960E94779AD4
+:10BE500020E030E040E050E46BA57CA58DA59EA5D8
+:10BE60000E94C7AD6BA77CA78DA79EA7E12CF12CE4
+:10BE700000EA10E49E01255D3F4FAE01475F5F4F32
+:10BE8000BE016B5F7F4FCE0101960E94779ACE0173
+:10BE90000D960E94E3A480915702909158028093DE
+:10BEA0005D0290935E029F938F938DE199E09F9343
+:10BEB0008F938E01015D1F4F1F930F930E945BB6FE
+:10BEC000C8010E94C03D0F900F900F900F900F90EF
+:10BED0000F908AC188E50E944340882339F00E9470
+:10BEE0002F400E940FAF80E00E9445948AE50E9497
+:10BEF0004340882339F00E942F400E940FAF81E019
+:10BF00000E94459485E40E944340882309F46CC153
+:10BF10000E942F400E940FAF82E00E94459464C1AE
+:10BF200083E50E944340811104C007EC14E0F12C2A
+:10BF300010C010E00E942F400E9414AF812F0E9479
+:10BF4000E4941F5F1530B1F7F0CFF394F4E0FF16DF
+:10BF500079F0F80181918F010E9443408823A9F371
+:10BF60000E942F400E9414AF8F2D0E94E494EDCFC9
+:10BF700082E40E944340882339F00E942F400E94AF
+:10BF800014AF84E00E94E4940E94AA952DC183E539
+:10BF90000E944340882309F453C00E942F400E940E
+:10BFA0000FAF6130710541F06230710509F048C092
+:10BFB00007EC14E0F12C25C007EC14E0F12CF8019B
+:10BFC00081918F010E944340882341F00E942F40BD
+:10BFD0000E940FAF4FEF8F2D0E94A694F394F4E0D0
+:10BFE000FF12EDCF82E40E944340882349F10E9472
+:10BFF0002F400E940FAF4FEF20C0F394F4E0FF16E4
+:10C0000089F0F80181918F010E9443408823A9F3B0
+:10C010000E942F400E940FAF462F6FEF8F2D0E947E
+:10C02000A694EBCF82E40E944340882349F00E940B
+:10C030002F400E940FAF462F6FEF84E00E94A6941E
+:10C040000E94AA95D1C084E50E944340882309F448
+:10C0500087C00E942F400E9414AF60934D08662352
+:10C06000A9F1EFE2FEE08491882341F09091C000B5
+:10C0700095FFFCCF8093C6003196F5CFEAE6F4E059
+:10C080008191882339F09091C00095FFFCCF809377
+:10C09000C600F6CF40E050E060914D088CE99DE08D
+:10C0A0000E94918AECE6F4E08191882339F0909126
+:10C0B000C00095FFFCCF8093C600F6CF8091C000F2
+:10C0C00085FFFCCF8AE08093C6008EC086E40E9484
+:10C0D00043408823D9F00E942F406B017C0160937C
+:10C0E000FF097093000A8093010A9093020A20E0EE
+:10C0F00030E0A9010E94A3B0181644F4C0922102B6
+:10C10000D0922202E0922302F0922402EFE2FEE0BB
+:10C110008491882341F09091C00095FFFCCF8093DB
+:10C12000C6003196F5CFEDE7F4E08191882339F030
+:10C130009091C00095FFFCCF8093C600F6CF609130
+:10C14000300A70E04AE050E08CE99DE00E945A8A93
+:10C150008091C00085FFFCCF8AE08093C60044C078
+:10C16000EFE2FEE08491882341F09091C00095FFBA
+:10C17000FCCF8093C6003196F5CFEAE0F9E08491D8
+:10C18000882341F09091C00095FFFCCF8093C600BA
+:10C190003196F5CF809168089091690820E6289F34
+:10C1A000F001299FF00D1124E259F74F8191882366
+:10C1B00039F09091C00095FFFCCF8093C600F6CF78
+:10C1C000E8E0F9E08491882341F09091C00095FF68
+:10C1D000FCCF8093C6003196F5CF8091C00085FFDB
+:10C1E000FCCF8AE08093C6000E946A40B9C1C0902B
+:10C1F0001B0AD0901C0AE0901D0AF0901E0A2091A4
+:10C20000500A3091510A4091520A5091530AC70185
+:10C21000B6010E94C6AD2DEC3CEC4CEC5DE30E94F7
+:10C22000A3B0181614F00C94684BC092500AD09228
+:10C23000510AE092520AF092530A80E59AE00E9475
+:10C24000E3A460E080E00E94C2428AC180E090E006
+:10C250000E942E3C0C94654C81E090E00E942E3CA4
+:10C260000C94704C82E090E00E942E3C0C94B94CEF
+:10C270000E94721E80E00E9438490E949C760C94B5
+:10C28000584F0E943840AB01BC014093FA0C5093C8
+:10C29000FB0C6093FC0C7093FD0C85E49CE00E9409
+:10C2A000A912A2CF0E942F400E940FAF8B010C94C5
+:10C2B0007C510E9431A9681979098A099B09693E54
+:10C2C00073408105910508F479C0ECEEFAE08491A1
+:10C2D000882341F09091C00095FFFCCF8093C60069
+:10C2E0003196F5CFE0914D0824E0E29FF001112452
+:10C2F000E05CF74F408151816281738121E030E041
+:10C300008CE99DE00E94308BE8EEFAE0849188236E
+:10C3100041F09091C00095FFFCCF8093C60031960C
+:10C32000F5CF60914D0870E04AE050E08CE99DE067
+:10C330000E945A8AE4EEFAE08491882341F09091B9
+:10C34000C00095FFFCCF8093C6003196F5CFF7FE75
+:10C3500003C0E6E7F5E025C00E9431A98B019C01EE
+:10C36000C701B6016854744F8F4F9F4F601B710B0C
+:10C37000820B930BA30192010E947EB2BA01A90124
+:10C380002AE030E08CE99DE00E94868A8091C0001E
+:10C3900085FFFCCF0DC09091C00095FFFCCF80932E
+:10C3A000C60081918111F7CF8091C00085FFFCCF3D
+:10C3B0003092C6000E9431A94B015C010E94721E9E
+:10C3C00080E00E9438490E949C76FFEFCF16DF067E
+:10C3D000EF06FF0609F046C080914B08E0914D083A
+:10C3E000F0E08F01000F111F000F111F005C174FAD
+:10C3F000EE0FFF1FE85BF74F608171818823C9F062
+:10C40000882777FD8095982F0E9442AF20E030E08A
+:10C4100040E85FE30E94C6AD9B01AC01F80160817A
+:10C420007181828193810E94A3B087FF50C00C94D8
+:10C430005053882777FD8095982F0E9442AF20E0C7
+:10C4400030E040E85FE30E94C7AD9B01AC01F8011A
+:10C4500060817181828193810E94A0AE1816BCF523
+:10C460000C945053F7FE02C00C945053E0914D08C9
+:10C47000F0E08F01000F111F000F111F005C174F1C
+:10C48000EE0FFF1FE85BF74F60817181882777FD12
+:10C490008095982F0E9442AF9B01AC01F80160810A
+:10C4A0007181828193810E94C6AD0E940FAF97FF78
+:10C4B00007C090958095709561957F4F8F4F9F4FE6
+:10C4C000663071058105910514F40C9450530E9457
+:10C4D00031A96B017C010C94505386ED9AE00E94C7
+:10C4E000007680915F0A882321F08EE793E00E9416
+:10C4F00048720E9431A96093520870935308809348
+:10C500005408909355080E9431A960935A0870937B
+:10C510005B0880935C0890935D0866CE0E943D9313
+:10C5200088E50E944340882319F0179A1092350A33
+:10C5300089E50E944340882319F0169A1092360A22
+:10C540008AE50E944340882319F0159A1092370A11
+:10C5500085E40E944340882309F446CE149A44CED1
+:10C56000E9960FB6F894DEBF0FBECDBFDF91CF9135
+:10C570001F910F91FF90EF90DF90CF90BF90AF9001
+:10C580009F908F907F906F905F904F903F90089515
+:10C59000CF93DF938091640890916508039714F41A
+:10C5A0000E94694560E08DE59AE00E9487338091A2
+:10C5B000640890916508892B09F464C080915D0A34
+:10C5C0008823E1F0809168089091690820E6289F0F
+:10C5D000E001299FD00D1124C259D74F61EF7CE0B3
+:10C5E000CE010E94CEB5892BF1F4BE018DE59AE013
+:10C5F0000E94163380915E0A882319F00E94B94A7E
+:10C600002BC0EEEEFCE08491882341F09091C000B5
+:10C6100095FFFCCF8093C6003196F5CF8091C00086
+:10C6200085FFFCCF16C060E08DE59AE00E947D3466
+:10C63000ECEDFCE08491882341F09091C00095FFDF
+:10C64000FCCF8093C6003196F5CF8091C00085FF66
+:10C65000FCCF8AE08093C6008091640890916508C1
+:10C660000197909365088093640880916808909181
+:10C670006908019664E070E00E946BB290936908CB
+:10C68000809368080E94721E80E00E9438490E94D0
+:10C690004F8BDF91CF910C949C768F929F92AF92AB
+:10C6A000BF92CF92DF92EF92FF920F931F93CF939F
+:10C6B000DF938C018C519E4F0E94B72D680189E851
+:10C6C000C80ED11C21F1780181E4E81A8EEFF80A36
+:10C6D000E70157018FE1A81AB1087AEB872E75E0C0
+:10C6E000972ECC15DD0599F0FE01EE19FF09EA0D34
+:10C6F000FB1D91828082FE0178978081811102C0AA
+:10C700006F97EFCFCE014B970E948C13F9CFC801E2
+:10C7100086599F4F0E94B72DC801875B9F4FDF91BD
+:10C72000CF911F910F91FF90EF90DF90CF90BF902E
+:10C73000AF909F908F900C94B72D8DE59AE00C945C
+:10C74000C32D8DE59AE0A9CFFB0160917002709135
+:10C75000710270932C0D60932B0D6091350D7091CB
+:10C76000360D70932A0D6093290D62E060936F027D
+:10C7700064EC7EE770937102609370029093280DD1
+:10C780008093270DF093260DE093250D662757FD26
+:10C790006095762F4093210D5093220D6093230DC9
+:10C7A0007093240DC901AA2797FDA095BA2F841B69
+:10C7B000950BA60BB70B80931D0D90931E0DA093A8
+:10C7C0001F0DB093200D80819181AA2797FDA09520
+:10C7D000BA2F841B950BA60BB70B8093350D909346
+:10C7E000360DA093370DB093380D08950F931F9316
+:10C7F000CF93DF93EB01142F022F482F60E080E4EA
+:10C800009DE00E947E28612F80E49DE00E94BFADE4
+:10C8100011E1FE016491662311F0111117C011237B
+:10C8200039F060E280E49DE00E94BFAD1150F7CF87
+:10C83000602F80E49DE00E94BFAD60E280E49DE057
+:10C84000DF91CF911F910F910C94BFAD80E49DE0DB
+:10C850000E94BFAD21961150DCCFEF92FF920F9353
+:10C860001F93CF93DF93EB01E42E8901F90101902F
+:10C870000020E9F7F22EFE1A92E1F90E482F60E04F
+:10C8800080E49DE00E947E286E2D80E49DE00E9461
+:10C89000BFADFE016491662311F0F11019C06AE387
+:10C8A00080E49DE00E94BFADFF2039F060E280E4AB
+:10C8B0009DE00E94BFADFA94F7CFB80180E49DE0FF
+:10C8C000DF91CF911F910F91FF90EF900C94BEAD2F
+:10C8D00080E49DE00E94BFAD2196FA94DACF1092D9
+:10C8E000990D8DE59AE00E94273910923E0D08952A
+:10C8F0008DE59AE00C9416318DE59AE00C941D318B
+:10C90000CF93DF93CDB7DEB7C054D1090FB6F894FB
+:10C91000DEBF0FBECDBF88E0EFEAF2E0DE01D996C0
+:10C9200001900D928A95E1F788E0E7EBF2E0DE01F5
+:10C93000D19601900D928A95E1F788E0EFEBF2E055
+:10C94000DE01999601900D928A95E1F788E0E7EC77
+:10C95000F2E0DE01919601900D928A95E1F788E070
+:10C96000EFECF2E0DE01599601900D928A95E1F725
+:10C9700088E0E7EDF2E0DE01519601900D928A9594
+:10C98000E1F788E0EFEDF2E0DE01199601900D92FB
+:10C990008A95E1F788E0E7EEF2E0DE01119601907A
+:10C9A0000D928A95E1F7AE01475C5F4F60E080E44D
+:10C9B0009DE00E94FC29AE014F5C5F4F61E080E486
+:10C9C0009DE00E94FC29AE01475D5F4F62E080E47C
+:10C9D0009DE00E94FC29AE014F5D5F4F63E080E463
+:10C9E0009DE00E94FC29AE01475E5F4F64E080E459
+:10C9F0009DE00E94FC29AE014F5E5F4F65E080E440
+:10CA00009DE00E94FC29AE01475F5F4F66E080E435
+:10CA10009DE00E94FC29AE014F5F5F4F67E080E41C
+:10CA20009DE00E94FC29C05CDF4F0FB6F894DEBF8A
+:10CA30000FBECDBFDF91CF910895CF9382E0809359
+:10CA40006F020E9431A96C507E4F8F4F9F4F6093B1
+:10CA50003A0D70933B0D80933C0D90933D0D80916A
+:10CA60000101846080930101CAE09FB7F89480912E
+:10CA700002018460809302019FBF84E690E00E94DF
+:10CA800084A99FB7F894809102018B7F8093020163
+:10CA90009FBF84E690E00E9484A9C15031F7CF91F6
+:10CAA0000895E0917002F0917102E817F90771F0B2
+:10CAB00090937102809370024093350D5093360D20
+:10CAC0006093370D7093380D2111B7CF089521E091
+:10CAD00040E050E0BA01E5CF21E040E050E0BA018B
+:10CAE000E0CF8F929F92AF92BF92CF92DF92EF9260
+:10CAF000FF920F931F93CF93DF938091350D909109
+:10CB0000360DA091370DB091380D81309048A105B8
+:10CB1000B10540F01092350D1092360D1092370D80
+:10CB20001092380D6091350D7091360D8091370D52
+:10CB30009091380D25E030E040E050E00E947EB258
+:10CB400080913E0D90E0A0E0B0E0281739074A0739
+:10CB50005B0710F420933E0DD0913E0D10913F0DD8
+:10CB600012FB112710F9C0E085E0C82ED12CE12C72
+:10CB7000F12C9DE1892E912CA12CB12C01E060912A
+:10CB8000350D7091360D8091370D9091380DD11182
+:10CB900031C020916F02222369F023E065307105D6
+:10CBA0008105910510F443E001C040E266E870E1C0
+:10CBB0008C2F1CDE112309F400C18091350D90915A
+:10CBC000360DA091370DB091380D0597A105B1052F
+:10CBD00008F0F3C032DF8CE692E7DF91CF911F912E
+:10CBE0000F91FF90EF90DF90CF90BF90AF909F900C
+:10CBF0008F906DCFD13061F520916F02222391F09B
+:10CC0000A70196010E947EB22130310541055105F0
+:10CC100019F423E043E002C023E040E265E770E15D
+:10CC20008C2FE4DD112309F4C8C06091350D70919B
+:10CC3000360D8091370D9091380DA70196010E9415
+:10CC40007EB2213031054105510509F0B6C0C2CF91
+:10CC5000D23061F520916F02222391F0A701960155
+:10CC60000E947EB2223031054105510519F423E0BE
+:10CC700043E002C023E040E269E670E18C2FB6DDBC
+:10CC8000112309F49AC06091350D7091360D809191
+:10CC9000370D9091380DA70196010E947EB2223087
+:10CCA00031054105510509F088C094CFD33061F5B5
+:10CCB00020916F02222391F0A70196010E947EB27B
+:10CCC000233031054105510519F423E043E002C04A
+:10CCD00023E040E267E570E18C2F88DD112309F441
+:10CCE0006CC06091350D7091360D8091370D90912B
+:10CCF000380DA70196010E947EB22330310541050F
+:10CD0000510509F05AC066CFD43059F520916F0211
+:10CD1000222391F0A70196010E947EB224303105B2
+:10CD20004105510519F423E043E002C023E040E24D
+:10CD300065E470E18C2F5ADD112309F43EC0609147
+:10CD4000350D7091360D8091370D9091380DA701FA
+:10CD500096010E947EB2243031054105510569F5E6
+:10CD600039CFD53051F520916F02222391F0A701E0
+:10CD700096010E947EB2253031054105510519F416
+:10CD800023E043E002C023E040E269E370E18C2F3E
+:10CD90002DDD112391F06091350D7091360D80914C
+:10CDA000370D9091380DA70196010E947EB2253073
+:10CDB00031054105510509F40DCF8091350D909154
+:10CDC000360DA091370DB091380D4E97A105B105E4
+:10CDD00040F08092350D9092360DA092370DB092B2
+:10CDE000380D6091350D7091360D8091370D909111
+:10CDF000380DA70196010E947EB280913E0D90E011
+:10CE00000396422F50E0841795074CF48DEF820F64
+:10CE100080933E0D00936F02DCEFD20FCFEFCF5F18
+:10CE2000DF5FC43008F4ABCEDF91CF911F910F913B
+:10CE3000FF90EF90DF90CF90BF90AF909F908F903A
+:10CE400008958F929F92AF92BF92CF92DF92EF920E
+:10CE5000FF920F931F93CF93DF938091350D9091A5
+:10CE6000360DA091370DB091380D81309048A10555
+:10CE7000B10540F01092350D1092360D1092370D1D
+:10CE80001092380D6091350D7091360D8091370DEF
+:10CE90009091380D25E030E040E050E00E947EB2F5
+:10CEA00080913E0D90E0A0E0B0E0281739074A07D6
+:10CEB0005B0710F420933E0DD0913E0D10913F0D75
+:10CEC00012FB112710F9C0E025E0C22ED12CE12C75
+:10CED000F12C3DE1832E912CA12CB12C01E060912D
+:10CEE000350D7091360D8091370D9091380DD1111F
+:10CEF00031C020916F02222369F023E06530710573
+:10CF00008105910510F443E001C040E264E370E163
+:10CF10008C2F6CDC112309F429C18091350D90917F
+:10CF2000360DA091370DB091380D0597A105B105CB
+:10CF300008F01CC182DD8CE692E7DF91CF911F9152
+:10CF40000F91FF90EF90DF90CF90BF90AF909F90A8
+:10CF50008F90BDCDD13079F520916F02222391F0D1
+:10CF6000A70196010E947EB221303105410551058D
+:10CF700019F42EE74EE302C02EE740E268E270E1CA
+:10CF80008C2F34DC112309F4F1C06091350D7091C0
+:10CF9000360D8091370D9091380DA70196010E94B2
+:10CFA0007EB2213031054105510509F0DFC045DD74
+:10CFB0008BEA99E730C0D230D9F520916F02222355
+:10CFC00091F0A70196010E947EB222303105410501
+:10CFD000510519F42EE74EE302C02EE740E26EE160
+:10CFE00070E18C2F03DC112309F4C0C06091350D72
+:10CFF0007091360D8091370D9091380DA7019601F3
+:10D000000E947EB2223031054105510509F0AEC0C3
+:10D0100014DD8FEA9AE6DF91CF911F910F91FF9077
+:10D02000EF90DF90CF90BF90AF909F908F9054CDB6
+:10D03000D33079F520916F02222391F0A701960158
+:10D040000E947EB2233031054105510519F420E2DA
+:10D050004EE302C020E240E262E170E18C2FC6DBC9
+:10D06000112309F483C06091350D7091360D8091C4
+:10D07000370D9091380DA70196010E947EB22330A2
+:10D0800031054105510509F071C0D7DC8CE090E114
+:10D090005FC0D43079F520916F02222391F0A7016F
+:10D0A00096010E947EB2243031054105510519F4E4
+:10D0B00020E24EE302C020E240E26BEF7FE08C2FE3
+:10D0C00095DB112309F452C06091350D7091360D36
+:10D0D0008091370D9091380DA70196010E947EB284
+:10D0E000243031054105510509F040C0A6DC87EF29
+:10D0F0009FE02EC0D530D1F520916F02222391F010
+:10D10000A70196010E947EB22530310541055105E7
+:10D1100019F420E24EE302C020E240E26DEE7FE02F
+:10D120008C2F64DB112311F16091350D7091360D58
+:10D130008091370D9091380DA70196010E947EB223
+:10D14000253031054105510589F477DC89EE9FE0F2
+:10D15000DF91CF911F910F91FF90EF90DF90CF90D3
+:10D16000BF90AF909F908F900C94333E8091350D7F
+:10D170009091360DA091370DB091380D4E97A105C5
+:10D18000B10540F08092350D9092360DA092370D8A
+:10D19000B092380D6091350D7091360D8091370D3C
+:10D1A0009091380DA70196010E947EB280913E0DAC
+:10D1B00090E00396422F50E0841795074CF48DEFD2
+:10D1C000820F80933E0D00936F02DCEFD20FCFEF02
+:10D1D000CF5FDF5FC43008F482CEDF91CF911F9123
+:10D1E0000F91FF90EF90DF90CF90BF90AF909F9006
+:10D1F0008F900895BF92CF92DF92EF92FF920F939C
+:10D200001F93CF93DF938091350D9091360DA091B0
+:10D21000370DB091380D81309048A105B10540F02F
+:10D220001092350D1092360D1092370D1092380D68
+:10D230006091350D7091360D8091370D9091380DBC
+:10D2400025E030E040E050E00E947EB280913E0D4B
+:10D2500090E0A0E0B0E0281739074A075B0710F418
+:10D2600020933E0DD0913E0D10913F0D12FB1127E2
+:10D2700010F9C0E065E0C62ED12CE12CF12C01E0C4
+:10D280006091350D7091360D8091370D9091380D6C
+:10D29000D1112EC020916F02222369F023E0653066
+:10D2A00071058105910510F443E001C040E260EE94
+:10D2B0007FE08C2F9BDA112309F479C08091350D22
+:10D2C0009091360DA091370DB091380D0597A105BD
+:10D2D000B10508F06CC0B1DB81E297E6DF91CF9138
+:10D2E0001F910F91FF90EF90DF90CF90BF90EFCB09
+:10D2F000D13071F520916F02222391F0A7019601A0
+:10D300000E947EB2213031054105510519F42EE706
+:10D310004EE302C02EE740E269ED7FE08C2F66DA33
+:10D32000112309F444C06091350D7091360D809140
+:10D33000370D9091380DA70196010E947EB22130E1
+:10D3400031054105510599F578DB8FE090E8A8C0DB
+:10D35000D23069F520916F02222391F0A701960146
+:10D360000E947EB2223031054105510519F42EE7A5
+:10D370004EE302C02EE740E262ED7FE08C2F36DA0A
+:10D380001123A9F06091350D7091360D8091370D04
+:10D390009091380DA70196010E947EB2223031058E
+:10D3A0004105510521F449DB86E190E879C020E090
+:10D3B00030E040E251E46091110D7091120D8091C6
+:10D3C000130D9091140D0E94A0AE87FF73C0609161
+:10D3D000350D7091360D8091370D9091380DD33009
+:10D3E00081F520916F02222391F0A70196010E94FE
+:10D3F0007EB2233031054105510519F42EE74EE385
+:10D4000002C02EE740E26BEC7FE08C2FEFD91111C8
+:10D4100003C055E0B52E50C06091350D7091360DAA
+:10D420008091370D9091380DA70196010E947EB230
+:10D43000233031054105510561F7FFDA8DE190E8B0
+:10D440002FC0D43031F720916F02222391F0A70131
+:10D4500096010E947EB2243031054105510519F430
+:10D460002EE74EE302C02EE740E262EC7FE08C2F15
+:10D47000BDD9112371F26091350D7091360D8091F7
+:10D48000370D9091380DA70196010E947EB224308D
+:10D4900031054105510509F0BCCFCFDA8BE49EE799
+:10D4A000DF91CF911F910F91FF90EF90DF90CF9080
+:10D4B000BF9012CB43E0B42E6091350D7091360DC4
+:10D4C0008091370D9091380DA70196010E947EB290
+:10D4D0008B2D90E0A0E0B0E0281739074A075B07E2
+:10D4E00088F025E0B29EC00111240197AA2797FD7C
+:10D4F000A095BA2F8093350D9093360DA093370DDC
+:10D50000B093380D6091350D7091360D8091370DC7
+:10D510009091380DA70196010E947EB280913E0D38
+:10D5200090E00396422F50E0841795074CF48DEF5E
+:10D53000820F80933E0D00936F02DCEFD20FCFEF8E
+:10D54000CF5FDF5FC43008F49BCEDF91CF911F9196
+:10D550000F91FF90EF90DF90CF90BF90089580E003
+:10D5600090E0A0E8BFE38093110D9093120DA0937B
+:10D57000130DB093140D3ECE20E044E064E180E44E
+:10D580009DE00E94B128BCD980E49DE00C947228F3
+:10D59000F3DF20E040E050E0BA0184E290E881CA85
+:10D5A00010924908109248081092470810924608B5
+:10D5B00010922F0A10922E0AEBCF80E49DE00C947B
+:10D5C000722820E030E04EE353E46091400870910F
+:10D5D000410880914208909143080E94A3B0181618
+:10D5E0004CF480E89EE00E94333E83E79EE00E9478
+:10D5F000333E20C0E2DF40E060E080E49DE00E9436
+:10D600007E286BEC74E080E49DE00E94BEAD42E0B9
+:10D6100060E080E49DE00E947E2862ED74E080E49A
+:10D620009DE00E94BEAD60ED77E080E090E00E945A
+:10D6300060A9C3DFADCF20E030E04EE353E460915A
+:10D6400040087091410880914208909143080E94DF
+:10D65000A3B018166CF48FE69EE00E94333E83E67A
+:10D660009EE00E94333E87E59EE00E94333E20C04C
+:10D67000A4DF40E060E080E49DE00E947E286BEC47
+:10D6800074E080E49DE00E94BEAD42E060E080E492
+:10D690009DE00E947E2862ED74E080E49DE00E949F
+:10D6A000BEAD60ED77E080E090E00E9460A985DF8C
+:10D6B0006FCF8091970D9091980D9093490880932A
+:10D6C00048088091950D9091960D9093470880930E
+:10D6D000460810922F0A10922E0A5ADF0C94442109
+:10D6E0008091910D9091920D9093490880934808F4
+:10D6F00080918F0D9091900D9093470880934608EC
+:10D7000010922F0A10922E0A43DF0C94442180912C
+:10D7100095029091960290934908809348088091D1
+:10D720009302909194029093470880934608109238
+:10D730002F0A10922E0A2CDF0C9444218091910222
+:10D7400090919202909349088093480880918F02AB
+:10D7500090919002909347088093460810922F0A68
+:10D7600010922E0A15DF0C94442180918D02909125
+:10D770008E02909349088093480880918B02909183
+:10D780008C02909347088093460810922F0A1092BB
+:10D790002E0AFEDE0C9444218091890290918A0227
+:10D7A000909349088093480880918702909188025D
+:10D7B000909347088093460810922F0A10922E0AE1
+:10D7C000E7DE0C9444212F923F924F925F926F922A
+:10D7D0007F928F929F92AF92BF92CF92DF92EF9201
+:10D7E000FF920F931F93CF93DF93CDB7DEB7A89728
+:10D7F0000FB6F894DEBF0FBECDBF80916F028111CE
+:10D8000004C080913F0D82FFEBC28DE59AE00E943B
+:10D810001B389DA38CA38091350D9091360DA0915E
+:10D82000370DB091380D81309048A105B10540F019
+:10D830001092350D1092360D1092370D1092380D52
+:10D840006091350D7091360D8091370D9091380DA6
+:10D8500025E030E040E050E00E947EB280913E0D35
+:10D8600090E0A0E0B0E0281739074A075B0710F402
+:10D8700020933E0D40903E0D80913F0D82FB882706
+:10D8800080F98F8F512C35E0C32ED12CE12CF12C57
+:10D8900041102DC080916F028823A9F08091350D31
+:10D8A0009091360DA091370DB091380D23E005977A
+:10D8B000A105B10510F443E001C040E26BE77FE051
+:10D8C000852D0E94F6632F8D222389F08091350DDE
+:10D8D0009091360DA091370DB091380D0597A105A7
+:10D8E000B10528F4AAD88CE692E7F1D879C261E6AE
+:10D8F0007AE08BEC9AE00E9440108091610A8F32AE
+:10D9000031F041E0441671F022E0722E02C077241B
+:10D9100073940CA11DA101501109842C912CA12CF0
+:10D92000B12C52C080916F028823D9F06091350DDF
+:10D930007091360D8091370D9091380DA7019601A9
+:10D940000E947EB2213031054105510519F420E2D3
+:10D950004EE302C020E240E267E77FE0852D0E94AF
+:10D96000F6638F8D882381F26091350D7091360DAD
+:10D970008091370D9091380DA70196010E947EB2DB
+:10D98000213031054105510509F0BECF56D80E941E
+:10D990006F6426C2741088C140E050E0B8018DE584
+:10D9A0009AE00E9492349091A30A80916F02992389
+:10D9B00009F4A1C081110DC09F8D911179C0772408
+:10D9C0007394740C015011090F3FFFEF1F0711F7FB
+:10D9D0006DC16091350D7091360D8091370D90912C
+:10D9E000380DA70196010E947EB2281539054A0517
+:10D9F0005B0579F5452D60E080E49DE00E947E287E
+:10DA00006EE380E49DE00E94BFAD65E080E49DE0B0
+:10DA10000E94BFAD80916E0A882329F01092800A7F
+:10DA20008EE69AE002C081E69AE03C0192E1392E4E
+:10DA3000F30161913F01662311F0311085C133205C
+:10DA400009F4BACF60E280E49DE00E94BFAD3A9451
+:10DA5000F6CF452D60E080E49DE00E947E2860E2E4
+:10DA600080E49DE00E94BFAD65E080E49DE00E94FF
+:10DA7000BFAD80916E0A882329F01092800A8EE64D
+:10DA80009AE002C081E69AE03C0182E1382EF3017F
+:10DA900061913F01662311F031105CC1332009F41C
+:10DAA0008BCF60E280E49DE00E94BFAD3A94F6CF58
+:10DAB0006091350D7091360D8091370D9091380D34
+:10DAC000A70196010E947EB2281539054A055B051B
+:10DAD00009F075CF0E941D6561E67AE08DE59AE058
+:10DAE0000E947E381092350D1092360D1092370D2F
+:10DAF0001092380D75C1811104C0FF8DF11191C0D4
+:10DB00005ECF6091350D7091360D8091370D9091FB
+:10DB1000380DA70196010E947EB2281539054A05E5
+:10DB20005B0509F054C020919B0D2EA3712C472D4D
+:10DB300060E080E49DE00E947E2860E280E49DE059
+:10DB40000E94BFAD739444E07412F1CF452D60E0A4
+:10DB500080E49DE00E947E286EE380E49DE00E94C8
+:10DB6000BFADBFE62B2EBAE03B2E2EE63AE0612C8D
+:10DB7000712C39A328A361E070E0E8A1F9A12191FB
+:10DB8000F9A3E8A32223B1F0CB0101969BA38AA3BA
+:10DB9000452D80E49DE028A76114710409F4E0C0DC
+:10DBA0000E947E2828A5622F80E49DE00E94BFADE0
+:10DBB0006AA17BA1F4E17F2E761A772009F49DCF2C
+:10DBC00060E280E49DE00E94BFAD7A94F6CF452DDF
+:10DBD00060E080E49DE00E947E2860E280E49DE0B9
+:10DBE0000E94BFAD80916E0A882329F01092810AAD
+:10DBF0008EE69AE002C081E69AE03C01E3E13E2E27
+:10DC0000F30161913F01662311F03110E3C033202D
+:10DC100009F473CF60E280E49DE00E94BFAD3A94C6
+:10DC2000F6CF6091350D7091360D8091370D909142
+:10DC3000380DA70196010E947EB2281539054A05C4
+:10DC40005B0509F0BCCE0E941D6581E69AE09F93BA
+:10DC50008F9380E79FE09F938F938E010F5F1F4FFD
+:10DC60001F930F930E945BB60F900F900F900F9031
+:10DC70000F900F907E01F5E0EF0EF11CF70180810F
+:10DC8000882349F0992787FD90950E9498B5F70160
+:10DC900081937F01F3CFC8010E94C03D8CE69FE0D5
+:10DCA0000E94333E75DC9CC073948CCE6091350D20
+:10DCB0007091360D8091370D9091380DA701960126
+:10DCC0000E947EB2872D90E0A0E0B0E028173907CF
+:10DCD0004A075B0788F025E0729EC0011124019776
+:10DCE000AA2797FDA095BA2F8093350D9093360DF6
+:10DCF000A093370DB093380D6091350D7091360DAE
+:10DD00008091370D9091380DA70196010E947EB247
+:10DD100080913E0D90E00396422F50E084179507C6
+:10DD200064F48DEF820F80933E0D81E080936F024B
+:10DD30007CEF472E420E55245A945394439443E06B
+:10DD4000451508F0A5CD4CC080E49DE00E94BFAD14
+:10DD50003A946ECE80E49DE00E94BFAD3A9497CE97
+:10DD60000E947E2828A5622F80E49DE00E94BFAD1E
+:10DD70006AA17BA16431710509F0FFCE9101ACE28B
+:10DD80006A2E7724739480913F0D82FD05C08091A7
+:10DD90009B0D9EA1981789F081E090E0E1E06E1A5A
+:10DDA00071086114710421F0892B69F381E090E01E
+:10DDB000FFEF2F1A3F0A3C01DCCE61E070E080E00B
+:10DDC00090E028A73FA30E9460A980E090E028A5EA
+:10DDD0003FA1E4CF80E49DE00E94BFAD3A9410CF14
+:10DDE000A8960FB6F894DEBF0FBECDBFDF91CF91DE
+:10DDF0001F910F91FF90EF90DF90CF90BF90AF9069
+:10DE00009F908F907F906F905F904F903F902F905A
+:10DE100008958F929F92AF92BF92CF92DF92EF922E
+:10DE2000FF920F931F93CF93DF938091350D9091C5
+:10DE3000360DA091370DB091380D81309048A10575
+:10DE4000B10540F01092350D1092360D1092370D3D
+:10DE50001092380D6091350D7091360D8091370D0F
+:10DE60009091380D25E030E040E050E00E947EB215
+:10DE700080913E0D90E0A0E0B0E0281739074A07F6
+:10DE80005B0710F420933E0DD0913E0D10913F0D95
+:10DE900012FB112710F9C0E045E0C42ED12CE12C73
+:10DEA000F12C57E2852E912CA12CB12C01E0609130
+:10DEB000350D7091360D8091370D9091380DD1113F
+:10DEC00034C020916F02222371F023E06530710588
+:10DED0008105910510F443E001C040E267E57FE071
+:10DEE0008C2F0E94F663112309F4C8C18091350D6F
+:10DEF0009091360DA091370DB091380D0597A10581
+:10DF0000B10508F0BBC10E941D658CE692E7DF9168
+:10DF1000CF911F910F91FF90EF90DF90CF90BF9026
+:10DF2000AF909F908F900C946765D130D9F5209178
+:10DF30006F02222399F0A70196010E947EB2213040
+:10DF400031054105510519F420E24EE302C020E2FB
+:10DF500040E267E47FE08C2F0E94F663112309F40E
+:10DF60008DC16091350D7091360D8091370D909176
+:10DF7000380DA70196010E947EB22130310541057E
+:10DF8000510509F07BC10E941D65DF91CF911F9162
+:10DF90000F91FF90EF90DF90CF90BF90AF909F9048
+:10DFA0008F909ECBD230D9F520916F02222399F029
+:10DFB000A70196010E947EB222303105410551052C
+:10DFC00019F420E24EE302C020E240E268E37FE081
+:10DFD0008C2F0E94F663112309F450C16091350D16
+:10DFE0007091360D8091370D9091380DA7019601F3
+:10DFF0000E947EB2223031054105510509F03EC133
+:10E000000E941D65DF91CF911F910F91FF90EF90BE
+:10E01000DF90CF90BF90AF909F908F904ACBD3303E
+:10E02000D9F520916F02222399F0A70196010E9451
+:10E030007EB2233031054105510519F420E24EE34B
+:10E0400002C020E240E269E27FE08C2F0E94F6638A
+:10E05000112309F413C16091350D7091360D809133
+:10E06000370D9091380DA70196010E947EB22330A2
+:10E0700031054105510509F001C10E941D65DF917F
+:10E08000CF911F910F91FF90EF90DF90CF90BF90B5
+:10E09000AF909F908F9052CBD430D9F520916F02E2
+:10E0A000222399F0A70196010E947EB22430310507
+:10E0B0004105510519F420E24EE302C020E240E29E
+:10E0C00069E17FE08C2F0E94F663112309F4D6C02A
+:10E0D0006091350D7091360D8091370D9091380D0E
+:10E0E000A70196010E947EB22430310541055105F9
+:10E0F00009F0C4C00E941D65DF91CF911F910F915F
+:10E10000FF90EF90DF90CF90BF90AF909F908F9057
+:10E110002CCBD530D9F520916F02222399F0A7019D
+:10E1200096010E947EB2253031054105510519F452
+:10E1300020E24EE302C020E240E269E07FE08C2F63
+:10E140000E94F663112309F499C06091350D709116
+:10E15000360D8091370D9091380DA70196010E94E0
+:10E160007EB2253031054105510509F087C00E9476
+:10E170001D65DF91CF911F910F91FF90EF90DF9080
+:10E18000CF90BF90AF909F908F90C1CAD630D9F5F5
+:10E1900020916F02222399F0A70196010E947EB27E
+:10E1A000263031054105510519F420E24EE302C045
+:10E1B00020E240E26AEF7EE08C2F0E94F66311239A
+:10E1C00009F45CC06091350D7091360D8091370D6A
+:10E1D0009091380DA70196010E947EB2263031053C
+:10E1E0004105510509F04AC00E941D65DF91CF919C
+:10E1F0001F910F91FF90EF90DF90CF90BF90AF9065
+:10E200009F908F90C9CAD730C9F520916F02222301
+:10E2100099F0A70196010E947EB227303105410591
+:10E22000510519F420E24EE302C020E240E261EF22
+:10E230007EE08C2F0E94F663112301F16091350D71
+:10E240007091360D8091370D9091380DA701960190
+:10E250000E947EB2273031054105510579F40E94B4
+:10E260001D65DF91CF911F910F91FF90EF90DF908F
+:10E27000CF90BF90AF909F908F9092C98091350DB5
+:10E280009091360DA091370DB091380D8897A1056A
+:10E29000B10540F08092350D9092360DA092370D69
+:10E2A000B092380D6091350D7091360D8091370D1B
+:10E2B0009091380DA70196010E947EB280913E0D8B
+:10E2C00090E00396422F50E0841795074CF48DEFB1
+:10E2D000820F80933E0D00936F02DCEFD20FCFEFE1
+:10E2E000CF5FDF5FC43008F4E2CDDF91CF911F91A3
+:10E2F0000F91FF90EF90DF90CF90BF90AF909F90E5
+:10E300008F9008955AD941E060E080E49DE00E943A
+:10E310007E2869EF74E080E49DE00E94BEAD42E09B
+:10E3200060E080E49DE00E947E2869E075E080E482
+:10E330009DE00C94BEAD41D942E060E080E49DE0F8
+:10E340000E947E286CE175E080E49DE00C94BEADF7
+:10E350001F93CF93DF9331D940E060E080E49DE0EC
+:10E360000E947E286CE275E080E49DE00E94BEADD4
+:10E3700042E060E080E49DE00E947E286AE375E070
+:10E3800080E49DE00E94BEAD10E043E0612F80E498
+:10E390009DE00E947E286FE573E080E49DE00E948E
+:10E3A000BEADCAE0D0E00E94721E81E00E943849F2
+:10E3B00065E570E080E090E00E9460A921972097D9
+:10E3C00091F71F5F143109F7DF91CF911F910895E5
+:10E3D0001F93CF93DF93F1D840E060E080E49DE0AD
+:10E3E0000E947E2866E475E080E49DE00E94BEAD58
+:10E3F00042E060E080E49DE00E947E286AE375E0F0
+:10E4000080E49DE00E94BEAD10E043E0612F80E417
+:10E410009DE00E947E286FE573E080E49DE00E940D
+:10E42000BEADCAE0D0E00E94721E81E00E94384971
+:10E430006EE670E080E090E00E9460A9219720974E
+:10E4400091F71F5F143109F7DF91CF911F91089564
+:10E4500080932E0D10922D0D0895E2E7F2E00190C9
+:10E460000020E9F73197E257F2401E161F0634F0FC
+:10E470001092860282E080936F02089580E2E43178
+:10E48000F105B4F7DF01AE58BD4F8C933196F7CF4D
+:10E4900020918C0D211108C044E150E0BC0182E7BD
+:10E4A00092E00E944CB6D9CF089510925F0A60E0C6
+:10E4B0008DE59AE00E947D340E94B39380E69FE050
+:10E4C0000E94333E81E080931F0A87E595E0E0DFFC
+:10E4D0008CE59FE00C94333EAF92BF92CF92DF92D7
+:10E4E000EF92FF920F931F93CF93DF931092990DAA
+:10E4F0008091350D9091360DA091370DB091380D6A
+:10E5000081309048A105B10540F01092350D109270
+:10E51000360D1092370D1092380D6091350D7091B7
+:10E52000360D8091370D9091380D25E030E040E0B8
+:10E5300050E00E947EB280913E0D90E0A0E0B0E0FD
+:10E54000281739074A075B0710F420933E0DD09136
+:10E550003E0D10913F0D12FB112710F9C0E075E040
+:10E56000C72ED12CE12CF12CAA24A394D11137C0B1
+:10E5700080916F028823A9F08091350D9091360D1E
+:10E58000A091370DB091380D23E00597A105B10595
+:10E5900010F443E001C040E264E071E18C2F0E947E
+:10E5A000F6631123E1F08091350D9091360DA09125
+:10E5B000370DB091380D0597A105B10580F40E9483
+:10E5C0001D6584E290E8DF91CF911F910F91FF903C
+:10E5D000EF90DF90CF90BF90AF900C9467650E9452
+:10E5E00000A54091350D5091360D6091370D709119
+:10E5F000380D811104C080915F0A882399F1D130D0
+:10E60000C9F580916F028823A9F0CB01BA01A70157
+:10E6100096010E947EB2213031054105510519F461
+:10E620002EE74EE302C02EE740E26FEF70E18C2F41
+:10E630000E94F6631123F1F06091350D7091360D53
+:10E640008091370D9091380DA70196010E947EB2FE
+:10E65000213031054105510569F40E941D6582E6AE
+:10E660009BE73EC2D13031F480916F0281119BC291
+:10E670001111AFC22091600A6091350D7091360D75
+:10E680008091370D9091380D222309F4F1C020912B
+:10E69000480C222309F4B9C020915F0A2223E9F132
+:10E6A000D23009F076C020916F02222399F0A701A1
+:10E6B00096010E947EB2223031054105510519F4C0
+:10E6C00020E24EE302C020E240E26BEE70E18C2FCC
+:10E6D0000E94F663112309F4E2C06091350D709138
+:10E6E000360D8091370D9091380DA70196010E944B
+:10E6F0007EB2223031054105510509F0D0C00E949B
+:10E700001D65DF91CF911F910F91FF90EF90DF90EA
+:10E71000CF90BF90AF900C947C64D230D1F5209113
+:10E720006F02222399F0A70196010E947EB2223047
+:10E7300031054105510519F420E24EE302C020E203
+:10E7400040E26EED70E18C2F0E94F663112309F414
+:10E75000A6C06091350D7091360D8091370D909166
+:10E76000380DA70196010E947EB222303105410585
+:10E77000510509F094C00E941D65DF91CF911F9152
+:10E780000F91FF90EF90DF90CF90BF90AF900C94DF
+:10E790007864D33009F083C020916F02222399F06E
+:10E7A000A70196010E947EB2233031054105510533
+:10E7B00019F420E24EE302C020E240E263ED70E192
+:10E7C0008C2F0E94F663112309F469C06091350D06
+:10E7D0007091360D8091370D9091380DA7019601FB
+:10E7E0000E947EB2233031054105510509F057C022
+:10E7F0000E941D65DF91CF911F910F91FF90EF90C7
+:10E80000DF90CF90BF90AF9050CED23011F003E0A8
+:10E8100047C020916F02222399F0A70196010E9420
+:10E820007EB2223031054105510519F42EE74EE341
+:10E8300002C02EE740E265EC70E18C2F0E94F66387
+:10E84000112329F36091350D7091360D8091370DAC
+:10E850009091380DA70196010E947EB222303105B9
+:10E8600041055105A1F60E941D6583EE9BE638C166
+:10E87000D23069F620916F02222311F3A70196018D
+:10E880000E947EB2223031054105510519F42EE770
+:10E890004EE302C02EE740E26AEB70E1CECF04E027
+:10E8A00080915F0A8111DCC00D1348C080916F0216
+:10E8B0008823F9F06091350D7091360D8091370DF8
+:10E8C0009091380DA70196010E947EB2802F90E0B2
+:10E8D000A0E0B0E0281739074A075B0719F420E2E7
+:10E8E0004EE302C020E240E26CEA70E18C2F0E940D
+:10E8F000F663112319F16091350D7091360D8091F9
+:10E90000370D9091380DA70196010E947EB2802F9D
+:10E9100090E0A0E0B0E0281739074A075B0771F4E0
+:10E920000E941D65DF91CF911F910F91FF90EF9095
+:10E93000DF90CF90BF90AF900C941B6BBB24B3942F
+:10E94000B00EBD1248C080916F028823F9F060912B
+:10E95000350D7091360D8091370D9091380DA701CE
+:10E9600096010E947EB28D2F90E0A0E0B0E02817C3
+:10E9700039074A075B0719F420E24EE302C020E2A0
+:10E9800040E26CE970E18C2F0E94F663112319F1CB
+:10E990006091350D7091360D8091370D9091380D45
+:10E9A000A70196010E947EB28B2D90E0A0E0B0E01E
+:10E9B000281739074A075B0771F40E941D65DF912C
+:10E9C000CF911F910F91FF90EF90DF90CF90BF906C
+:10E9D000AF900C94E16A62E0B62EB00EBD123FC05B
+:10E9E00080916F028823F9F06091350D7091360D9A
+:10E9F0008091370D9091380DA70196010E947EB24B
+:10EA00008D2F90E0A0E0B0E0281739074A075B0798
+:10EA100019F42EE74EE302C02EE740E263E970E10D
+:10EA20008C2F0E94F6631123D1F06091350D709107
+:10EA3000360D8091370D9091380DA70196010E94F7
+:10EA40007EB28B2D90E0A0E0B0E0281739074A078E
+:10EA50005B0729F40E941D6581E297E641C00D5FC6
+:10EA60000D134AC080916F028823F9F06091350D33
+:10EA70007091360D8091370D9091380DA701960158
+:10EA80000E947EB2802F90E0A0E0B0E02817390706
+:10EA90004A075B0719F42EE74EE302C02EE740E277
+:10EAA0006BE870E18C2F0E94F663112329F16091CD
+:10EAB000350D7091360D8091370D9091380DA7016D
+:10EAC00096010E947EB2802F90E0A0E0B0E028176F
+:10EAD00039074A075B0781F40E941D6581E795E6C7
+:10EAE000DF91CF911F910F91FF90EF90DF90CF902A
+:10EAF000BF90AF900C946C65BB24B394B00E609142
+:10EB0000350D7091360D8091370D9091380DA7011C
+:10EB100096010E947EB28B2D90E0A0E0B0E0281715
+:10EB200039074A075B0788F025E0B29EC00111242F
+:10EB30000197AA2797FDA095BA2F8093350D909342
+:10EB4000360DA093370DB093380D6091350D70914F
+:10EB5000360D8091370D9091380DA70196010E94D6
+:10EB60007EB280913E0D90E00396422F50E08417D4
+:10EB700095074CF48DEF820F80933E0DA0926F02AB
+:10EB8000DCEFD20FCFEFCF5FDF5FC43008F4EECC05
+:10EB9000DF91CF911F910F91FF90EF90DF90CF9079
+:10EBA000BF90AF900895CB01BA01A70196010E94D2
+:10EBB0007EB2213031054105510519F42EE74EE3AF
+:10EBC00002C02EE740E267EF70E18C2F0E94F663EF
+:10EBD0004FCD6091350D7091360D8091370D90912C
+:10EBE000380DA70196010E947EB221303105410502
+:10EBF000510509F03FCD0E941D6589E09FE670CF69
+:10EC000020918C0D211108C044E150E0BC0182E745
+:10EC100092E00E94BFB521CC0895F2DF81E080939D
+:10EC20008C0D0C94C86A10928C0D0895CF92DF92CF
+:10EC3000EF92FF92CF93CCB1C095CC1FCC27CC1FC5
+:10EC40008091030183FFC260C0903A0DD0903B0DCC
+:10EC5000E0903C0DF0903D0D0E9431A9C616D706FC
+:10EC6000E806F90610F4489B39C0C0933F0D809127
+:10EC70003F0D817090913F0D91FD82609091390D13
+:10EC8000891721F18130F1F028F0823089F083304A
+:10EC9000A1F01CC0913021F490919B0D9F5F05C0A5
+:10ECA0009230A1F490919B0D915090939B0D0EC0CA
+:10ECB000992391F3933051F4F5CF923069F3913069
+:10ECC00029F4F0CF933041F3992361F38093390D08
+:10ECD000CF91FF90EF90DF90CF900895C460C5CFA3
+:10ECE0000E94BC6A6F98E4E0F1E08081877F8083B6
+:10ECF000779A9FB7F894E5E0F1E08081886080839F
+:10ED00009FBF5098589A60E088E40E9451A89FB72E
+:10ED1000F894E5E0F1E08081846080839FBF80917A
+:10ED2000030182FB882780F991E089278093340DC5
+:10ED30007DDF10929B0D0895CF92DF92EF92FF92AC
+:10ED400075DF8091030191E082FB882780F9892794
+:10ED50002091340D8217C9F082E080936F02809178
+:10ED6000030182FB882780F989278093340D0E9454
+:10ED7000BC6A8091340D882309F490C08DE59AE037
+:10ED80000E94473089E49EE03BDFC090300DD09078
+:10ED9000310DE090320DF090330D0E9431A9C6166E
+:10EDA000D706E806F90608F086C040919B0D44237B
+:10EDB00061F181E080936F02552747FD5095652FE3
+:10EDC000752F8091350D9091360DA091370DB09132
+:10EDD000380D840F951FA61FB71F8093350D909394
+:10EDE000360DA093370DB093380D10929B0D0E94F5
+:10EDF00031A96856754C8F4F9F4F6093050D7093E6
+:10EE0000060D8093070D9093080D80913F0D82FFB2
+:10EE10000EC00E9431A96856754C8F4F9F4F60936A
+:10EE2000050D7093060D8093070D9093080DE091EA
+:10EE30007002F09171021995C090050DD090060DE9
+:10EE4000E090070DF090080D0E9431A9C616D70674
+:10EE5000E806F90638F480917002909171028452AC
+:10EE6000904819F580916F02823011F40E94DD6A9A
+:10EE700080916F02882319F0815080936F020E9465
+:10EE800031A96C597F4F8F4F9F4F6093300D709316
+:10EE9000310D8093320D9093330D0DC08DE59AE0C6
+:10EEA0000E9412318CE39EE06FCF0E94C86A82E01C
+:10EEB00080936F02D7CFFF90EF90DF90CF900895AF
+:10EEC00081E0089580913F0D82FB882780F90895A5
+:10EED0000F931F93CF93DF930E94DD6A40E060E0C1
+:10EEE00080E49DE00E947E2865E675E080E49DE078
+:10EEF0000E94BEAD41E061E080E49DE00E947E287A
+:10EF000068E775E080E49DE00E94BEAD42E061E00C
+:10EF100080E49DE00E947E286CE775E080E49DE03F
+:10EF20000E94BEAD43E061E080E49DE00E947E2847
+:10EF300060E975E080E49DE00E94BEAD41E060E0E4
+:10EF400080E49DE00E947E2860EA75E080E49DE018
+:10EF50000E94BEAD00919B0D112707FD1095C1E0E9
+:10EF6000D0E08091550A9091560A892B09F076C01D
+:10EF70000E94721E81E00E94384980919B0D992762
+:10EF800087FD90950817190709F459C09801281BA7
+:10EF9000390B37FF03C031952195310922303105F6
+:10EFA0000CF44DC0801791070CF42197081719072E
+:10EFB0000CF42196C430D1052CF4209729F4C1E03B
+:10EFC000D0E002C0C3E0D0E041E060E080E49DE03A
+:10EFD0000E947E2861E973E080E49DE00E94BEAD5E
+:10EFE00042E060E080E49DE00E947E2861E973E0F9
+:10EFF00080E49DE00E94BEAD43E060E080E49DE0DF
+:10F000000E947E2861E973E080E49DE00E94BEAD2D
+:10F010004C2F60E080E49DE00E947E2860EA75E06D
+:10F0200080E49DE00E94BEAD00919B0D112707FD7D
+:10F03000109564E670E080E090E00E9460A942DFF5
+:10F04000882309F48ECFD093560AC093550A64EFF3
+:10F0500071E080E090E00E9460A983CF0E94DD6AA9
+:10F06000DF91CF911F910F910C94C86AFC018081B0
+:10F0700090E02AE030E0B9010E946BB2482FCB014A
+:10F08000B9010E946BB2805D8093090D405D409391
+:10F090000A0D10920B0D89E09DE0089520E030E00C
+:10F0A00040E251E4FC0160817181828193810E9480
+:10F0B00075B10E940FAF77FD02C02BE201C02DE2B7
+:10F0C0002093090D9B0177FF04C022273327261BBD
+:10F0D000370BC90168EE73E00E946BB2CB01EAE026
+:10F0E000F0E0BF010E946BB2805D80930A0DC90100
+:10F0F00064E670E00E946BB2CB01BF010E946BB26C
+:10F10000805D80930B0DC901BF010E946BB2282F57
+:10F11000CB01BF010E946BB2805D80930C0D8EE22B
+:10F1200080930D0D205D20930E0D10920F0D89E040
+:10F130009DE008958F929F92AF92BF92CF92DF92FF
+:10F14000EF92FF92FC0180809180A280B38020E04A
+:10F1500030E048EC52E4C501B4010E9475B16B0186
+:10F160007C0120E030E0A9010E94A3B018161CF435
+:10F17000C701B60103C0C701B60190580E940FAF86
+:10F180006B017C0120E030E0A901C501B4010E94BF
+:10F19000A0AE87FF12C08DE28093090DC701B601B2
+:10F1A00028EE33E040E050E00E94A0B2CA01B9016D
+:10F1B0002AE030E040E050E036C0C701B60120E16F
+:10F1C00037E240E050E00E94A0B28AE0882E912C05
+:10F1D000A12CB12CCA01B901A50194010E94A0B2D1
+:10F1E000662391F0605D6093090DC701B60128EEBA
+:10F1F00033E040E050E00E94A0B2CA01B901A5018D
+:10F2000094010E94A0B213C080E28093090DC7014F
+:10F21000B60128EE33E040E050E00E94A0B2CA01FF
+:10F22000B901A50194010E94A0B2662311F0605DAE
+:10F2300001C060E260930A0DC701B60124E630E028
+:10F2400040E050E00E94A0B2BAE08B2E912CA12C9D
+:10F25000B12CCA01B901A50194010E94A0B2605D60
+:10F2600060930B0DC701B601A50194010E94A0B2E5
+:10F27000662381F0605D60930E0DCA01B901A5019E
+:10F2800094010E94A0B2605D60930D0D8EE28093A8
+:10F290000C0D15C0CA01B901A50194010E94A0B2CC
+:10F2A000662329F0605D60930D0D8EE203C080E25D
+:10F2B00080930D0D80930C0D80E280930E0D1092C3
+:10F2C0000F0D89E09DE0FF90EF90DF90CF90BF9011
+:10F2D000AF909F908F900895FC012081318137FF7E
+:10F2E00007C08DE28093090D31952195310914C035
+:10F2F0002436310574F0C90164E670E00E946BB2F7
+:10F30000CB016AE070E00E946BB2805D8093090DD2
+:10F3100006C080E28093090D2A30310564F0EAE0EE
+:10F32000F0E0C901BF010E946BB2CB01BF010E9496
+:10F330006BB2805D01C080E280930A0DC9016AE072
+:10F3400070E00E946BB2805D80930B0D10920C0DEB
+:10F3500089E09DE008958F929F92AF92BF92CF92E5
+:10F36000DF92EF92FF920F931F93CF93DF93609101
+:10F3700014027091150280911602909117020E945A
+:10F38000BD276093190D70931A0D80931B0D9093F8
+:10F390001C0D6091100270911102809112029091E7
+:10F3A00013020E94C9276093150D7093160D809368
+:10F3B000170D9093180D8091350D9091360DA091F9
+:10F3C000370DB091380D81309048A105B10540F05E
+:10F3D0001092350D1092360D1092370D1092380D97
+:10F3E0006091350D7091360D8091370D9091380DEB
+:10F3F00025E030E040E050E00E947EB280913E0D7A
+:10F4000090E0A0E0B0E0281739074A075B0710F446
+:10F4100020933E0DD0913E0D10913F0D12FB112710
+:10F4200010F9C0E095E0C92ED12CE12CF12C23E19C
+:10F43000822E912CA12CB12C01E06091350D7091A0
+:10F44000360D8091370D9091380DD11134C0209137
+:10F450006F02222371F023E065307105810591056B
+:10F4600010F443E001C040E26AEA7FE08C2F0E9482
+:10F47000F663112309F4E2C08091350D9091360DA9
+:10F48000A091370DB091380D0597A105B10508F091
+:10F49000D5C00E941D6581E297E6DF91CF911F9153
+:10F4A0000F91FF90EF90DF90CF90BF90AF909F9023
+:10F4B0008F900C946765D130D9F520916F0222238B
+:10F4C000B9F0A70196010E947EB288E498E021304D
+:10F4D00031054105510521F4FFDE9C014EE303C0D7
+:10F4E000FBDE9C0140E263EA7FE08C2F0E942D64EA
+:10F4F000112309F4A3C06091350D7091360D8091F0
+:10F50000370D9091380DA70196010E947EB22130EF
+:10F5100031054105510509F091C00E941D6528E3A0
+:10F5200031E040E050E068E478E08CE99FE078C0AA
+:10F53000D230D9F520916F022223B9F0A7019601AC
+:10F540000E947EB286E498E02230310541055105E3
+:10F5500021F4C2DE9C014EE303C0BEDE9C0140E20A
+:10F5600068E97FE08C2F0E942D64112309F466C0A6
+:10F570006091350D7091360D8091370D9091380D59
+:10F58000A70196010E947EB2223031054105510546
+:10F5900009F054C00E941D6523E930E040E050E0CE
+:10F5A00066E478E084E99FE03BC0D33009F046C0D0
+:10F5B00020916F022223B9F0A70196010E947EB22A
+:10F5C0008EE29AE0233031054105510521F484DEB5
+:10F5D0009C014EE303C080DE9C0140E26AE87FE0CC
+:10F5E0008C2F0E942D64112349F16091350D70918B
+:10F5F000360D8091370D9091380DA70196010E942C
+:10F600007EB22330310541055105C1F40E941D65CC
+:10F610002FEF30E040E050E06EE27AE080E89FE0DB
+:10F62000DF91CF911F910F91FF90EF90DF90CF90DE
+:10F63000BF90AF909F908F900C94A4638091350DF4
+:10F640009091360DA091370DB091380D4497A105DA
+:10F65000B10540F08092350D9092360DA092370D95
+:10F66000B092380D6091350D7091360D8091370D47
+:10F670009091380DA70196010E947EB280913E0DB7
+:10F6800090E00396422F50E0841795074CF48DEFDD
+:10F69000820F80933E0D00936F02DCEFD20FCFEF0D
+:10F6A000CF5FDF5FC43008F4C8CEDF91CF911F91E8
+:10F6B0000F91FF90EF90DF90CF90BF90AF909F9011
+:10F6C0008F9008958F929F92AF92BF92CF92DF92C8
+:10F6D000EF92FF920F931F93CF93DF938091350D9D
+:10F6E0009091360DA091370DB091380D8130904832
+:10F6F000A105B10540F01092350D1092360D109213
+:10F70000370D1092380D6091350D7091360D809146
+:10F71000370D9091380D25E030E040E050E00E9438
+:10F720007EB280913E0D90E0A0E0B0E0281739074E
+:10F730004A075B0710F420933E0DD0913E0D1091C7
+:10F740003F0D12FB112710F9C0E035E0C32ED12C7C
+:10F75000E12CF12C42E2842E912CA12CB12C01E061
+:10F760006091350D7091360D8091370D9091380D67
+:10F77000D11134C020916F02222371F023E0653053
+:10F7800071058105910510F443E001C040E26CEE83
+:10F790007EE08C2F0E94F663112309F49CC18091B6
+:10F7A000350D9091360DA091370DB091380D05971C
+:10F7B000A105B10508F08FC10E941D658CE692E796
+:10F7C000DF91CF911F910F91FF90EF90DF90CF903D
+:10F7D000BF90AF909F908F900C946765D130D9F512
+:10F7E00020916F022223B9F0A70196010E947EB2F8
+:10F7F0008DE592E0213031054105510521F46CDDA4
+:10F800009C014EE303C068DD9C0140E266EE7EE0B1
+:10F810008C2F0E942D64112309F45DC16091350D78
+:10F820007091360D8091370D9091380DA70196019A
+:10F830000E947EB2213031054105510509F04BC1CE
+:10F840000E941D6527EE33E04AE050E06DE572E06E
+:10F8500080EE9EE03DC0D23009F048C020916F029A
+:10F860002223B9F0A70196010E947EB288E498E0B5
+:10F87000223031054105510521F42EDD9C014EE376
+:10F8800003C02ADD9C0140E269ED7EE08C2F0E94DE
+:10F890002D64112309F41FC16091350D7091360D4F
+:10F8A0008091370D9091380DA70196010E947EB28C
+:10F8B000223031054105510509F00DC10E941D6539
+:10F8C00028E331E040E050E068E478E082ED9EE03B
+:10F8D000DF91CF911F910F91FF90EF90DF90CF902C
+:10F8E000BF90AF909F908F900C94A463D330D9F5C4
+:10F8F00020916F022223B9F0A70196010E947EB2E7
+:10F9000086E498E0233031054105510521F4E4DC1B
+:10F910009C014EE303C0E0DC9C0140E26EEC7EE023
+:10F920008C2F0E942D64112309F4D5C06091350DF0
+:10F930007091360D8091370D9091380DA701960189
+:10F940000E947EB2233031054105510509F0C3C044
+:10F950000E941D6523E930E040E050E066E478E075
+:10F960008AEC9EE0B5CFD430D9F520916F022223E6
+:10F97000B9F0A70196010E947EB28EE29AE024308F
+:10F9800031054105510521F4A7DC9C014EE303C07C
+:10F99000A3DC9C0140E260EC7EE08C2F0E942D6491
+:10F9A000112309F498C06091350D7091360D809146
+:10F9B000370D9091380DA70196010E947EB2243038
+:10F9C00031054105510509F086C00E941D652FEFE4
+:10F9D00030E040E050E06EE27AE086EB9EE078CFE7
+:10F9E000D530D9F520916F022223B9F0A7019601F5
+:10F9F0000E947EB28BE592E025303105410551052C
+:10FA000021F46ADC9C014EE303C066DC9C0140E209
+:10FA100061EB7EE08C2F0E942D64112309F45BC002
+:10FA20006091350D7091360D8091370D9091380DA4
+:10FA3000A70196010E947EB225303105410551058E
+:10FA400009F049C00E941D6527EE33E04AE050E00E
+:10FA50006BE572E08CEA9EE03BCFD630E1F5209179
+:10FA60006F02222399F0A70196010E947EB22630F0
+:10FA700031054105510519F420E24EE302C020E2B0
+:10FA800040E26CE97EE08C2F0E94F663112319F1AD
+:10FA90006091350D7091360D8091370D9091380D34
+:10FAA000A70196010E947EB226303105410551051D
+:10FAB00091F40E941D6587E99EE0DF91CF911F912F
+:10FAC0000F91FF90EF90DF90CF90BF90AF909F90FD
+:10FAD0008F900C94333E8091350D9091360DA0910E
+:10FAE000370DB091380D8397A105B10540F0809294
+:10FAF000350D9092360DA092370DB092380D609171
+:10FB0000350D7091360D8091370D9091380DA7010C
+:10FB100096010E947EB280913E0D90E00396422FA6
+:10FB200050E0841795074CF48DEF820F80933E0DC3
+:10FB300000936F02DCEFD20FCFEFCF5FDF5FC430F7
+:10FB400008F40ECEDF91CF911F910F91FF90EF90AF
+:10FB5000DF90CF90BF90AF909F908F900895FC0161
+:10FB6000808191818436910524F164E670E00E94E1
+:10FB70006BB2CB012AE030E0B9010E946BB2805D2C
+:10FB80008093090D80819181B9010E946BB2CB01F4
+:10FB9000B9010E946BB2805D80930A0D80819181D2
+:10FBA000B9010E946BB2805D80930B0D10920C0D19
+:10FBB00023C08A309105BCF02AE030E0B9010E94F0
+:10FBC0006BB2CB01B9010E946BB2805D8093090DCD
+:10FBD00080819181B9010E946BB2805D80930A0D92
+:10FBE00010920B0D09C06AE070E00E946BB2805D5C
+:10FBF0008093090D10920A0D89E09DE00895CF923F
+:10FC0000EF920F93EFE1CE2EF0E2EF2E0FE02EE019
+:10FC100045E066E280E49DE00E9459290F91EF9053
+:10FC2000CF900895CF93DF93FC016491EC0121966E
+:10FC3000662331F080E49DE00E94362ACE01F4CFA5
+:10FC4000DF91CF9108950F931F93CF93DF938C0192
+:10FC5000EB0141E061E080E49DE00E947E28C80164
+:10FC6000E1DF6AE380E49DE00E94BFADFE01019008
+:10FC70000020E9F76C2F6E1B6C5E41E080E49DE094
+:10FC80000E947E28BE0180E49DE0DF91CF911F910C
+:10FC90000F910C94BEADCF92DF92EF92FF920F9333
+:10FCA0001F938091350D9091360DA091370DB09135
+:10FCB000380D0097A105B10509F442C0BC018827A1
+:10FCC00077FD8095982F0E9442AF2091110D3091C1
+:10FCD000120D4091130D5091140D0E9475B19B01AE
+:10FCE000AC016091500A7091510A8091520A909132
+:10FCF000530A0E94C7AD6093500A7093510A8093D3
+:10FD0000520A9093530A1092350D1092360D1092AC
+:10FD1000370D1092380DA0E3CA2EAAE0DA2EE12C9E
+:10FD2000F12C00E81FE320E53AE04CE45AE068E4F7
+:10FD30007AE084E49AE00E94779A81E080936F02EF
+:10FD400080916F02882339F080E59AE0A7D9BC0141
+:10FD500089EB9FE078DF80913F0D82FF0EC021E0AC
+:10FD600040E050E0BA018AEF98E61F910F91FF90B2
+:10FD7000EF90DF90CF900C9451651F910F91FF9001
+:10FD8000EF90DF90CF900895CF93DF931F921F9253
+:10FD9000CDB7DEB78091350D9091360DA091370D1E
+:10FDA000B091380DB7FF08C01092350D1092360D86
+:10FDB0001092370D1092380D80911D0D90911E0DEF
+:10FDC000A0911F0DB091200D4091350D5091360D31
+:10FDD0006091370D7091380D84179507A607B70706
+:10FDE00044F48093350D9093360DA093370DB09366
+:10FDF000380D80916F028823A9F08091210D909198
+:10FE0000220D2091350D3091360D820F931F9A836C
+:10FE10008983CE01019660DABC018091270D909113
+:10FE2000280D11DF80913F0D82FF1DC0E091250D4F
+:10FE3000F091260D8091210D9091220D2091350D8C
+:10FE40003091360D820F931F918380834091290D4D
+:10FE500050912A0D60E070E021E080912B0D90918F
+:10FE60002C0D0E9451650F900F90DF91CF91089556
+:10FE70004F925F926F927F928F929F92AF92BF92BA
+:10FE8000CF92DF92EF92FF920F931F93CF93DF9366
+:10FE90004C015B017A018091350D9091360DA09156
+:10FEA000370DB091380D892B8A2B8B2B09F47BC031
+:10FEB0000E945F40E501CC0FDD1FCC0FDD1F8E01DE
+:10FEC0000C5B154F6091350D7091360D882777FDCD
+:10FED0008095982F0E9442AF2091110D3091120D04
+:10FEE0004091130D5091140D0E9475B1F8012081BD
+:10FEF0003181428153810E94C7AD2B013C0120E03A
+:10FF000030E0A9010E94A0AEF80187FD05C0408243
+:10FF100051826282738204C0108211821282138223
+:10FF2000B701882777FD8095982F0E9442AF6B011B
+:10FF30007C018E010C5B154F9B01AC01F8016081C7
+:10FF40007181828193810E94A3B018162CF4F8016C
+:10FF5000C082D182E282F3821092350D1092360D6A
+:10FF60001092370D1092380DCA55DA4F20E030E06C
+:10FF700040E752E4688179818A819B810E94A7AE23
+:10FF8000D0E3CD2EDAE0DD2E7B018C0120E53AE0D6
+:10FF90004CE45AE068E47AE084E49AE00E94779ABC
+:10FFA00081E080936F0280916F02882359F0C50130
+:10FFB000880F991F880F991F8C5B954F6FD8BC01D4
+:10FFC000C40141DE80913F0D82FF18C021E040E076
+:10FFD00050E0BA018AEF98E6DF91CF911F910F911F
+:10FFE000FF90EF90DF90CF90BF90AF909F908F9059
+:10FFF0007F906F905F904F900C945165DF91CF91FF
+:020000021000EC
+:100000001F910F91FF90EF90DF90CF90BF90AF9036
+:100010009F908F907F906F905F904F90089546EDE6
+:1000200050E060E070E083EB9FE022CF46EC50E0D0
+:1000300061E070E085EB9FE01BCF49EC50E062E0AF
+:1000400070E087EB9FE014CF8F929F92AF92BF92A8
+:10005000CF92DF92EF92FF920F931F93CF93DF9394
+:10006000CDB7DEB728970FB6F894DEBF0FBECDBF71
+:1000700080912F0D882321F0815080932F0D03C094
+:1000800081E080936F0280916F02882309F456C249
+:1000900080919A0D8F5F80939A0D8E3129F40E9482
+:1000A000BC6A10929A0D0EC06AE00E944AB2911189
+:1000B00009C020E044E064E180E49DE00E947E29E4
+:1000C0000E94806420E030E040E05FE360914008FF
+:1000D0007091410880914208909143080E94C7ADF9
+:1000E0000E940FAF78876F8360914808709149082C
+:1000F000882777FD8095982F0E9442AF20E030E05E
+:1001000040E05FE30E94C7AD0E940FAF7E836D8326
+:1001100040E060E080E49DE00E947E2862E080E4B0
+:100120009DE00E94BFADCE010796D6D8BC0180E409
+:100130009DE00E94BEAD6FE280E49DE00E94BFADF5
+:10014000CE0105960CDDBC0180E49DE00E94BEADB1
+:1001500084E99EE067DD60E973E080E49DE00E9451
+:10016000BEAD40E06AE080E49DE00E947E2862EA45
+:1001700075E080E49DE00E94BEAD2CEA35EC47E2DC
+:1001800057E360914C0A70914D0A80914E0A90910C
+:100190004F0A0E94C7AD69837A838B839C83CE010B
+:1001A00001960E949A78BC0180E49DE00E94BEAD59
+:1001B00060E280E49DE00E94BFAD41E060E080E449
+:1001C0009DE00E947E2820E030E040E05FE3609107
+:1001D0003A0870913B0880913C0890913D080E943C
+:1001E000C7AD0E940FAF78876F836091460870910A
+:1001F0004708882777FD8095982F0E9442AF20E01E
+:1002000030E040E05FE30E94C7AD0E940FAF7E8305
+:100210006D8360E080E49DE00E94BFADCE01079653
+:100220005BD8BC0180E49DE00E94BEAD6FE280E43B
+:100230009DE00E94BFADCE01059691DCBC0180E43B
+:100240009DE00E94BEAD81E99EE0ECDC60E973E0D8
+:1002500080E49DE00E94BEAD41E06AE080E49DE064
+:100260000E947E2860E973E080E49DE00E94BEADBC
+:1002700066E080E49DE00E94BFAD8DE592E02CD861
+:10028000BC0180E49DE00E94BEAD65E280E49DE09B
+:100290000E94BFAD6DE873E080E49DE00E94BEADBA
+:1002A00042E060E080E49DE00E947E288EE89EE0CF
+:1002B000B9DC80915F0A8823A9F18091480C8823DA
+:1002C00019F18091F20C9091F30CA091F40CB09183
+:1002D000F50C0097A105B105B9F0BC01CD016D5930
+:1002E0007F4F8F4F9F4F24E630E040E050E00E9468
+:1002F0007EB26091FA0C7091FB0C8091FC0C909195
+:10030000FD0C0E947EB201C020E030E03A832983D8
+:10031000CE0101960E946C79BC0180E49DE00E94B0
+:10032000BEAD03C08AE89EE07DDC65E280E49DE02E
+:100330000E94BFAD6CE873E080E49DE00E94BEAD1A
+:1003400042E06AE080E49DE00E947E2860E973E07C
+:1003500080E49DE00E94BEAD67E080E49DE00E94E5
+:10036000BFAD8091520890915308A0915408B0916C
+:100370005508892B8A2B8B2BE1F10E9431A920E6AD
+:10038000C22E2AEED22EE12CF12CA70196010E945A
+:100390007EB249015A0160915208709153088091D0
+:1003A000540890915508A70196010E947EB2C4019D
+:1003B000821B930B6CE370E00E9457B2182F698385
+:1003C000CE0101960E943678BC0180E49DE00E9437
+:1003D000BEAD6AE380E49DE00E94BFAD1983CE010B
+:1003E00001960E943678BC0180E49DE00E94BEAD7B
+:1003F00003C084E89EE016DC60E973E080E49DE0E1
+:100400000E94BEAD43E060E080E49DE00E947E2853
+:100410006EE773E082E792E00E942EB6892B09F026
+:1004200074C06EE67AE085E59DE00E942EB6892BC9
+:10043000D1F0E5E5FDE0DF010D900020E9F7AD0129
+:100440004150510945555D4060E070E0CF010E9488
+:10045000FEB56EE67AE085E59DE00E9437B6109223
+:100460008B0D10928A0DEEE6FAE001900020E9F77C
+:10047000EF56FA40759708F445C000918A0D109127
+:100480008B0DC12CD12C80918A0D90918B0D9801F0
+:10049000281B390B2431310534F0019690938B0DD4
+:1004A00080938A0D38C0C114D104B9F7F801E35A1A
+:1004B000F54F7F019189602F681B43E0911115C0B2
+:1004C00080E49DE00E947E28D70150966C9180E4E4
+:1004D0009DE00E94BFAD10928B0D10928A0D00E03E
+:1004E00010E0CC24C394D12CCECF80E49DE00E94B8
+:1004F0007E28F701608980E49DE00E94BFAD0F5F18
+:100500001F4FC1CF65E57DE002C062E772E080E485
+:100510009DE00E94BEAD02E712E0D8018D918D01F1
+:1005200080322CF460E280E49DE00E94BFADB2E036
+:1005300006381B0791F78AE080932F0D80913F0DBD
+:1005400082FB882780F990912E0D992399F0909144
+:100550002D0D992339F0811119C010922D0D109293
+:100560002E0D14C0882391F00E941D6581E08093B8
+:100570002D0D0CC0882351F021E040E050E0BA017D
+:100580008CE692E70E9451650E94BC6A80915D02F0
+:1005900090915E022091350D3091360D8436910593
+:1005A00034F4820F931F853691054CF416C08436BF
+:1005B000910599F0820F931F8436910574F410927F
+:1005C000350D1092360D1092370D1092380D84E6CD
+:1005D00090E090935E0280935D0220915D023091E5
+:1005E0005E028091350D9091360D2436310569F407
+:1005F0008B3091051CF0865A9F4F09C0863FEFEF64
+:100600009E078CF482599F4F02C0820F931F9093D4
+:100610005E0280935D021092350D1092360D10929D
+:10062000370D1092380D80915D0290915E028A30F4
+:1006300091051CF48AE090E005C0883E934034F0B8
+:1006400087EE93E090935E0280935D0228960FB64A
+:10065000F894DEBF0FBECDBFDF91CF911F910F91F8
+:10066000FF90EF90DF90CF90BF90AF909F908F90D2
+:100670000895CF93DF93CFE2DEE0FE0184918823DB
+:1006800041F09091C00095FFFCCF8093C600319659
+:10069000F5CFE4E0F4E18491882341F09091C0002B
+:1006A00095FFFCCF8093C6003196F5CF8091C000B6
+:1006B00085FFFCCF8AE08093C600FE018491EFE2C3
+:1006C000FEE0882349F09091C00095FFFCCF809315
+:1006D000C60031968491F5CF4091A1135091A21399
+:1006E0006091A3137091A4138CEF93E10E949C3D41
+:1006F0004091A5135091A6136091A7137091A81370
+:1007000089EF93E10E949C3D4091A9135091AA1357
+:100710006091AB137091AC1386EF93E10E949C3D06
+:100720004091AD135091AE136091AF137091B0131F
+:1007300083EF93E10E949C3D8091C00085FFFCCF38
+:100740008AE08093C600FE018491EFE2FEE08823F8
+:1007500049F09091C00095FFFCCF8093C600319680
+:100760008491F5CFE9EDF3E18491882341F09091F4
+:10077000C00095FFFCCF8093C6003196F5CF8091E5
+:10078000C00085FFFCCF8AE08093C600FE01849103
+:10079000EFE2FEE0882349F09091C00095FFFCCF86
+:1007A0008093C60031968491F5CF4091B11350915A
+:1007B000B2136091B3137091B41380ED93E10E9472
+:1007C0009C3D4091B5135091B6136091B713709151
+:1007D000B8138DEC93E10E949C3D4091B913509168
+:1007E000BA136091BB137091BC138AEC93E10E9421
+:1007F0009C3D4091BD135091BE136091BF13709109
+:10080000C01387EC93E10E949C3D8091C00085FF5E
+:10081000FCCF8AE08093C600FE018491EFE2FEE007
+:10082000882349F09091C00095FFFCCF8093C600CB
+:1008300031968491F5CFE9EAF3E18491882341F080
+:100840009091C00095FFFCCF8093C6003196F5CF04
+:100850008091C00085FFFCCF8AE08093C600FE0136
+:100860008491EFE2FEE0882349F09091C00095FF6B
+:10087000FCCF8093C60031968491F5CF40919113BF
+:1008800050919213609193137091941380EA93E1C5
+:100890000E94AE3D4091951350919613609197132D
+:1008A000709198138DE993E10E94AE3D40919913A8
+:1008B00050919A1360919B1370919C138AE993E174
+:1008C0000E94AE3D40919D1350919E1360919F13E5
+:1008D0007091A01387E993E10E94AE3D8091C00022
+:1008E00085FFFCCF8AE08093C600FE018491EFE291
+:1008F000FEE0882349F09091C00095FFFCCF8093E3
+:10090000C60031968491F5CFE2E6F3E18491882325
+:1009100041F09091C00095FFFCCF8093C6003196C6
+:10092000F5CF8091C00085FFFCCF8AE08093C600A0
+:10093000FE018491EFE2FEE0882349F09091C0002F
+:1009400095FFFCCF8093C60031968491F5CF4091FE
+:10095000891350918A1360918B1370918C1389E5E0
+:1009600093E10E949C3D40918513509186136091C4
+:1009700087137091881386E593E10E949C3D8091D6
+:10098000C00085FFFCCF8AE08093C600FE01849101
+:10099000EFE2FEE0882349F09091C00095FFFCCF84
+:1009A0008093C60031968491F5CFE3EAF2E1849119
+:1009B000882341F09091C00095FFFCCF8093C60042
+:1009C0003196F5CF8091C00085FFFCCF8AE08093FF
+:1009D000C600FE018491EFE2FEE0882349F0909189
+:1009E000C00095FFFCCF8093C60031968491F5CF6F
+:1009F00040918D1350918E1360918F1370919013CD
+:100A00008AE992E10E949C3D4091751350917613C2
+:100A1000609177137091781387E992E10E949C3D71
+:100A20004091C1135091C2136091C3137091C413CC
+:100A300084E992E10E94AE3D40918113509182136E
+:100A4000609183137091841381E992E10E949C3D2F
+:100A500040917D1350917E1360917F1370918013AC
+:100A60008EE892E10E949C3D4091791350917A1357
+:100A700060917B1370917C138BE892E10E949C3D06
+:100A80008091C00085FFFCCF8AE08093C600FE0104
+:100A90008491EFE2FEE0882349F09091C00095FF39
+:100AA000FCCF8093C60031968491F5CFE9E7F2E15F
+:100AB0008491882341F09091C00095FFFCCF8093F2
+:100AC000C6003196F5CF8091C00085FFFCCF8AE04B
+:100AD0008093C600FE018491EFE2FEE0882349F096
+:100AE0009091C00095FFFCCF8093C6003196849111
+:100AF000F5CF4091380A5091390A60913A0A7091C5
+:100B00003B0A80E792E10E949C3D40913C0A509153
+:100B10003D0A60913E0A70913F0A8DE692E10E9483
+:100B20009C3D4091400A5091410A6091420A709167
+:100B3000430A8AE692E10E949C3D8091C00085FFB5
+:100B4000FCCF8AE08093C600FE018491EFE2FEE0D4
+:100B5000882349F09091C00095FFFCCF8093C60098
+:100B600031968491F5CFECE5F2E18491882341F050
+:100B70009091C00095FFFCCF8093C6003196F5CFD1
+:100B80008091C00085FFFCCF8AE08093C600FE0103
+:100B90008491EFE2FEE0882349F09091C00095FF38
+:100BA000FCCF8093C60031968491F5CF4091180216
+:100BB0005091190260911A0270911B0282E592E134
+:100BC0000E949C3D60911402709115028091160262
+:100BD000909117020E94BD27AB01BC018FE492E106
+:100BE0000E949C3D6091100270911102809112024E
+:100BF000909113020E94C927AB01BC018CE492E1E1
+:100C00000E949C3D8091C00085FFFCCF8AE08093CC
+:100C1000C600FE018491EFE2FEE0882349F0909146
+:100C2000C00095FFFCCF8093C60031968491F5CF2C
+:100C3000E8E1F2E18491882341F09091C00095FFB2
+:100C4000FCCF8093C6003196F5CF8091C00085FF20
+:100C5000FCCF8AE08093C600FE018491EFE2FEE0C3
+:100C6000882349F09091C00095FFFCCF8093C60087
+:100C700031968491F5CF40913302509134026091C6
+:100C80003502709136028EE092E10E949C3D20E098
+:100C900030E040E752E460912B0270912C02809189
+:100CA0002D0290912E020E9475B1AB01BC018BE028
+:100CB00092E10E949C3D4091280A5091290A60913E
+:100CC0002A0A70912B0A88E092E10E949C3D809153
+:100CD000C00085FFFCCF8AE08093C600FE018491AE
+:100CE000EFE2FEE0882349F09091C00095FFFCCF31
+:100CF0008093C60031968491F5CFECEDF1E18491BB
+:100D0000882341F09091C00095FFFCCF8093C600EE
+:100D10003196F5CF8091C00085FFFCCF8AE08093AB
+:100D2000C600FE018491EFE2FEE0882349F0909135
+:100D3000C00095FFFCCF8093C60031968491F5CF1B
+:100D40004091240A5091250A6091260A7091270A41
+:100D500082ED91E10E949C3D20E030E040E752E4CA
+:100D600060912702709128028091290290912A02B5
+:100D70000E9475B1AB01BC018FEC91E10E949C3DDA
+:100D80008091C00085FFFCCF8AE08093C600FE0101
+:100D90008491EFE2FEE0882349F09091C00095FF36
+:100DA000FCCF8093C60031968491F5CFE5E7F1E161
+:100DB0008491882341F09091C00095FFFCCF8093EF
+:100DC000C6003196F5CF8091C00085FFFCCF8AE048
+:100DD0008093C600FE018491EFE2FEE0882349F093
+:100DE0009091C00095FFFCCF8093C600319684910E
+:100DF000F5CF40912D0A50E060E070E08BE691E184
+:100E00000E94AE3D8091C00085FFFCCF8AE08093B8
+:100E1000C600FE018491EFE2FEE0882349F0909144
+:100E2000C00095FFFCCF8093C60031968491F5CF2A
+:100E30008091540A8823A1F1E8E5F1E184918823A7
+:100E400041F09091C00095FFFCCF8093C600319691
+:100E5000F5CF8091C00085FFFCCF8AE08093C6006B
+:100E6000FE01C491EFE2FEE0CC2349F08091C00086
+:100E700085FFFCCFC093C6003196C491F5CF409159
+:100E800053025091540260915502709156028EE4C3
+:100E900091E10E949C3D8091C00085FFFCCF11C074
+:100EA000E2E3F1E18491882341F09091C00095FF45
+:100EB000FCCF8093C6003196F5CF8091C00085FFAE
+:100EC000FCCF8AE08093C600DF91CF910895AF9266
+:100ED000BF92CF92DF92EF92FF920F931F93CF9327
+:100EE000DF93CDB7DEB7E0970FB6F894DEBF0FBE45
+:100EF000CDBF80E1EFEEF2E0DE01919601900D9220
+:100F00008A95E1F780E1EFEFF2E0DE015196019082
+:100F10000D928A95E1F780E1EFE0F3E0DE011196B2
+:100F200001900D928A95E1F76E0181E2C80ED11C05
+:100F300081EAE82E83E1F82E8E010F5E1F4F61EBF0
+:100F400073E1AE014F5F5F4F91E9A92E93E1B92E96
+:100F500020E030E0F60181919191A191B1916F0172
+:100F6000F70181939193A193B1937F01F80181914E
+:100F70009191A191B1918F01FB0181939193A193E3
+:100F8000B193BF01FA0181919191A191B191AF010A
+:100F9000F50181939193A193B1935F012F5F3F4F2F
+:100FA00024303105B9F60E9410A580E090E8ABE34B
+:100FB000B5E48093891390938A13A0938B13B09315
+:100FC0008C138093851390938613A0938713B0930B
+:100FD000881310928D1310928E1310928F1310920B
+:100FE000901380E29EE4A0E0B0E08093C113909360
+:100FF000C213A093C313B093C4131092751310922D
+:101000007613109277131092781380E090E0A0EAA4
+:10101000B1E48093811390938213A0938313B093D0
+:1010200084138DEC9CECACECBEE380937D13909329
+:101030007E13A0937F13B093801380E090E0A0EA2A
+:10104000B0E48093791390937A13A0937B13B093B9
+:101050007C131092400A1092410A1092420A109298
+:10106000430A10923C0A10923D0A10923E0A1092D6
+:101070003F0A1092380A1092390A10923A0A1092D6
+:101080003B0A8CED90E09093980D8093970D82E34E
+:1010900090E09093960D8093950D8FEF90E0909354
+:1010A000940D8093930D2DE131E03093920D2093B8
+:1010B000910D24E630E03093900D20938F0D9093A6
+:1010C0008E0D80938D0D83E393E3ABE4B1E48093C5
+:1010D000180290931902A0931A02B0931B026FE1B9
+:1010E00075E88BE89FE30E94B72760931402709322
+:1010F000150280931602909317026AE979E985E157
+:1011000092E40E94C32760931002709311028093AF
+:101110001202909313020E94251E80E090E0A0E846
+:10112000BFE380930C0290930D02A0930E02B09344
+:101130000F0210922D0A80E090E0A0E4B0E48093CA
+:10114000330290933402A0933502B093360240E00C
+:1011500050E064E372E440932B0250932C026093BE
+:101160002D0270932E021092280A1092290A1092D2
+:101170002A0A10922B0A1092240A1092250A109221
+:10118000260A1092270A40E050E060E071E44093A4
+:101190002702509328026093290270932A0210922A
+:1011A000540A8093530290935402A0935502B09333
+:1011B00056020E94A74AEFE2FEE08491882341F0A4
+:1011C0009091C00095FFFCCF8093C6003196F5CF7B
+:1011D000E0E1F1E18491882341F09091C00095FF16
+:1011E000FCCF8093C6003196F5CF8091C00085FF7B
+:1011F000FCCF8AE08093C600E0960FB6F894DEBF7D
+:101200000FBECDBFDF91CF911F910F91FF90EF9057
+:10121000DF90CF90BF90AF9008951F920F920FB6BE
+:101220000F9211240BB60F922F933F934F935F931E
+:101230006F938F939F93EF93FF936091C6002091DC
+:101240001D0E30911E0EC90101968F77992740918E
+:101250001F0E5091200E8417950741F0F901E356B7
+:10126000F24F608390931E0E80931D0EFF91EF91BD
+:101270009F918F916F915F914F913F912F910F901F
+:101280000BBE0F900FBE0F901F9018959A01AB01E7
+:10129000211581EE38074105510549F182E080931F
+:1012A000C00060E079E08DE390E00E94A0B22150A0
+:1012B000310941095109CA01B90122E030E040E099
+:1012C00050E00E94A0B23093C5002093C4008091EA
+:1012D000C10080618093C1008091C10088608093CB
+:1012E000C1008091C10080688093C1000895109270
+:1012F000C00020E130E0E7CF20911F0E3091200E9A
+:1013000080911D0E90911E0E8217930771F0F901C6
+:10131000E356F24F80812F5F3F4F2F773327309373
+:10132000200E20931F0E90E008958FEF9FEF0895F9
+:1013300080911F0E9091200E90931E0E80931D0E93
+:1013400008954F925F926F927F928F929F92AF9289
+:10135000BF92CF92DF92EF92FF920F931F93CF93A2
+:10136000DF93CDB7DEB7A0970FB6F894DEBF0FBE00
+:10137000CDBF5C014115510561057105E9F420E01F
+:1013800030E040E350E060E070E0A0960FB6F894E3
+:10139000DEBF0FBECDBFDF91CF911F910F91FF90A8
+:1013A000EF90DF90CF90BF90AF909F908F907F9005
+:1013B0006F905F904F905BC08E010F5F1F4FC12CED
+:1013C000D12C76014801422E512C612C712C8FEFCB
+:1013D000C81AD80AE80AF80ACB01BA01A301920197
+:1013E0000E947EB2CA01F80161938F01A901BC017C
+:1013F000411551056105710551F7F1E0CF1AD1088A
+:10140000E108F108F401EC0DFD1D80818A3010F433
+:1014100040E301C047E3480F552747FD5095652F2E
+:10142000752F20E030E0C50122D081E0C81AD10834
+:10143000E108F108EFEFCE16DE06EE06FE0611F724
+:10144000A0960FB6F894DEBF0FBECDBFDF91CF914F
+:101450001F910F91FF90EF90DF90CF90BF90AF90D2
+:101460009F908F907F906F905F904F90089521157F
+:10147000310539F48091C00085FFFCCF4093C60050
+:1014800008952A30310509F41CC05BCFCF93DF9358
+:10149000EC0120E030E04DE050E060E070E0E7DF9C
+:1014A00020E030E04AE050E060E070E0CE01DF9103
+:1014B000CF91DDCF9A01AB01662757FD6095762F5E
+:1014C000D6CFCF92DF92EF92FF92CF93DF93EC01D2
+:1014D0006A017B0177FF0FC020E030E04DE250E071
+:1014E00060E070E0C4DFF094E094D094C094C11C3C
+:1014F000D11CE11CF11C2AE0B701A601CE01DF914D
+:10150000CF91FF90EF90DF90CF901BCF2115310549
+:1015100039F48091C00085FFFCCF4093C600089548
+:1015200010CF9A01462F50E060E070E0EFCFCF93EC
+:10153000DF93EC019A01AB0160E070E0E7DFCE01E0
+:10154000DF91CF91A3CF8F929F92AF92BF92CF9214
+:10155000DF92EF92FF921F93CF93DF93EC016A012A
+:101560007B01122F20E030E0A901C701B6010E94E3
+:10157000A0AE87FF0CC020E030E04DE250E060E01C
+:1015800070E0CE0174DFF7FAF094F7F8F094B12C24
+:1015900060E070E080E09FE3B11641F020E030E0D1
+:1015A00040E251E40E94A7AEB394F6CF9B01AC0198
+:1015B000C701B6010E94C7AD6B017C010E9414AF48
+:1015C0004B015C010E9440AF9B01AC01C701B60119
+:1015D0000E94C6AD6B017C012AE0B501A401CE01D9
+:1015E000B0DE112361F0EFE5F3E08191882339F05B
+:1015F0009091C00095FFFCCF8093C600F6CF1123D9
+:1016000019F120E030E040E251E4C701B6010E9448
+:1016100075B16B017C010E940FAF4B01AA2497FCAE
+:10162000A094BA2CB501A401CE014BDFC501B401D1
+:101630000E9442AF9B01AC01C701B6010E94C6AD3A
+:101640006B017C011150DBCFDF91CF911F91FF9097
+:10165000EF90DF90CF90BF90AF909F908F900895C4
+:1016600072CFCF93DF931F92CDB7DEB7698341E08E
+:1016700050E0BE016F5F7F4F04960E9481160F906D
+:10168000DF91CF910895FB0101900020E9F7AF01B0
+:1016900041505109461B570B04960C9481168091BA
+:1016A000390E811109C08091380E811105C08091D9
+:1016B000370E811101C00895EFE2FEE08491882386
+:1016C00041F09091C00095FFFCCF8093C600319609
+:1016D000F5CFEFE6F4E18491882341F09091C000CA
+:1016E00095FFFCCF8093C6003196F5CF8091390EDF
+:1016F0008823F1F060913A0E70913B0E80913C0E80
+:1017000090913D0E0E9442AF2091A1133091A213FF
+:101710004091A3135091A4130E94A7AEAB01BC014A
+:101720008BE694E10E949C3D8BE594E10E9400765B
+:101730008091380E8823F1F060913E0E70913F0E3B
+:101740008091400E9091410E0E9442AF2091A513CE
+:101750003091A6134091A7135091A8130E94A7AEF1
+:10176000AB01BC0187E594E10E949C3D87E494E1D4
+:101770000E9400768091370E8823F1F06091420E2E
+:101780007091430E8091440E9091450E0E9442AF9D
+:101790002091A9133091AA134091AB135091AC132F
+:1017A0000E94A7AEAB01BC0183E494E10E949C3D82
+:1017B00083E394E10E9400768091C00085FFFCCF16
+:1017C0008AE08093C6001092390E1092380E109263
+:1017D000370E08951092390E1092380E1092370E6F
+:1017E000089580939B020895EFE6F0E08081826087
+:1017F000808308951F920F920FB60F9211240BB69B
+:101800000F920F931F932F933F934F935F936F9379
+:101810007F938F939F93AF93BF93EF93FF938091A9
+:101820006A0E90916B0E892B09F084C190916D0E18
+:1018300080916C0E981771F0E0916C0E8DE4E89F2A
+:10184000F0011124E259F14FDF01A45BBF4F81E0A9
+:101850008C9302C0E0E0F0E0F0936B0EE0936A0E30
+:10186000309709F461C1DF01A45BBF4F81E08C9325
+:1018700010924D0E10924E0E10924F0E1092500E6E
+:1018800060AD71AD61349CE9790728F461329EE462
+:10189000790748F002C060E47CE976956795769513
+:1018A000679584E007C0613197E2790730F076955B
+:1018B000679582E080934A0E07C080934A0E60329B
+:1018C000710510F460E270E060527109611588E002
+:1018D0007807D0F0872F9927880F991F880F991FB5
+:1018E0008258974EFC01329645915491AA27659FE4
+:1018F0009001649F210D3A1F06942A1F3A1F11245C
+:10190000FC01859194911DC0CB01969587958C7FA4
+:1019100082589B4EFC01459154910296FC018591A1
+:101920009491FB01E770FF278E9F90018F9F300DF0
+:101930009E9F300D1124E3E036952795EA95E1F757
+:10194000CA01821B930B8436910598F4EEEBF5E007
+:101950008191882339F09091C00095FFFCCF80934E
+:10196000C600F6CF4AE050E08CE99DE0E0DD84E679
+:1019700090E09093490E8093480E80914A0E9927EB
+:1019800087FD90959093470E8093460EE0916A0EE6
+:10199000F0916B0E64AD75AD70934C0E60934B0E71
+:1019A00061349CE9790728F461328EE4780748F0C5
+:1019B00002C060E47CE9769567957695679584E04A
+:1019C00007C0613197E2790730F07695679582E03C
+:1019D00080934A0E08C081E080934A0E6032710500
+:1019E00010F460E270E060527109611588E07807D8
+:1019F000E0F0872F9927880F991F880F991F825829
+:101A0000974EFC01329625913491AA27639FA0013D
+:101A1000629F410D5A1F06944A1F5A1F1124FC0150
+:101A200025913491241B350B1EC0CB0196958795CB
+:101A30008C7F82589B4EFC01259134910296FC01CB
+:101A400045915491FB01E770FF274E9FC0014F9FC6
+:101A5000900D5E9F900D1124F3E096958795FA9571
+:101A6000E1F7281B390B2436310598F4EEEBF5E04D
+:101A70008191882339F09091C00095FFFCCF80932D
+:101A8000C600F6CF4AE050E08CE99DE050DD24E648
+:101A900030E0C901A0E0B0E08093510E9093520E67
+:101AA000A093530EB093540E309389002093880076
+:101AB000E0916A0EF0916B0E80899189A289B389B9
+:101AC000B695A79597958795B095A0959095819592
+:101AD0009F4FAF4FBF4F8093650E9093660EA093BC
+:101AE000670EB093680E8093610E9093620EA09380
+:101AF000630EB093640E80935D0E90935E0EA09380
+:101B00005F0EB093600E8093590E90935A0EA0937F
+:101B10005B0EB0935C0E1092550E1092560E109202
+:101B2000570E1092580E06C080ED97E090938900F2
+:101B300080938800E0916A0EF0916B0E309709F463
+:101B400087C580A18093690E9FB780FF09C0F89474
+:101B500080910B018D7F80930B019FBF8FEF08C099
+:101B6000F89480910B01826080930B019FBF81E00C
+:101B7000809397028091690E9FB781FF09C0F89406
+:101B800080910B018E7F80930B019FBF8FEF08C068
+:101B9000F89480910B01816080930B019FBF81E0DD
+:101BA000809398022091690E30919B0220FF3BC0E8
+:101BB000332309F472C01E9902C080E031C08091C5
+:101BC000360E882361F1E0916A0EF0916B0E8081F0
+:101BD0009181A281B381181619061A061B06FCF41E
+:101BE0008091210E9091220EA091230EB091240E8F
+:101BF00080933A0E90933B0EA0933C0EB0933D0E13
+:101C000081E08093390E80899189A289B38980937C
+:101C1000550E9093560EA093570EB093580E81E038
+:101C20008093360E3AC03323C1F140B151E042FBFC
+:101C3000442740F9452779F18091350E882359F1E1
+:101C4000E0916A0EF0916B0E80819181A281B38147
+:101C5000181619061A061B06F4F48091210E9091AD
+:101C6000220EA091230EB091240E80933A0E9093F1
+:101C70003B0EA0933C0EB0933D0E5093390E8089DD
+:101C80009189A289B3898093550E9093560EA093A3
+:101C9000570EB093580E4093350E21FF3BC03323AF
+:101CA00009F471C01D9902C080E031C08091340EEA
+:101CB000882361F1E0916A0EF0916B0E8481958129
+:101CC000A681B781181619061A061B06FCF4809126
+:101CD000250E9091260EA091270EB091280E80938C
+:101CE0003E0E90933F0EA093400EB093410E81E0C4
+:101CF0008093380E80899189A289B3898093550E8B
+:101D00009093560EA093570EB093580E81E0809397
+:101D1000340E39C03323B9F130B141E0369531701A
+:101D2000342779F18091330E882359F1E0916A0EBE
+:101D3000F0916B0E84819581A681B78118161906E2
+:101D40001A061B06F4F48091250E9091260EA091A0
+:101D5000270EB091280E80933E0E90933F0EA093D5
+:101D6000400EB093410E4093380E80899189A2892C
+:101D7000B3898093550E9093560EA093570EB0934F
+:101D8000580E3093330E9FB722FF47C0F8948091CE
+:101D90000B018B7F80930B019FBF8FEF8093990284
+:101DA00080919B02882309F47DC01C9902C080E0C9
+:101DB00031C08091320E882361F1E0916A0EF0917A
+:101DC0006B0E80859185A285B385181619061A06B3
+:101DD0001B06FCF48091290E90912A0EA0912B0EE7
+:101DE000B0912C0E8093420E9093430EA093440E1C
+:101DF000B093450E81E08093370E80899189A28946
+:101E0000B3898093550E9093560EA093570EB093BE
+:101E1000580E81E08093320E45C0F89480910B01FA
+:101E2000846080930B019FBF31E0309399028091D1
+:101E30009B028823B9F126B12095221F2227221F59
+:101E400079F18091310E882359F1E0916A0EF09179
+:101E50006B0E80859185A285B385181619061A0622
+:101E60001B06F4F48091290E90912A0EA0912B0E5E
+:101E7000B0912C0E8093420E9093430EA093440E8B
+:101E8000B093450E3093370E80899189A289B3892A
+:101E90008093550E9093560EA093570EB093580E04
+:101EA0002093310E8091690E9FB783FF09C0F8948B
+:101EB00080910B01806480930B019FBF8FEF08C05E
+:101EC000F89480910B018F7B80930B019FBF81E081
+:101ED00080939A0220E080914A0E28170CF0ADC141
+:101EE0008091C00087FF19C03091C60040911D0E3F
+:101EF00050911E0ECA0101968F77992760911F0E8F
+:101F00007091200E8617970741F0FA01E356F24FC1
+:101F1000308390931E0E80931D0EE0916A0EF09117
+:101F20006B0E8091650E9091660EA091670EB09138
+:101F3000680E4081518162817381840F951FA61FB5
+:101F4000B71F8093650E9093660EA093670EB093B3
+:101F5000680E181619061A061B06CCF5409AE09171
+:101F60006A0EF0916B0E8091650E9091660EA091B5
+:101F7000670EB091680E4089518962897389841B0C
+:101F8000950BA60BB70B8093650E9093660EA093EE
+:101F9000670EB093680E409197028091210E909148
+:101FA000220EA091230EB091240E552747FD509587
+:101FB000652F752F840F951FA61FB71F8093210EC5
+:101FC0009093220EA093230EB093240E4098E0919C
+:101FD0006A0EF0916B0E8091610E9091620EA0914D
+:101FE000630EB091640E4481558166817781840FC0
+:101FF000951FA61FB71F8093610E9093620EA0934A
+:10200000630EB093640E181619061A061B06CCF55B
+:10201000419AE0916A0EF0916B0E8091610E909161
+:10202000620EA091630EB091640E4089518962895D
+:102030007389841B950BA60BB70B8093610E90934D
+:10204000620EA093630EB093640E4091980280914B
+:10205000250E9091260EA091270EB091280E55279F
+:1020600047FD5095652F752F840F951FA61FB71F2D
+:102070008093250E9093260EA093270EB093280EE2
+:102080004198E0916A0EF0916B0E80915D0E9091F7
+:102090005E0EA0915F0EB091600E40855185628505
+:1020A0007385840F951FA61FB71F80935D0E9093B5
+:1020B0005E0EA0935F0EB093600E181619061A06F6
+:1020C0001B06CCF5429AE0916A0EF0916B0E80915E
+:1020D0005D0E90915E0EA0915F0EB091600E4089F2
+:1020E000518962897389841B950BA60BB70B80936A
+:1020F0005D0E90935E0EA0935F0EB093600E4091C4
+:1021000099028091290E90912A0EA0912B0EB091E8
+:102110002C0E552747FD5095652F752F840F951F61
+:10212000A61FB71F8093290E90932A0EA0932B0E03
+:10213000B0932C0E4298E0916A0EF0916B0E809154
+:10214000590E90915A0EA0915B0EB0915C0E448591
+:10215000558566857785840F951FA61FB71F8093C9
+:10216000590E90935A0EA0935B0EB0935C0E181606
+:1021700019061A061B06CCF5439AE0916A0EF091F7
+:102180006B0E8091590E90915A0EA0915B0EB091FA
+:102190005C0E4089518962897389841B950BA60B5B
+:1021A000B70B8093590E90935A0EA0935B0EB09389
+:1021B0005C0E40919A0280912D0E90912E0EA0916E
+:1021C0002F0EB091300E552747FD5095652F752F76
+:1021D000840F951FA61FB71F80932D0E90932E0E70
+:1021E000A0932F0EB093300E43988091550E90918E
+:1021F000560EA091570EB091580E0196A11DB11D1B
+:102200008093550E9093560EA093570EB093580E90
+:102210004091550E5091560E6091570E7091580E88
+:10222000E0916A0EF0916B0E80899189A289B38941
+:10223000481759076A077B07B0F04091550E509137
+:10224000560E6091570E7091580EE0916A0EF09103
+:102250006B0E84899589A689B78984179507A60787
+:10226000B70718F4D9C02F5F36CE4091510E509168
+:10227000520E6091530E7091540E048D158D268D63
+:10228000378DAA27419FB12D529FC001629F900DAB
+:10229000619F800D911D429FB00D811D9A1F519F1E
+:1022A000B00D811D9A1F609FB00D811D9A1F509F18
+:1022B000B10D8A1F9A1FB6958A1F9A1F112444AD2B
+:1022C00055AD480F591F50934C0E40934B0E80ADA7
+:1022D00091ADA2ADB3AD60E070E084179507A6079D
+:1022E000B70720F490934C0E80934B0E60914B0EE9
+:1022F00070914C0E61349CE9790728F461328EE4C8
+:10230000780748F002C060E47CE976956795769599
+:10231000679584E007C0613197E2790730F07695E0
+:10232000679582E080934A0E08C081E080934A0E50
+:102330006032710510F460E270E06052710961155D
+:1023400088E07807E0F0872F9927880F991F880F7A
+:10235000991F8258974EFC01329625913491AA27F5
+:10236000639FA001629F410D5A1F06944A1F5A1F86
+:102370001124FC0125913491241B350B1EC0CB0187
+:10238000969587958C7F82589B4EFC0125913491C0
+:102390000296FC0145915491FB01E770FF274E9F87
+:1023A000C0014F9F900D5E9F900D112413E09695F4
+:1023B00087951A95E1F7281B390B2436310598F4D7
+:1023C000EEEBF5E08191882339F09091C00095FF04
+:1023D000FCCF8093C600F6CF4AE050E08CE99DE048
+:1023E000A6D824E630E030938900209388008091BD
+:1023F000510E9091520EA091530EB091540E820F37
+:10240000931FA11DB11D8093510E9093520EA09366
+:10241000530EB093540EF7C04091550E5091560E86
+:102420006091570E7091580E808D918DA28DB38D55
+:1024300084179507A607B70708F0D9C040914D0E3D
+:1024400050914E0E60914F0E7091500E048D158D6F
+:10245000268D378DAA27419FB12D529FC001629FC3
+:10246000900D619F800D911D429FB00D811D9A1F9F
+:10247000519FB00D811D9A1F609FB00D811D9A1F45
+:10248000509FB10D8A1F9A1FB6958A1F9A1F11245B
+:1024900020914B0E30914C0EE05CFF4F281739070E
+:1024A00018F42081318102C0281B390B8081918171
+:1024B000A281B381A90160E070E0481759076A075B
+:1024C0007B0708F49C0121349CE9390728F4213268
+:1024D0008EE4380748F002C020E43CE936952795A1
+:1024E0003695279584E007C0213197E2390730F00F
+:1024F0003695279582E080934A0E08C081E080934C
+:102500004A0E2032310510F420E230E0B901605269
+:102510007109611588E07807E0F0872F9927880F07
+:10252000991F880F991F8258974EFC01329625916A
+:102530003491AA27639FA001629F410D5A1F069400
+:102540004A1F5A1F1124FC0125913491241B350B7D
+:102550001EC0CB01969587958C7F82589B4EFC01BF
+:10256000259134910296FC0145915491FB01E7704D
+:10257000FF274E9FC0014F9F900D5E9F900D11242D
+:1025800043E0969587954A95E1F7281B390B243649
+:102590003105A0F4EEEBF5E08191882339F09091BC
+:1025A000C00095FFFCCF8093C600F6CF4AE050E014
+:1025B0008CE99DE00E94978A24E630E03093890000
+:1025C0002093880080914D0E90914E0EA0914F0E59
+:1025D000B091500E820F931FA11DB11D80934D0E1F
+:1025E00090934E0EA0934F0EB093500E0CC080915E
+:1025F000480E9091490E90938900809388008091B5
+:10260000460E80934A0E4091550E5091560E6091A1
+:10261000570E7091580EE0916A0EF0916B0E808902
+:102620009189A289B389481759076A077B0780F007
+:1026300010926B0E10926A0E90916D0E80916C0E3E
+:10264000981731F080916C0E8F5F8F7080936C0EB5
+:10265000FF91EF91BF91AF919F918F917F916F917A
+:102660005F914F913F912F911F910F910F900BBE52
+:102670000F900FBE0F901F90189590916D0E809146
+:102680006C0E981741F00E94721E80E00E9438493B
+:102690000E949C76F2CF0895CF93DF93EFB7F89422
+:1026A000EC0188819981AA81BB818093210E90934E
+:1026B000220EA093230EB093240EEB018881998102
+:1026C000AA81BB818093250E9093260EA093270E9E
+:1026D000B093280EEA0188819981AA81BB818093F9
+:1026E000290E90932A0EA0932B0EB0932C0EE90185
+:1026F00088819981AA81BB8180932D0E90932E0EA3
+:10270000A0932F0EB093300EEFBFDF91CF910895BD
+:102710002FB7F894FC0180819181A281B3818093CD
+:102720002D0E90932E0EA0932F0EB093300E2FBF30
+:1027300008952FB7F89494E0899FF0011124EF5D7C
+:10274000F14F60817181828193812FBF089595DF60
+:10275000179A1092350A169A1092360A159A109204
+:10276000370A149A089580916F008D7F80936F00CF
+:1027700090916D0E80916C0E981769F090916D0E8E
+:1027800080916C0E9817A1F380916C0E8F5F8F7003
+:1027900080936C0EEDCF10926B0E10926A0E8091AA
+:1027A0006F00826080936F000895813039F120F0CE
+:1027B000823009F445C0089517988091090182700C
+:1027C0002FB7662329F0F89490910B01926004C012
+:1027D000F89490910B019D7F90930B012FBF409A2D
+:1027E00040989FB7882329F0F89480910B0182606C
+:1027F00048C0F89480910B018D7F43C0169880915A
+:10280000090181702FB7662329F0F89490910B018C
+:10281000916004C0F89490910B019E7F90930B01FE
+:102820002FBF419A41989FB7882329F0F89480914F
+:102830000B01816026C0F89480910B018E7F21C02E
+:1028400015988091090184702FB7662329F0F894B8
+:1028500090910B01946004C0F89490910B019B7FC0
+:1028600090930B012FBF429A42989FB7882329F07B
+:10287000F89480910B01846004C0F89480910B015E
+:102880008B7F80930B019FBF0895DB0181110DC0E9
+:102890002FEF30E00E94C2B220ED37E040E050E080
+:1028A0000E94A0B2B9018CE21DC0813069F42FEF03
+:1028B00030E00E94C2B220ED37E040E050E00E94DC
+:1028C000A0B2B9018DE20EC0823071F42FEF30E07A
+:1028D0000E94C2B220ED37E040E050E00E94A0B27A
+:1028E000B9018EE20C9447A7089561E08CE20E9442
+:1028F00051A861E08DE20E9451A861E08EE20E9441
+:1029000051A860919C0270919D0280E0BEDF6091B1
+:102910009E0270919F0281E0B8DFA091A002B09169
+:10292000A1022FEF30E00E94C2B220ED37E040E07C
+:1029300050E00E94A0B2B9018EE20E9447A7E1E2F6
+:10294000F1E08081887F816080830895CF93C42FD8
+:1029500067FD20C0813061F028F0823079F083304B
+:1029600099F018C088E20E948AA8C7FF1DC02AC03B
+:1029700085E40E948AA8C7FF1AC024C084E40E948C
+:102980008AA8C7FF17C01EC081E40E948AA8C7FF9B
+:1029900014C018C0C7FD16C0813049F028F082303D
+:1029A00049F0833051F00EC06C2F89E208C06C2FC3
+:1029B00087E205C06C2F83E402C06C2F82E4CF91C4
+:1029C0000C948AA8CF910895643079F028F461308E
+:1029D00041F0623041F00895683051F0603141F0CB
+:1029E000089540E003C040E004C041E060E002C060
+:1029F00041E061E0ABCFFF920F931F93CF93DF9342
+:102A000000D01F921F92CDB7DEB785E0EFE1F3E073
+:102A1000DE01119601900D928A95E1F761E088E25E
+:102A20000E9451A861E089E20E9451A861E085E41A
+:102A30000E9451A861E087E20E9451A861E084E40D
+:102A40000E9451A861E083E40E9451A861E081E402
+:102A50000E9451A861E082E40E9451A88E010F5F9C
+:102A60001F4FF12CF80161918F018F2DADDFF39491
+:102A7000F5E0FF12F7CF0F900F900F900F900F908F
+:102A8000DF91CF911F910F91FF9008952EDFB3DF5B
+:102A9000EAE0F1E0808182608083808181608083D0
+:102AA0008081846080838081806480830F9A179AFC
+:102AB0000E9A169A0D9A159A0C9A149A26982E9A8E
+:102AC00025982D9A24982C9A0A98129A0998119A66
+:102AD0003F98479A389A4098179A1092350A399A2F
+:102AE0004198169A1092360A3A9A4298159A10927C
+:102AF000370A3B9A4398149AA1E8B0E08C918F7EF4
+:102B00008C938C9188608C93E0E8F0E080818D7FDD
+:102B1000808380818E7F808380818F73808380819A
+:102B20008F7C80838C91887F82608C9380E090E49E
+:102B30009093890080938800109285001092840001
+:102B4000EFE6F0E080818260808381E080939B02E9
+:102B500078940895E5E2F4E18491882341F090911E
+:102B6000C00095FFFCCF8093C6003196F5CFE1E21F
+:102B7000F4E18491882341F09091C00095FFFCCF4F
+:102B80008093C6003196F5CF88E20E94BFA84AE044
+:102B900050E0BC018CE99DE00E945A8A89E20E94C3
+:102BA000BFA84AE050E0BC018CE99DE00E945A8A2F
+:102BB0008091C00085FFFCCF8AE08093C600EDE1E4
+:102BC000F4E18491882341F09091C00095FFFCCFFF
+:102BD0008093C6003196F5CF85E40E94BFA84AE0F5
+:102BE00050E0BC018CE99DE00E945A8A87E20E9475
+:102BF000BFA84AE050E0BC018CE99DE00E945A8ADF
+:102C00008091C00085FFFCCF8AE08093C600E9E197
+:102C1000F4E18491882341F09091C00095FFFCCFAE
+:102C20008093C6003196F5CF84E40E94BFA84AE0A5
+:102C300050E0BC018CE99DE00E945A8A83E40E9426
+:102C4000BFA84AE050E0BC018CE99DE00E945A8A8E
+:102C50008091C00085FFFCCF8AE08093C600E4E14C
+:102C6000F4E18491882341F09091C00095FFFCCF5E
+:102C70008093C6003196F5CF81E40E94BFA84AE058
+:102C800050E0BC018CE99DE00E945A8A82E40E94D7
+:102C9000BFA84AE050E0BC018CE99DE00E945A8A3E
+:102CA0008091C00085FFFCCF8AE08093C600089524
+:102CB000CF93DF931F92CDB7DEB72091B714309139
+:102CC000B814CE0101962115310519F0821B930B22
+:102CD00002C08D5B94410F90DF91CF9108952F92A8
+:102CE0003F924F925F926F927F928F929F92AF929C
+:102CF000BF92CF92DF92EF92FF920F931F93CF93E9
+:102D0000DF93CDB7DEB768970FB6F894DEBF0FBE7E
+:102D1000CDBF1C012A013B0148015901DC01D896B5
+:102D20006D917D918D919C91DB970E9440AF6B01DD
+:102D30007C01A30192010E9475B10E948DAE0E9498
+:102D400014AF69877A878B879C87A5019401C70197
+:102D5000B6010E9475B10E948DAE0E9414AF6D87BE
+:102D60007E878F87988B29853A854B855C852837A8
+:102D700031054105510540F488E790E0A0E0B0E05E
+:102D800089879A87AB87BC872D853E854F85588973
+:102D9000283731054105510540F488E790E0A0E06F
+:102DA000B0E08D879E87AF87B88B91012C5B3F4F3A
+:102DB000D9018D919D910D90BC91A02D8D839E8305
+:102DC000AF83B887BC01CD010E9442AF69837A838B
+:102DD0008B839C8369857A858B859C850E9440AF17
+:102DE000698B7A8B8B8B9C8B20E030E0A901698109
+:102DF0007A818B819C810E94A0AE882339F1A70142
+:102E00009601C701B6010E9475B14B015C01298989
+:102E10003A894B895C89CA01B9010E9475B19B014D
+:102E2000AC01C501B4010E94C6AD4B015C01298112
+:102E30003A814B815C81CA01B9010E94C7AD9B01F7
+:102E4000AC01C501B4010E94A7AE03C060E070E010
+:102E5000CB010E948DAE0E940FAF2B013C016D8112
+:102E60007E818F81988590958095709561957F4F33
+:102E70008F4F9F4F0E9442AF4B015C016D857E8555
+:102E80008F8598890E9440AF6D837E838F8398875A
+:102E900020E030E0A901C501B4010E94A0AE882362
+:102EA00049F12D813E814F815885CA01B9010E94A7
+:102EB00075B16D8B7E8B8F8B988FA7019601C701A3
+:102EC000B6010E9475B19B01AC016D897E898F8925
+:102ED000988D0E94C6AD6B017C01A5019401C501CE
+:102EE000B4010E94C7AD9B01AC01C701B6010E94AD
+:102EF000A7AE03C060E070E0CB010E947DAFF1019E
+:102F000080889188A288B38875016401C418D508A7
+:102F1000E608F7080E940FAFC61AD70AE80AF90AAE
+:102F2000F7FE6BC020E030E0A90169817A818B81D6
+:102F30009C810E94A0AE882309F447C029813A8170
+:102F40004B815C81CA01B9010E94C7AD6B017C0154
+:102F5000C501B4010E9440AF9B01AC01C701B6019D
+:102F60000E9475B16B017C0129893A894B895C8982
+:102F7000CA01B9010E9475B19B01AC01C701B6013C
+:102F80000E94C6AD6B017C012D813E814F81588529
+:102F9000CA01B9010E9475B19B01AC01C701B6011C
+:102FA0000E94C7AD6B017C0120E030E040E850E4B6
+:102FB00069817A818B819C810E9475B19B01AC01F2
+:102FC000C701B6010E94A7AE03C060E070E0CB016C
+:102FD0000E948DAE0E940FAF2B013C0197FF03C0F2
+:102FE000412C512C3201481459046A047B0410F01E
+:102FF00024013501C12CD12C76018FB7F894F10151
+:10300000E45BFF4F9081911125C0D10154964D9200
+:103010005D926D927C925797C40CD51CE61CF71CF0
+:10302000F101C08ED18EE28EF38E29853A854B85D3
+:103030005C85DC962D933D934D935C93DF97A05C6C
+:10304000BF4F2D853E854F8558892D933D934D93D8
+:103050005C9313978FBF68960FB6F894DEBF0FBED0
+:10306000CDBFDF91CF911F910F91FF90EF90DF9037
+:10307000CF90BF90AF909F908F907F906F905F9018
+:103080004F903F902F9008954F925F926F927F9252
+:10309000AF92BF92CF92DF92EF92FF920F931F9366
+:1030A000CF93DF93EB017A01209709F458C04115C3
+:1030B000510509F454C0AAA4BBA40CA51DA59501F3
+:1030C000A8016EA17FA188A599A50E94A0AE882322
+:1030D00009F445C08FA981113AC0F70146A057A055
+:1030E00060A471A4A3019201B501C8010E94A3B01C
+:1030F00018166CF5A3019201C301B2010E9475B1CB
+:103100006B017C018AA99BA9ACA9BDA9BC01CD0119
+:1031100090589B01AC010E94C7AD2EA53FA548A9C0
+:1031200059A90E9475B19B01AC01C701B6010E946B
+:10313000C6AD0E94E2B16B017C019B01AC01B501FF
+:10314000C8010E94A0AE87FD02C056018701A501FB
+:10315000B8014EA35FA368A779A781E08EABDF918A
+:10316000CF911F910F91FF90EF90DF90CF90BF9084
+:10317000AF907F906F905F904F900895DF92EF92A5
+:10318000FF920F931F93CF93DF9380916D0E8FB7B4
+:10319000F894E0906C0E8FBF80916D0E90E08E19C8
+:1031A00091098F7099270497F4F010916D0E1350C8
+:1031B0001F7040E050E000E0F12C8DE4D82E1E1589
+:1031C00091F0111101C010E11150D19EE0011124C4
+:1031D000C259D14F602F7F2DCE0156DF402F5F2D7A
+:1031E0000C2FFD2EECCFDF91CF911F910F91FF900F
+:1031F000EF90DF9008954F925F926F927F92AF921F
+:10320000BF92CF92DF92EF92FF920F931F93CF93D3
+:10321000DF938C01EB01009709F453C0FC0187A9EF
+:1032200081114FC046A057A060A471A4AEA0BFA05A
+:10323000C8A4D9A49501A601C301B2010E94A0AE01
+:1032400087FF3FC0A3019201C301B2010E9475B183
+:103250002B013C01F80182A993A9A4A9B5A9BC013D
+:10326000CD0190589B01AC010E94C7ADF80126A585
+:1032700037A540A951A90E9475B19B01AC01C301BA
+:10328000B2010E94C6AD0E94E2B17B018C019B019C
+:10329000AC01B501C6010E94A0AE87FF02C0750156
+:1032A00086019701A801B501C6010E94A0AE88233E
+:1032B00041F0A701B8014EA35FA368A779A781E0F9
+:1032C0008EABDF91CF911F910F91FF90EF90DF9028
+:1032D000CF90BF90AF907F906F905F904F90089588
+:1032E000EF92FF920F931F93CF93DF93F0906C0EAA
+:1032F00000E010E080E090E02DE4E22E20916D0EE1
+:10330000F21689F0EF9CE0011124C259D14FAE01B1
+:10331000B80171DF81E08F0D803109F480E0F82E73
+:10332000C8018E01EBCF40E050E0B801DF91CF91B2
+:103330001F910F91FF90EF905ECF4F925F926F922F
+:103340007F928F929F92AF92BF92CF92DF92EF9235
+:10335000FF920F931F93CF93DF9390906C0EC0E07A
+:10336000D0E03DE4832E892D992787FD909520910B
+:103370006D0E30E082179307B9F1889E5001899E47
+:10338000B00C1124C5018259914F5C01209729F19D
+:103390008EA9811104C0F50186A98823F1F0CAA085
+:1033A000DBA0ECA0FDA0A7019601F50166A177A125
+:1033B00080A591A50E94A7AE2B013C01A701960113
+:1033C0006EA17FA188A599A50E94A7AEAB01BC0103
+:1033D00093018201CE0183DC1EAA9394F0E19F1237
+:1033E00001C0912CE501BFCF2097E9F0CAA0DBA076
+:1033F000ECA0FDA0A70196016DEC7CEC8CE49DE3B4
+:103400000E94A7AE4B015C01A70196016EA17FA1AE
+:1034100088A599A50E94A7AEAB01BC0195018401C6
+:10342000CE015DDC1EAADF91CF911F910F91FF901D
+:10343000EF90DF90CF90BF90AF909F908F907F9054
+:103440006F905F904F90089599DE4ADF76CF10928B
+:103450006D0E10926C0E80E1E5E5F3E1DF011D9247
+:103460008A95E9F71092451310924613109247136C
+:10347000109248131092491310924A1310924B1352
+:1034800010924C1310924D1310924E1310924F1332
+:103490001092501310925113109252131092531312
+:1034A000109254131092411310924213109243132E
+:1034B00010924413089560912E0A90916C0E8091A1
+:1034C0006D0E981781F080916C0E9DE4899FF0013C
+:1034D0001124EA54F14F608190916D0E891719F013
+:1034E0008F5F8F70F9CF70E088E00C9447A72F9220
+:1034F0003F924F925F926F927F928F929F92AF9284
+:10350000BF92CF92DF92EF92FF920F931F93CF93D0
+:10351000DF93CDB7DEB7CC56D1090FB6F894DEBF36
+:103520000FBECDBF3C015B014A012901E8A6F8AE00
+:1035300025960FAF25971CAF860120916D0E2F5F4A
+:1035400029962FAF2997203119F429961FAE299774
+:1035500029963FAD2997E32EFF24E7FCF094809154
+:103560006C0E90E08E159F0541F40E94721E80E063
+:103570000E9438490E949C76F2CF2091A11330918D
+:10358000A2134091A3135091A413D3016D917D9187
+:103590008D919C910E9475B10E9445B169966CAF66
+:1035A0007DAF8EAF9FAF69972091A5133091A61381
+:1035B0004091A7135091A813F50160817181828118
+:1035C00093810E9475B10E9445B16D966CAF7DAF3D
+:1035D0008EAF9FAF6D972091A9133091AA134091A0
+:1035E000AB135091AC13D4016D917D918D919C9151
+:1035F0000E9475B10E9445B1A1966CAF7DAF8EAFB0
+:103600009FAFA1972091AD133091AE134091AF13AE
+:103610005091B013F20160817181828193810E9487
+:1036200075B10E9445B124966CAF7DAF8EAF9FAF50
+:1036300024978091611390916213A0916313B091CC
+:10364000641324962CAD3DAD4EAD5FAD2497281785
+:1036500039074A075B0709F4ADC0E091300A34E04E
+:10366000E39FF0011124E05CF74F2091A20230911A
+:10367000A3024091A4025091A502608171818281D0
+:1036800093810E94A0AE87FF2FC024968CAD9DAD84
+:10369000AEADBFAD24978093611390936213A09356
+:1036A0006313B0936413EFE2FEE08491882341F04A
+:1036B0009091C00095FFFCCF8093C6003196F5CF66
+:1036C000ECE9FCE18491882341F09091C00095FFE2
+:1036D000FCCF8093C6003196F5CF8091C00085FF66
+:1036E000FCCF8AE08093C6008091611390916213B1
+:1036F000A0916313B091641324962CAD3DAD4EADF3
+:103700005FAD2497281B390B4A0B5B0BCA01B9012B
+:1037100057FF07C090958095709561957F4F8F4FAB
+:103720009F4F0E9442AF6B017C0120E030E04EECE5
+:1037300053E46091AD137091AE138091AF139091EB
+:10374000B0130E9475B19B01AC01C701B6010E9484
+:10375000A3B018167CF524968CAD9DADAEADBFAD73
+:1037600024978093611390936213A0936313B09393
+:103770006413EFE2FEE08491882341F09091C00051
+:1037800095FFFCCF8093C6003196F5CFEEE7FCE1C4
+:103790008491882341F09091C00095FFFCCF8093E5
+:1037A000C6003196F5CF8091C00085FFFCCF8AE03E
+:1037B0008093C60080916D0E9DE4899F10011124B5
+:1037C000D101A259B14F1D01FD01E45BFF4F1082F1
+:1037D000209155133091561340915713509158131F
+:1037E0002BA33CA34DA35EA369964CAC5DAC6EAC21
+:1037F0007FAC6997421A530A640A750A77FE08C0BB
+:103800007094609450944094411C511C611C711C34
+:10381000D1014D925D926D927C9213972091591334
+:1038200030915A1340915B1350915C132CAB3DAB1C
+:103830004EAB5FAB6D968CAC9DACAEACBFAC6D9738
+:10384000821A930AA40AB50AB7FE08C0B094A094DD
+:1038500090948094811C911CA11CB11CD1011496E0
+:103860008D929D92AD92BC92179720915D133091ED
+:103870005E1340915F13509160132CA73DA74EA794
+:103880005FA7A196CCACDDACEEACFFACA197C21AA1
+:10389000D30AE40AF50AF7FE08C0F094E094D09445
+:1038A000C094C11CD11CE11CF11CD1011896CD9211
+:1038B000DD92ED92FC921B9720916113309162137F
+:1038C000409163135091641328AB39AB4AAB5BABA7
+:1038D00024966CAD7DAD8EAD9FAD2497621B730BAE
+:1038E000840B950B97FF07C0909580957095619517
+:1038F0007F4F8F4F9F4F0E9442AFE091300A34E0DC
+:10390000E39FF0011124E15BFD4F20813181428171
+:1039100053810E9475B10E940FAF9B01AC01A09131
+:103920005B02B0915C020E94D2B224E630E040E03B
+:1039300050E00E94A0B2D1011C962D933D934D936F
+:103940005C931F97C814D904EA04FB0414F47501AE
+:103950006401C216D306E406F50614F469017A017F
+:10396000D301C2014C145D046E047F0414F4D7012A
+:10397000C601F101808B918BA28BB38B0697A105B9
+:10398000B10508F461C7E85BFF4F80912E0A909162
+:103990002F0AAA2797FDA095BA2F80839183A2832F
+:1039A000B38369962CAD3DAD4EAD5FAD69978BA1EC
+:1039B0009CA1ADA1BEA1281739074A075B0724F0D7
+:1039C000D10190961C9203C081E0F10180A36D9615
+:1039D0002CAD3DAD4EAD5FAD6D978CA99DA9AEA947
+:1039E000BFA9281739074A075B073CF4D101909615
+:1039F0008C919097826090968C93A1962CAD3DAD62
+:103A00004EAD5FADA1978CA59DA5AEA5BFA528170E
+:103A100039074A075B073CF4D10190968C91909747
+:103A2000846090968C9324962CAD3DAD4EAD5FADE9
+:103A3000249788A999A9AAA9BBA9281739074A07D1
+:103A40005B073CF4D10190968C919097886090969A
+:103A50008C93F8018081D10191968C93452846285A
+:103A6000472809F01798F10184819581A681B781D3
+:103A7000892B8A2B8B2B09F01698F1018085918573
+:103A8000A285B385892B8A2B8B2B09F01598F10120
+:103A900084859585A685B785892B8A2B8B2B69F123
+:103AA00080913E13882319F0815080933E138091BA
+:103AB0003F13882319F0815080933F138091401366
+:103AC000882319F0815080934013D8018C91813064
+:103AD00061F030F0823089F480E28093401308C0B6
+:103AE000149880E280933E1308C080E280933F13D5
+:103AF00080913E13811101C0149AD1011C962D9121
+:103B00003D914D915C911F972D962CAF3DAF4EAFDF
+:103B10005FAF2D97232B242B252B09F5B09175131F
+:103B2000BBA3E0917613EFA3109177130091781364
+:103B30002B2F3E2F412F502F68A578AD25968FADA6
+:103B400025979CAD0E94A0AE87FD16C0F8A5FBA3EB
+:103B500028AD2FA325961FAD25970CAD0DC0309134
+:103B60008D133BA340918E134FA310918F1300919F
+:103B70009013232F342FDECF80915513909156133D
+:103B8000A0915713B091581369962CAD3DAD4EAD31
+:103B90005FAD6997281B390B4A0B5B0BCA01B90152
+:103BA0000E9442AF2091A1133091A2134091A31320
+:103BB0005091A4130E94A7AE68A779A78AA79BA7D4
+:103BC000698B7A8B8B8B9C8B6D966CAD7DAD8EAD3E
+:103BD0009FAD6D972CA93DA94EA95FA9621B730BE0
+:103BE000840B950B0E9442AF2091A5133091A61330
+:103BF0004091A7135091A8130E94A7AE4B015C01FE
+:103C00006D8B7E8B8F8B988FA1966CAD7DAD8EADBD
+:103C10009FADA1972CA53DA54EA55FA5621B730B7B
+:103C2000840B950B0E9442AF2091A9133091AA13E7
+:103C30004091AB135091AC130E94A7AE6B017C0175
+:103C4000698F7A8F8B8F9C8F24966CAD7DAD8EADF6
+:103C50009FAD249728A939A94AA95BA9621B730BB8
+:103C6000840B950B0E9442AF2091AD133091AE139F
+:103C70004091AF135091B0130E94A7AEE091300A6B
+:103C800034E0E39FF0011124E15BFD4F208131819D
+:103C9000428153810E9475B12B013C0160915B020E
+:103CA00070915C02882777FD8095982F0E9442AF23
+:103CB0009B01AC01C301B2010E9475B120E030E06C
+:103CC00048EC52E40E94A7AE6D8F7E8F8F8F98A331
+:103CD000D1012D913D914D915C91139728AF39AF52
+:103CE0004AAF5BAF263031054105510504F5149606
+:103CF0004D905D906D907C901797B6E04B165104F7
+:103D000061047104A4F4F1014084518462847384D9
+:103D1000F6E04F165104610471044CF4DC01CB0150
+:103D2000BF77F10186A797A7A0ABB1AB27C068A565
+:103D300079A58AA59BA50E9420B22B013C01C50153
+:103D4000B4010E9420B29B01AC01C301B2010E94E8
+:103D5000C7AD4B015C01C701B6010E9420B29B01B7
+:103D6000AC01C501B4010E94C7AD0E94E2B1D1010E
+:103D70009E966D937D938D939C93D197D1019E9642
+:103D80002D913D914D915C91D19728962CAF3DAFEF
+:103D90004EAF5FAF289760E070E080E89FE30E943D
+:103DA000A7AE9B01AC016BA17FA1812F902F0E9438
+:103DB00075B12B013C0190916D0E80916C0EE92F35
+:103DC000F0E0E81BF109EF70FF27FDABECABA301BE
+:103DD000920160E074E284E799E40E94A7AE0E9439
+:103DE00045B16B017C012CA93DA9223031050CF4B1
+:103DF00042C04901AA2497FCA094BA2CC501B40181
+:103E00000E9442AF20E030E040E051E40E94A0AECA
+:103E100087FF31C08091C1139091C213A091C31349
+:103E2000B091C413C816D906EA06FB0620F5BC01FA
+:103E3000CD016C197D098E099F09660F771F881FB8
+:103E4000991FA50194010E947EB2CA01B9010E9486
+:103E500040AF0E9445B16C0D7D1D8E1D9F1D0E94BF
+:103E600040AF9B01AC0160E074E284E799E40E94FA
+:103E7000A7AE2B013C01A301920128966CAD7DAD4C
+:103E80008EAD9FAD28970E9475B16CAF7DAF8EAFA0
+:103E90009FAFD10192966D937D938D939C9395974F
+:103EA00050966D917D918D919C9153970E9440AF5A
+:103EB0006BA37CA38DA39EA3A30192010E9475B165
+:103EC0000E948DAE0E9414AF6B017C01F10160AFC6
+:103ED00071AF82AF93AF8E010F5E1F4F21EB33E1C5
+:103EE00065963FAF2EAF6597AE014F5D5F4F5AA30A
+:103EF00049A3CE01019663969FAF8EAF63971FA231
+:103F00001CA690E898ABAFE3A8A7F8016191719166
+:103F1000819191918F01A30192010E9475B16396E5
+:103F2000AEADBFAD63976D937D938D939D93639677
+:103F3000BFAFAEAF63979B01AC015F7761962CAFCB
+:103F40003DAF4EAF5FAF61976596AEADBFAD6597C4
+:103F50008D909D90AD90BD906596BFAFAEAF6597CB
+:103F6000A501940161966CAD7DAD8EAD9FAD61975D
+:103F70000E94A3B01816F4F461962CAD3DAD4EAD81
+:103F80005FAD6197C501B4010E94A7AEB62EA72E02
+:103F9000982E892E262F372F482F592F6FA17CA5B9
+:103FA00088A998A50E94A0AE87FD04C0BFA2ACA6B8
+:103FB00098AA88A6E9A1FAA10E171F0709F0A5CFB4
+:103FC00020E030E040E85FE36FA17CA588A998A5D8
+:103FD0000E94A0AE87FF3DC05E01F1E1AF0EB11CB3
+:103FE0008E010F5F1F4F2FA13CA548A958A5D801EE
+:103FF0006D917D918D919C910E9475B1F8016193B5
+:104000007193819391938F01EA15FB0561F72FA1BD
+:104010003CA548A958A56CAD7DAD8EAD9FAD0E9465
+:1040200075B1D10192966D937D938D939C939597E5
+:10403000C701B6010E9440AF2FA13CA548A958A5D1
+:104040000E9475B10E9414AFF10160AF71AF82AFF1
+:1040500093AF28962CAD3DAD4EAD5FAD28976BA1CB
+:104060007CA18DA19EA10E94A7AE6B017C0128AD11
+:1040700039AD4AAD5BAD232B242B252B59F5F1012E
+:1040800084819581A681B781892B8A2B8B2B11F591
+:1040900080859185A285B385892B8A2B8B2BD1F4C2
+:1040A0002091851330918613409187135091881386
+:1040B000C701B6010E9475B10E948DAE81010C5BF3
+:1040C0001F4F0E9414AFD8016D937D938D939C93E5
+:1040D0001397F6C02091891330918A1340918B1366
+:1040E00050918C13C701B6010E9475B10E948DAE2C
+:1040F0000E9414AF81010C5B1F4FF8016083718334
+:104100008283938340906513509066136090671389
+:10411000709068130E9440AF4B015C0168AD79ADAF
+:104120008AAD9BAD0E9442AF9B01AC01C501B401B9
+:104130000E9475B12BA13CA14DA15EA10E94A7AE2A
+:104140004B015C01C301B2010E9440AF9B01AC0175
+:10415000C501B4010E94A3B0181634F4D8014D92E1
+:104160005D926D927C9213974090691350906A1300
+:1041700060906B1370906C13F80160817181828183
+:1041800093810E9440AF4B015C01D10114966D9167
+:104190007D918D919C9117970E9442AF9B01AC013C
+:1041A000C501B4010E9475B12BA13CA14DA15EA136
+:1041B0000E94A7AE4B015C01C301B2010E9440AF57
+:1041C0009B01AC01C501B4010E94A3B018162CF4E8
+:1041D000F801408251826282738240907113509044
+:1041E0007213609073137090741381010C5B1F4FF6
+:1041F000D8016D917D918D919C910E9440AF4B01B2
+:104200005C012D966CAD7DAD8EAD9FAD2D970E945E
+:1042100042AF9B01AC01C501B4010E9475B12BA155
+:104220003CA14DA15EA10E94A7AE4B015C01C30160
+:10423000B2010E9440AF9B01AC01C501B4010E94D4
+:10424000A3B018162CF4F801408251826282738266
+:1042500040906D1350906E1360906F1370907013B8
+:10426000D8016D917D918D919C910E9440AF4B0141
+:104270005C01F10160857185828593850E9442AF62
+:104280009B01AC01C501B4010E9475B12BA13CA1F9
+:104290004DA15EA10E94A7AE4B015C01C301B2011A
+:1042A0000E9440AF9B01AC01C501B4010E94A3B0C4
+:1042B000181634F4D8014D925D926D927C9213974A
+:1042C000F101EC5BFF4F60817181828193810E94DB
+:1042D00040AF4B015C01A70196010E94A7AEA596D5
+:1042E0006CAF7DAF8EAF9FAFA597F10162AB73ABA3
+:1042F00084AB95AB2DEB37E346E051E4C501B40147
+:104300000E9475B10E940FAFD1015C966D937D93B1
+:104310008D939C935F97C0908113D0908213E0900F
+:104320008313F090841320E030E040E05FE3C701A6
+:10433000B6010E9475B16BA37FA38C0129853A85D4
+:104340004B855C85A9962CAF3DAF4EAF5FAFA9976B
+:1043500080917D1390917E13A0917F13B091801373
+:104360008CAF9DAFAEAFBFAF20E030E040E05FE389
+:10437000BC01CD010E9475B1B62EA72E982E892EB4
+:10438000A9966CAD7DAD8EAD9FADA9979F772B2D76
+:104390003A2D492D582D0E94A3B018167CF42B2DD0
+:1043A0003A2D492D582D6BA17FA1C8010E94A0AEC6
+:1043B00087FD04C0BBA2AFA2092D182D2D853E8517
+:1043C0004F855889AD962CAF3DAF4EAF5FAFAD97DF
+:1043D0008091791390917A13A0917B13B0917C1303
+:1043E0002D968CAF9DAFAEAFBFAF2D9720E030E0E4
+:1043F00040E05FE3BC01CD010E9475B1B62EA72E4F
+:10440000982E892EAD966CAD7DAD8EAD9FADAD97DE
+:104410009F772B2D3A2D492D582D0E94A3B01816A9
+:104420007CF42B2D3A2D492D582D6BA17FA1C8016D
+:104430000E94A0AE87FD04C0BBA2AFA2092D182D1B
+:10444000D1019296BC91BCA7F101F3A1F8ABD101C7
+:104450009496BC91B8A7F101F5A1F8AF2CA538A9A5
+:104460004B2F5F2F6BA17FA1C8010E94A0AE87FDDB
+:1044700006C02CA52BA338A93FA308A518AD4CA9AD
+:104480005DA9423051050CF405C1509141135CAB5C
+:10449000809142132E968FAF2E9790914313629680
+:1044A0009FAF6297A09144136496AFAF649727E1E2
+:1044B00037EB41ED58E36CA9782F892F9A2F0E9492
+:1044C000A3B018160CF0E6C02091451330914613A6
+:1044D000409147135091481369817A818B819C8167
+:1044E0000E94C6AD2B013C012091491330914A1323
+:1044F00040914B1350914C136D817E818F81988533
+:104500000E94C6AD4B015C01A3019201C301B2013F
+:104510000E9475B12B013C01A5019401C501B401B4
+:104520000E9475B19B01AC01C301B2010E94C7ADED
+:104530000E94E2B14B015C01A70196010E94A3B069
+:1045400018164CF4A5019401C701B6010E94A7AE4C
+:104550005B014C0106C0A12CB12C40E8842E5FE326
+:10456000952E20914D1330914E1340914F13509141
+:104570005013A9966CAD7DAD8EAD9FADA9970E94ED
+:10458000C6AD6B017C01E894F7F82CAD3DAD4EADA6
+:104590005FADC701B6010E94A3B01816D4F4A701FD
+:1045A00096016CAD7DAD8EAD9FAD0E94A7AEF62E8F
+:1045B000E72ED82EC92E262F372F482F592FB50179
+:1045C000C4010E94A0AE87FD04C0AF2CBE2C8D2C70
+:1045D0009C2C2091511330915213409153135091C0
+:1045E0005413AD966CAD7DAD8EAD9FADAD970E9471
+:1045F000C6AD6B017C01E894F7F82D962CAD3DAD6E
+:104600004EAD5FAD2D97C701B6010E94A3B018163D
+:10461000E4F4A70196012D966CAD7DAD8EAD9FADF6
+:104620002D970E94A7AEF62EE72ED82EC92E262F44
+:10463000372F482F592FB501C4010E94A0AE87FD26
+:1046400004C0AF2CBE2C8D2C9C2C9501A4016CA514
+:1046500078A988A598AD0E9475B14B015C019B01BA
+:10466000AC016CA92E967FAD2E9762968FAD6297A6
+:1046700064969FAD64970E94A0AE87FF0EC08CA881
+:104680002E969FAC2E976296AFAC62976496BFACA5
+:10469000649703C08BA09FA05801C401D501F1010C
+:1046A00082A793A7A4A7B5A7A5966CAD7DAD8EAD47
+:1046B0009FADA59790589B01AC010E94C7AD28966D
+:1046C0002CAD3DAD4EAD5FAD28970E9475B19B01FD
+:1046D000AC016BE077ED83E29BE30E94C6AD0E94E4
+:1046E000E2B17B01D82EC92E9B01482F592FB4016E
+:1046F000C5010E94A0AE87FD03C04701AD2CBC2CB4
+:10470000C401D501F10186A397A3A0A7B1A7970182
+:104710004D2D5C2D6CA578A988A598AD0E94A0AE02
+:1047200018162CF081E0D101D7968C9302C0F101CC
+:1047300017AA81E0D101D6968C9380E1FE013196D3
+:10474000A5E4B3E101900D928A95E1F78CA598A9B3
+:10475000A8A5B8AD8093411390934213A09343133F
+:10476000B09344139C01AD016BA17FA1C8010E94CD
+:10477000A7AE6B017C012CA538A948A558ADB401A2
+:10478000C5010E94A7AEAB01BC0197018601C10122
+:104790000E946F962996BFAD2997B0936D0E6996CA
+:1047A0002CAD3DAD4EAD5FAD699720935513309361
+:1047B000561340935713509358136D968CAD9DAD7F
+:1047C000AEADBFAD6D978093591390935A13A093DC
+:1047D0005B13B0935C13A1962CAD3DAD4EAD5FADB8
+:1047E000A19720935D1330935E1340935F13509312
+:1047F000601324968CAD9DADAEADBFAD2497809374
+:10480000611390936213A0936313B09364130E9497
+:10481000249AC459DF4F0FB6F894DEBF0FBECDBF48
+:10482000DF91CF911F910F91FF90EF90DF90CF908C
+:10483000BF90AF909F908F907F906F905F904F90C0
+:104840003F902F900C94F48BC459DF4F0FB6F8941F
+:10485000DEBF0FBECDBFDF91CF911F910F91FF90B3
+:10486000EF90DF90CF90BF90AF909F908F907F9010
+:104870006F905F904F903F902F900895EF92FF922E
+:104880000F931F93CF93DF937B018A01E90120915E
+:10489000A1133091A2134091A3135091A413FC01D2
+:1048A00060817181828193810E9475B10E9445B1BE
+:1048B0006093551370935613809357139093581326
+:1048C0002091A5133091A6134091A7135091A813DE
+:1048D000F70160817181828193810E9475B10E948C
+:1048E00045B16093591370935A1380935B1390935F
+:1048F0005C132091A9133091AA134091AB135091EE
+:10490000AC13F80160817181828193810E9475B13D
+:104910000E9445B160935D1370935E1380935F13A3
+:10492000909360132091AD133091AE134091AF136B
+:104930005091B013688179818A819B810E9475B101
+:104940000E9445B160936113709362138093631367
+:104950009093641321E633E14DE553E169E573E19A
+:1049600085E593E10E944C931092411310924213FB
+:104970001092431310924413109245131092461351
+:1049800010924713109248131092491310924A1331
+:1049900010924B1310924C1310924D1310924E1311
+:1049A00010924F13109250131092511310925213F1
+:1049B0001092531310925413DF91CF911F910F91C6
+:1049C000FF90EF9008952091AD133091AE13409178
+:1049D000AF135091B013FC0160817181828193818A
+:1049E0000E9475B10E9445B1609361137093621388
+:1049F000809363139093641381E693E10C948893FE
+:104A000080916D0E90916C0E891B8F70089560934C
+:104A1000A2027093A3028093A4029093A50208952A
+:104A2000CF92DF92EF92FF920F931F93CF93DF937A
+:104A300000D01F92CDB7DEB7F1E9CF2EF3E1DF2E24
+:104A4000A1EAEA2EA3E1FA2E05E613E1F60161914F
+:104A50007191819191916F01F70121913191419172
+:104A600051917F0129833A834B835C830E9440AF3D
+:104A700029813A814B815C810E9475B10E9414AFFB
+:104A8000F80161937193819391938F01F1EACF16AD
+:104A9000F3E1DF06D9F60F900F900F900F90DF91A2
+:104AA000CF911F910F91FF90EF90DF90CF900895DD
+:104AB0008091F41390E02091F513821B91090895E1
+:104AC0002091F5138091F413281750F4E22FF0E0B1
+:104AD000EA50FC4E808190E02F5F2093F5130895FB
+:104AE0008FEF9FEF0895E091F5138091F413E8178D
+:104AF00030F4F0E0EA50FC4E808190E008958FEFB2
+:104B00009FEF08950895CF92DF92EF92FF920F9357
+:104B10001F93CF93DF937C01CB018A012091D113A6
+:104B2000222389F0EB016B01C40ED51ECC15DD05E7
+:104B300061F06991D701ED91FC910190F081E02D38
+:104B4000C7011995F3CF642F4BD0C801DF91CF91E6
+:104B50001F910F91FF90EF90DF90CF900895CF932A
+:104B6000DF931F92CDB7DEB769832091D113222343
+:104B7000D1F02091D213203240F021E030E0FC014E
+:104B80003383228380E090E014C08091D313E82F18
+:104B9000F0E0EC52FC4E998190838F5F8093D313A9
+:104BA0008093D21304C061E0CE01019619D081E058
+:104BB00090E00F90DF91CF910895FC011382128253
+:104BC00048EE53E060E070E044835583668377836A
+:104BD00086ED95E091838083089585EC93E1EDCF98
+:104BE000613298F420918314243089F4609338144E
+:104BF000FC018AE394E1DC012A2F281B261718F414
+:104C000021912D93F9CF80E0089581E0089582E00D
+:104C1000089585ED8093BC008091BC0084FDFCCF9D
+:104C200010928314089585EC8093BC001092831435
+:104C300008951F920F920FB60F9211240BB60F9288
+:104C40002F933F934F935F936F937F938F939F9394
+:104C5000AF93BF93EF93FF938091B900887F803625
+:104C600009F49CC068F5883209F45BC090F4803187
+:104C700009F454C038F4882309F4F3C0883009F4E7
+:104C80004DC0F2C0883109F44CC0803209F45DC0D7
+:104C9000EBC0803409F468C048F4803309F455C08F
+:104CA000883309F0E1C080931614A7C0803509F459
+:104CB0004FC0883509F45DC0883409F0D5C0D3C031
+:104CC000883909F4C4C0A8F4883709F467C038F4F7
+:104CD000883609F463C0803709F460C0C5C08838DD
+:104CE00009F4B5C0803909F45FC0803809F0BCC050
+:104CF0005BC0803B09F483C038F4803A09F466C095
+:104D0000883A09F47CC0B0C0803C09F4A4C0883C57
+:104D100009F4A1C0883B09F487C0A6C08091821421
+:104D200010C090915B1480915A14981770F5E0911F
+:104D30005B1481E08E0F80935B14F0E0E45AFB4E2D
+:104D400080818093BB0085EC83C0809316148BC058
+:104D5000E0915B1481E08E0F80935B148091BB0027
+:104D6000F0E0E45AFB4E808390915B1480915A14DA
+:104D70006BC0E0915B1481E08E0F80935B14809197
+:104D8000BB00F0E0E45AFB4E8083809181148111D6
+:104D90006AC081E08093801484EA5EC083E08093DF
+:104DA000831410921714CFCF80911714803208F01B
+:104DB0004EC0E091171481E08E0F809317148091FC
+:104DC000BB00F0E0E85EFB4E8083BDCF80911714FE
+:104DD000803230F4E0911714F0E0E85EFB4E108270
+:104DE00018DF6091171470E0E0917C14F0917D144D
+:104DF00088E194E119951092171415DF35C084E00D
+:104E0000809383141092391410923814E0917E1418
+:104E1000F0917F14199580913814811105C081E0BB
+:104E20008093381410923A14E091391481E08E0F77
+:104E300080933914F0E0E65CFB4E80818093BB00E8
+:104E40009091391480913814981708F47CCF85E834
+:104E50008093BC0009C085EC8093BC001092831441
+:104E600003C010921614D5DEFF91EF91BF91AF9160
+:104E70009F918F917F916F915F914F913F912F9172
+:104E80000F900BBE0F900FBE0F901F9018951F93A1
+:104E9000CF93DF93182FEB0161E003D1209711F43A
+:104EA00060E004C0CF3FD10531F461E0812FDF9194
+:104EB000CF911F912FC1E12FF0E0EA54F34E4491BE
+:104EC00050E0FA013197E131F10508F091C0E35863
+:104ED000FF4F0C94BCB284B5806884BDC7BD8DC043
+:104EE00084B5806284BDC8BD88C080918000806820
+:104EF00080938000D0938900C09388007EC0809109
+:104F00008000806280938000D0938B00C0938A00E1
+:104F100074C08091B00080688093B000C093B300EB
+:104F20006CC08091B00080628093B000C093B400E8
+:104F300064C080919000806880939000D093990025
+:104F4000C09398005AC08091900080628093900036
+:104F5000D0939B00C0939A0050C0809190008860CD
+:104F600080939000D0939D00C0939C0046C0809198
+:104F7000A00080688093A0008091A0008F7B809328
+:104F8000A000D093A900C093A80037C08091A000D2
+:104F900080628093A000D093AB00C093AA002DC084
+:104FA0008091A00088608093A000D093AD00C09352
+:104FB000AC0023C080912001806880932001D093B1
+:104FC0002901C093280119C080912001806280933B
+:104FD0002001D0932B01C0932A010FC080912001A2
+:104FE000886080932001D0932D01C0932C0105C0CF
+:104FF000C038D1050CF059CF53CFDF91CF911F911D
+:10500000089590E0FC013197E131F10508F048C0C6
+:10501000E257FF4F0C94BCB2809180008F7703C0A1
+:10502000809180008F7D80938000089584B58F7774
+:1050300002C084B58F7D84BD08958091B0008F77C4
+:1050400003C08091B0008F7D8093B000089580915F
+:1050500090008F7707C0809190008F7D03C0809172
+:105060009000877F8093900008958091A0008F77B3
+:1050700007C08091A0008F7D03C08091A000877F32
+:105080008093A0000895809120018F7707C08091C0
+:1050900020018F7D03C080912001877F80932001B4
+:1050A0000895CF93DF9390E0FC01E45FF24E2491EA
+:1050B000FC01EE59F24E8491882349F190E0880F6B
+:1050C000991FFC01E451F24EA591B4918E52924E7B
+:1050D000FC01C591D4919FB7611108C0F8948C91DF
+:1050E000209582238C93888182230AC0623051F4F8
+:1050F000F8948C91322F309583238C938881822B66
+:10510000888304C0F8948C91822B8C939FBFDF918D
+:10511000CF9108950F931F93CF93DF931F92CDB735
+:10512000DEB7282F30E0F901EA54F34E8491F901FB
+:10513000E45FF24E1491F901EE59F24E049100230E
+:10514000C1F0882319F069835CDF6981E02FF0E00A
+:10515000EE0FFF1FEE52F24EA591B4919FB7F89457
+:105160008C91611103C01095812301C0812B8C9318
+:105170009FBF0F90DF91CF911F910F910895CF9313
+:10518000DF93282F30E0F901EA54F34E8491F901BE
+:10519000E45FF24ED491F901EE59F24EC491CC2362
+:1051A00089F081112EDFEC2FF0E0EE0FFF1FE854A5
+:1051B000F24EA591B4912C912D2381E090E021F441
+:1051C00080E002C080E090E0DF91CF9108951F92CF
+:1051D0000F920FB60F9211242F933F938F939F93AB
+:1051E000AF93BF938091851490918614A0918714FA
+:1051F000B09188143091841423E0230F2D3720F4CC
+:105200000196A11DB11D05C026E8230F0296A11D20
+:10521000B11D209384148093851490938614A093D9
+:105220008714B09388148091891490918A14A09166
+:105230008B14B0918C140196A11DB11D809389141B
+:1052400090938A14A0938B14B0938C14BF91AF9158
+:105250009F918F913F912F910F900FBE0F901F90B4
+:1052600018952FB7F89460918514709186148091E9
+:105270008714909188142FBF08953FB7F8948091B8
+:10528000891490918A14A0918B14B0918C1426B536
+:10529000A89B05C02F3F19F00196A11DB11D3FBF6E
+:1052A0006627782F892F9A2F620F711D811D911DFE
+:1052B00042E0660F771F881F991F4A95D1F708951E
+:1052C000CF92DF92EF92FF92CF93DF936B017C013D
+:1052D000D4DFEB01C114D104E104F10471F0CDDF9E
+:1052E0006C1B7D0B683E7340A8F381E0C81AD1089F
+:1052F000E108F108C851DC4FEDCFDF91CF91FF906D
+:10530000EF90DF90CF9008950197009739F0880FC4
+:10531000991F880F991F02970197F1F708957894C4
+:1053200084B5826084BD84B5816084BD85B58260AA
+:1053300085BD85B5816085BDEEE6F0E08081816048
+:105340008083E1E8F0E01082808182608083808148
+:1053500081608083E0E8F0E0808181608083E1EB20
+:10536000F0E0808184608083E0EBF0E08081816008
+:105370008083E1E9F0E080818260808380818160C8
+:105380008083E0E9F0E0808181608083E1EAF0E001
+:10539000808182608083808181608083E0EAF0E0A8
+:1053A000808181608083E1E2F1E08081826080839E
+:1053B000808181608083E0E2F1E080818160808390
+:1053C000EAE7F0E08081846080838081826080836E
+:1053D0008081816080838081806880831092C10099
+:1053E00008959DDF0E94A93EC0E0D0E00E94C862FF
+:1053F0002097E1F30E940000F9CF3F924F925F9215
+:105400006F927F928F929F92AF92BF92CF92DF92D4
+:10541000EF92FF920F931F93CF93DF9300D01F92D1
+:10542000CDB7DEB78B0129013A019091A6029817FA
+:1054300021F09F3F09F0ABC204C0E6E0FEE13490EA
+:1054400004C18093A602E6E0FEE1E491EF3F09F497
+:105450009EC2E23009F480C074F5EE2309F45BC00B
+:10546000E13009F0F1C0109280001092810090911B
+:105470008100986090938100909181009160909359
+:105480008100282F30E0F901EE59F24EE491F0E06E
+:10549000EE0FFF1FEE52F24E459154915093AB1414
+:1054A0004093AA14F901E45FF24E24912093A914C9
+:1054B00033243394CCC0E43009F49EC00CF474C09F
+:1054C000E53009F0C1C010922001109221019091A5
+:1054D0002101986090932101909121019160909316
+:1054E0002101282F30E0F901EE59F24EE491F0E06D
+:1054F000EE0FFF1FEE52F24E4591549150938F14D0
+:1055000040938E14F901E45FF24E249120938D14A0
+:1055100055E0352E9CC014BC15BC94B5926094BD6A
+:1055200095B5916095BD282F30E0F901EE59F24E06
+:10553000E491F0E0EE0FFF1FEE52F24E45915491D0
+:105540005093B2144093B114F901E45FF24E2491E8
+:105550002093B014312C7BC01092B0001092B10097
+:105560009091B00092609093B0009091B1009160E2
+:105570009093B100282F30E0F901EE59F24EE491FA
+:10558000F0E0EE0FFF1FEE52F24E45915491509312
+:10559000A4144093A314F901E45FF24E24912093E4
+:1055A000A21422E0322E53C010929000109291006B
+:1055B00090919100986090939100909191009160EA
+:1055C00090939100282F30E0F901EE59F24EE491CA
+:1055D000F0E0EE0FFF1FEE52F24E459154915093C2
+:1055E0009D1440939C14F901E45FF24E24912093A2
+:1055F0009B14B3E03B2E2BC01092A0001092A10090
+:105600009091A10098609093A1009091A100916069
+:105610009093A100282F30E0F901EE59F24EE49169
+:10562000F0E0EE0FFF1FEE52F24E45915491509371
+:10563000961440939514F901E45FF24E249120935F
+:10564000941474E0372E03C03E2E37FCA0C161E0F5
+:1056500028DD4801A12CB12C832D8D7F09F0BAC023
+:1056600060E072E18AE790E0A501940169D729839F
+:105670003A834B835C8369017A0181E0C81AD108BF
+:10568000E108F1089FEFC916D104E104F10409F023
+:1056900008F495C060E472E48FE090E0A501940105
+:1056A0004FD769017A01E1E0CE1AD108E108F1088B
+:1056B000F2E03F1218C08FEFC816D104E104F104E4
+:1056C00009F008F483C060E970ED83E090E0A50183
+:1056D000940136D769017A0191E0C91AD108E1082D
+:1056E000F10883E001C082E0EFEFCE16D104E104BF
+:1056F000F10409F008F464C068E478EE81E090E019
+:10570000A50194011DD769017A01F1E0CF1AD108F2
+:10571000E108F1083320D9F082E038121AC09FEF77
+:10572000C916D104E104F10409F008F42EC164E2C1
+:1057300074EF80E090E0A501940102D769017A013D
+:10574000E1E0CE1AD108E108F10885E003C083E06A
+:1057500001C084E0FFEFCF16D104E104F10481F130
+:1057600078F162E17AE780E090E0A5019401E8D663
+:1057700069017A0181E0C81AD108E108F108311005
+:1057800002C084E001C086E09FEFC916D104E104A5
+:10579000F104B1F0A8F0C980DA80EB80FC809AE0D7
+:1057A000F594E794D794C7949A95D1F7E1E0CE1A8F
+:1057B000D108E108F108332031F087E008C081E02A
+:1057C000332011F004C085E085BD50C082E0809395
+:1057D000B1004CC060E072E18AE790E0A50194015D
+:1057E000AFD669017A01F1E0CF1AD108E108F108DA
+:1057F000C114D10481E0E806F10480F068E478EE99
+:1058000081E090E0A50194019BD669017A0191E0C5
+:10581000C91AD108E108F10893E001C091E0E1E084
+:105820003E1207C080918100887F892B8093810080
+:105830001DC0F3E03F1207C080919100887F892B43
+:105840008093910013C084E0381207C08091A100BA
+:10585000887F892B8093A10009C0E5E03E1206C035
+:1058600080912101887F892B80932101411451046B
+:105870006104710461F0D801AA0FBB1FA30192015A
+:1058800087D628EE33E040E050E038D603C02FEF53
+:105890003FEFA901F2E03F1609F443C0F315BCF055
+:1058A000332081F181E0381272C0D0928900C09219
+:1058B00088002093AC143093AD144093AE145093F1
+:1058C000AF1480916F00826080936F0060C094E09D
+:1058D000391609F448C03916A4F1E5E03E1257C064
+:1058E000D0922901C09228012093901430939114F2
+:1058F000409392145093931480917300826080932C
+:10590000730045C0C7BC2093B3143093B4144093C4
+:10591000B5145093B61480916E00826080936E002F
+:1059200036C0C092B3002093A5143093A6144093C0
+:10593000A7145093A8148091700082608093700027
+:1059400026C0D0929900C092980020939E14309364
+:105950009F144093A0145093A11480917100826011
+:105960008093710014C0D092A900C092A800209327
+:105970009714309398144093991450939A148091EB
+:10598000720082608093720002C084E020CF0F908A
+:105990000F900F900F90DF91CF911F910F91FF907B
+:1059A000EF90DF90CF90BF90AF909F908F907F90BF
+:1059B0006F905F904F903F9008958230A9F028F447
+:1059C000882349F0813051F00895843009F1E8F0DE
+:1059D000853009F1089510926E00089580916F004E
+:1059E0008D7F80936F000895809170008D7F8093EC
+:1059F000700081E08093B0008091B100887F846066
+:105A00008093B1001092B300089510927100089530
+:105A1000109272000895109273000895CF93C82FCA
+:105A20008091A6028C1307C0E6E0FEE184919FEF0F
+:105A30009093A60201C08FEFC0DF60E08C2FCF9162
+:105A400069CB1F920F920FB60F9211240BB60F92D3
+:105A50002F933F934F935F936F937F938F939F9376
+:105A6000AF93BF93EF93FF938091A5149091A614E9
+:105A7000A091A714B091A814892B8A2B8B2B51F1DC
+:105A80009091A214E091A314F091A414808189272D
+:105A900080838091A5149091A614A091A714B09131
+:105AA000A814181619061A061B06BCF48091A51432
+:105AB0009091A614A091A714B091A8140197A109E0
+:105AC000B1098093A5149093A614A093A714B09342
+:105AD000A81403C08091A602A1DFFF91EF91BF91AE
+:105AE000AF919F918F917F916F915F914F913F9176
+:105AF0002F910F900BBE0F900FBE0F901F90189517
+:105B0000CF92DF92EF92FF920F931F93CF93DF9389
+:105B10006C017A01EB01E60EF71E00E010E0CE15F5
+:105B2000DF0561F06991D601ED91FC910190F08162
+:105B3000E02DC6011995080F191FF1CFC801DF919B
+:105B4000CF911F910F91FF90EF90DF90CF9008952C
+:105B50006115710581F0DB010D900020E9F7AD01C1
+:105B600041505109461B570BDC01ED91FC9102801D
+:105B7000F381E02D199480E090E00895E9CFDC01F5
+:105B8000ED91FC910190F081E02D19945058BB27C4
+:105B9000AA270ED076C23FD230F044D220F031F4A2
+:105BA0009F3F11F41EF40FC20EF4E095E7FBDCC139
+:105BB000E92F89D280F3BA17620773078407950724
+:105BC00018F071F49EF5B8C20EF4E0950B2EBA2FC2
+:105BD000A02D0B01B90190010C01CA01A0011124F3
+:105BE000FF27591B99F0593F50F4503E68F11A169F
+:105BF000F040A22F232F342F4427585FF3CF469530
+:105C000037952795A795F0405395C9F77EF41F1651
+:105C1000BA0B620B730B840BBAF09150A1F0FF0F1B
+:105C2000BB1F661F771F881FC2F70EC0BA0F621F07
+:105C3000731F841F48F4879577956795B795F795F7
+:105C40009E3F08F0B3CF9395880F08F09927EE0F89
+:105C5000979587950895DFD158F080E891E009F491
+:105C60009EEFE0D128F040E851E059F45EEF09C022
+:105C7000AAC162C2E92FE07826D268F3092E052A6C
+:105C8000C1F3261737074807590738F00E2E07F8D3
+:105C9000E02569F0E025E0640AC0EF6307F80094AE
+:105CA00007FADB01B9019D01DC01CA01AD01EF93E7
+:105CB0005DD0E7D10AD05F91552331F02BED3FE065
+:105CC00049E450FD49EC63CF0895DF93DD27B92FF8
+:105CD000BF7740E85FE31616170648075B0710F426
+:105CE000D92F96D29F938F937F936F93A9D3EEE38F
+:105CF000F1E06CD1C6D12F913F914F915F9101D3CB
+:105D0000DD2349F09058A2EA2AED3FE049EC5FE339
+:105D1000D0785D274DDFDF91B4C1F7D180F09F3798
+:105D200040F491110EF409C260E070E080E89FE356
+:105D3000089526F01B16611D711D811D1BC135C103
+:105D4000EFD008F481E0089575D1E395ABC10CD094
+:105D500098C168D140F05FD130F021F45F3F19F075
+:105D600003C15111EAC12FC1AED198F39923C9F3F0
+:105D70005523B1F3951B550BBB27AA276217730751
+:105D8000840738F09F5F5F4F220F331F441FAA1F05
+:105D9000A9F333D00E2E3AF0E0E830D091505040C5
+:105DA000E695001CCAF729D0FE2F27D0660F771F73
+:105DB000881FBB1F261737074807AB07B0E809F055
+:105DC000BB0B802DBF01FF2793585F4F2AF09E3FEA
+:105DD000510568F0C9C0B1C15F3FECF3983EDCF3F8
+:105DE000869577956795B795F7959F5FC9F7880F63
+:105DF000911D9695879597F90895E1E0660F771FB5
+:105E0000881FBB1F621773078407BA0720F0621B45
+:105E1000730B840BBA0BEE1F88F7E095089504D03E
+:105E20006894B1118AC1089556D188F09F5790F0B7
+:105E3000B92F9927B751A0F0D1F0660F771F881FAF
+:105E4000991F1AF0BA95C9F712C0B13081F074D118
+:105E5000B1E0089571C1672F782F8827B85F39F0B6
+:105E6000B93FCCF3869577956795B395D9F73EF40E
+:105E700090958095709561957F4F8F4F9F4F0895B6
+:105E8000E89409C097FB3EF49095809570956195D4
+:105E90007F4F8F4F9F4F9923A9F0F92F96E9BB278A
+:105EA0009395F695879577956795B795F111F8CF06
+:105EB000FAF4BB0F11F460FF1BC06F5F7F4F8F4F71
+:105EC0009F4F16C0882311F096E911C0772321F067
+:105ED0009EE8872F762F05C0662371F096E8862FFF
+:105EE00070E060E02AF09A95660F771F881FDAF756
+:105EF000880F9695879597F9089507D180F09F3779
+:105F000040F491110EF019C160E070E080E89FEB61
+:105F1000089526F41B16611D711D811D2BC045C0FF
+:105F2000990F0008550FAA0BE0E8FEEF16161706AA
+:105F3000E807F907C0F012161306E407F50798F012
+:105F4000621B730B840B950B39F40A2661F0232B2B
+:105F5000242B252B21F408950A2609F4A140A695A7
+:105F60008FEF811D811D089597F99F6780E870E08C
+:105F700060E00895882371F4772321F09850872BEF
+:105F8000762F07C0662311F499270DC09051862BF8
+:105F900070E060E02AF09A95660F771F881FDAF7A5
+:105FA000880F9695879597F908959F3F31F0915006
+:105FB00020F4879577956795B795880F911D9695ED
+:105FC000879597F908959FEF80EC0895DF93CF931D
+:105FD0001F930F93FF92EF92DF927B018C016894E5
+:105FE00005C0DA2EEF018DD1FE01E894A59125912F
+:105FF000359145915591AEF3EF01DADDFE01970140
+:10600000A801DA9479F7DF90EF90FF900F911F913C
+:10601000CF91DF91089500240A94161617061806EA
+:106020000906089500240A9412161306140605069C
+:106030000895C9CF50D0E8F3E894E0E0BB279F571C
+:10604000F0F02AED3FE049EC06C0EE0FBB0F661FF3
+:10605000771F881F28F0B23A62077307840728F079
+:10606000B25A620B730B840BE3959A9572F78038E2
+:1060700030F49A95BB0F661F771F881FD2F79048A0
+:1060800096CF092E0394000C11F4882352F0BB0F15
+:1060900040F4BF2B11F460FF04C06F5F7F4F8F4F40
+:1060A0009F4F0895EF93E0FF06C0A2EA2AED3FE07C
+:1060B00049EC5FEB7DDDE5DF0F90039401FC905828
+:1060C000EBE6F1E0C7C157FD9058440F551F59F05A
+:1060D0005F3F71F04795880F97FB991F61F09F3FD5
+:1060E00079F087950895121613061406551FF2CFFE
+:1060F0004695F1DF08C0161617061806991FF1CF4E
+:1061000086957105610508940895E5DFA0F0BEE766
+:10611000B91788F4BB279F3860F41616B11D672F96
+:10612000782F8827985FF7CF869577956795B11D6B
+:1061300093959639C8F30895E894BB276627772787
+:10614000CB0197F90895ECDE08F48FEF089563DF33
+:1061500019F068DF09F037CF07CFB901CA0125CFA1
+:106160009F775F77B0DF98F39923B9F35523B9F39D
+:10617000FF27951758F4E52FE91BED3070F75E3BCC
+:1061800010F0F1E41CC09034E0F40AC0E92FE51BE4
+:10619000ED3028F79E3B10F0F1E411C0503488F444
+:1061A000F9EA88232AF09A95660F771F881FDAF795
+:1061B00044232AF05A95220F331F441FDAF79F1BFE
+:1061C0005F1BFF931F930F93FF92EF9279018A0158
+:1061D000BB27AB2F9B01AC0196D09701A801BF93C1
+:1061E0007B018C01AA27BA2FB901CA018CD0AF91CB
+:1061F0009701A801EF90FF900F911F91D9DC41DF2B
+:10620000E1D04F9140FF0895552747FD509509C0B3
+:106210009B01AC0160E070E080E89FE398CDA4CEE4
+:10622000C4CE59DFE8F39923D9F3940F511DBBF382
+:106230009150504094F059F0882332F0660F771F48
+:10624000881F91505040C1F79E3F510544F7880F79
+:10625000911D9695879597F908955F3FACF0983E0C
+:106260009CF0BB27869577956795B79508F4B16044
+:106270009395C1F7BB0F58F711F460FFE8CF6F5F3C
+:106280007F4F8F4F9F4FE3CF58CF25DF58F19E5759
+:1062900058F19851A0F0E9F0983020F5092E99278F
+:1062A000660F771F881F991F0A94D1F712C0062E18
+:1062B000672F782F8827985F11F4000C07C0993F4B
+:1062C000B4F38695779567959395D9F7611D711D00
+:1062D000811D3EF490958095709561957F4F8F4F0D
+:1062E0009F4F0895689429CF27CF0BD0CACE93DE55
+:1062F00028F098DE18F0952309F036CE64CE1124EC
+:106300001CCFE1DEA0F3959FD1F3950F50E0551F10
+:10631000629FF001729FBB27F00DB11D639FAA27FA
+:10632000F00DB11DAA1F649F6627B00DA11D661F49
+:10633000829F2227B00DA11D621F739FB00DA11D6A
+:10634000621F839FA00D611D221F749F3327A00D24
+:10635000611D231F849F600D211D822F762F6A2FC0
+:1063600011249F5750408AF0E1F088234AF0EE0F45
+:10637000FF1FBB1F661F771F881F91505040A9F752
+:106380009E3F510570F0F0CDD8CE5F3FECF3983EC4
+:10639000DCF3869577956795B795F795E7959F5FB9
+:1063A000C1F7FE2B880F911D9695879597F9089553
+:1063B0009F9340DE0F9007FCEE5F74CE11F40EF455
+:1063C00002CEF3CD88DED0F39923D9F3CEF39F57D5
+:1063D000550B87FF38D00024A0E640EA9001805892
+:1063E0005695979528F4805C660F771F881F20F0DC
+:1063F00026173707480730F4621B730B840B2029DC
+:1064000031294A2BA69517940794202531254A2730
+:1064100058F7660F771F881F20F0261737074807A1
+:1064200030F4620B730B840B200D311D411DA095C0
+:1064300081F7B901842F9158880F96958795089513
+:106440009B01AC0152CF91505040660F771F881FBF
+:10645000D2F708959F938F937F936F93FF93EF935A
+:106460009B01AC0142DFEF91FF91B0DD2F913F9195
+:106470004F915F913ACFDB018F939F9389D0BF916A
+:10648000AF91A29F800D911DA39F900DB29F900D83
+:106490001124089587FB082E062687FD819567FD48
+:1064A00061958AD00EF4919507FC81950895AA1BF9
+:1064B000BB1B51E107C0AA1FBB1FA617B70710F0EF
+:1064C000A61BB70B881F991F5A95A9F78095909521
+:1064D000BC01CD01089597FB072E16F4009406D059
+:1064E00077FD08D0E4DF07FC05D03EF49095819558
+:1064F0009F4F0895709561957F4F0895A1E21A2EE0
+:10650000AA1BBB1BFD010DC0AA1FBB1FEE1FFF1F57
+:10651000A217B307E407F50720F0A21BB30BE40BA7
+:10652000F50B661F771F881F991F1A9469F76095EE
+:106530007095809590959B01AC01BD01CF010895A8
+:10654000052E97FB16F400940FD057FD05D0D6DF2B
+:1065500007FC02D046F408C050954095309521952F
+:106560003F4F4F4F5F4F089590958095709561957F
+:106570007F4F8F4F9F4F0895EE0FFF1F0590F491AF
+:10658000E02D199425D0B7FF0895821B930B089531
+:106590001FD0A59F900DB49F900DA49F800D911DBD
+:1065A00011240895B7FFF4CFF3DF821B930B0895F6
+:1065B0000790F691E02D1994991B79E004C0991F7A
+:1065C000961708F0961B881F7A95C9F7809508954D
+:1065D000A29FB001B39FC001A39F700D811D112424
+:1065E000911DB29F700D811D1124911D08958F92F0
+:1065F0009F92AF92BF92CF92DF92EF92FF920F9352
+:106600001F93CF93DF938B016115710521F0DB019F
+:106610008C9311969C93EC015E01BFEFAB1ABB0A01
+:106620007501C8808C2D90E07BD2892B11F0E5019B
+:10663000F3CFEDE2CE1208C07E01F2E0EF0EF11CC6
+:10664000C980DD24D39409C02BE2C21205C07E01AB
+:1066500042E0E40EF11CC980D12CE701219743E010
+:1066600050E06FE07EE1CE0172D2892BB9F423961F
+:1066700045E050E06AE07EE1CE0169D2892B09F461
+:1066800025960115110519F0D801CD93DC93D11091
+:1066900000C160E070E080E89FE704C143E050E0A3
+:1066A00067E07EE1CE0153D2892B59F40115110523
+:1066B00009F4F4C0B2E0EB0EF11CF801F182E082C3
+:1066C000EDC0F70160E070E0CB01C0E0D0E07F01F9
+:1066D000A0EDAA2EAC0C29E02A1528F14D2D426020
+:1066E000B42E2D2D2870D2FE04C0211124C0219675
+:1066F00022C021112197A5E0B0E09B01AC0148DF49
+:10670000660F771F881F991F6A0D711D811D911DCE
+:106710006839A9E97A078A07A9E19A0760F0BD2DCF
+:10672000B660BB2E08C02EEFA2120AC0D3FC50C028
+:106730004D2D4860B42E3196D701CC90DB2CC7CFBD
+:106740002C2D2F7D253409F043C0A081AD3241F4BA
+:10675000BD2DB061DB2E7F0122E0E20EF11C0CC0EA
+:106760007F01AB3231F04FEFE41AF40A21E030E060
+:1067700006C0A2E0EA0EF11CA18122E030E0A053A5
+:10678000AA3018F0E21AF30A23C0F70120E030E043
+:106790002038BCE03B075CF4A901440F551F440FAF
+:1067A000551F240F351F220F331F2A0F311DAF0134
+:1067B0004F5F5F4F7A01A081A053AA3010F4FA0115
+:1067C000E7CFD4FE03C0319521953109C20FD31F05
+:1067D000D1FE09C00115110531F0E1E0EE1AF10812
+:1067E000D801ED92FC924CDB2D2D2370233019F053
+:1067F0004B015C0106C04B015C01B7FAB094B7F8DD
+:10680000B09420E030E0A901C501B40199DA8823F1
+:1068100009F43CC0D7FF06C0D195C195D10906E265
+:106820001EE102C00EE31EE16801B8E1CB1AD108F7
+:1068300090E2E92EF12CCE15DF056CF0F8012591E0
+:10684000359145915491C501B4014FDD4B015C0177
+:10685000CE19DF09F0CF04501109F594E7940C1517
+:106860001D0549F78A2D880F8B2D881F8F3F41F01A
+:1068700020E030E0A901C501B40162DA811106C04F
+:1068800082E290E09093BC148093BB14C501B401E4
+:1068900009C060E070E080E89FEF04C060E070E055
+:1068A00080EC9FE7DF91CF911F910F91FF90EF90C8
+:1068B000DF90CF90BF90AF909F908F9008952F92D0
+:1068C0003F925F926F927F928F929F92AF92BF9210
+:1068D000CF92DF92EF92FF920F931F93CF93DF93AC
+:1068E0008B01EA016115710521F0DB018C93119692
+:1068F0009C93209739F09E012250310923323105B3
+:1069000008F0F8C07C016701BFEFCB1ADB0A560123
+:10691000F7016080862D90E003D1892B11F076017C
+:10692000F2CFFDE26F120AC0570182E0A80EB11C3F
+:10693000D70111966C90772473940BC0BBE26B1255
+:1069400007C05701E2E0AE0EB11CD70111966C9062
+:10695000712CCE018F7E892B89F4B0E36B1222C09B
+:10696000F50180818F7D883541F56180F2E0AF0EC1
+:10697000B11C872D8260782EC0E1D0E0C830D105EF
+:10698000F1F04CF4C230D10511F5C12CD12CE12C21
+:10699000B0E4FB2E2EC0CA30D10531F0C031D10594
+:1069A00019F115C0209751F7CAE0D0E0ACECCA2E1F
+:1069B000DC2CEC2CACE0FA2E1CC02097F9F6C8E0D9
+:1069C000D0E0C12CD12CE12CF0E1FF2E12C060E010
+:1069D00070E080E090E89E01442737FD4095542FF9
+:1069E0008DDD69017A0105C0C12CD12CE12CE8E0D4
+:1069F000FE2EF50160E020E030E0A9014E01AA245E
+:106A000097FCA094BA2C1F0170ED572E560CA9E0EC
+:106A1000A51570F48FEB860D8A3118F499EC592E78
+:106A200006C08FE9860D8A3128F589EA582E560C62
+:106A3000852D90E08C179D07ECF467FD17C0C216FA
+:106A4000D306E406F50678F0C501B40114DD9B0118
+:106A5000AC01250D311D411D511D21303105410570
+:106A6000B0E85B0710F06FEF01C061E03196D10133
+:106A70006C90C9CF872D81700115110571F06623C7
+:106A800029F03197D801ED93FC9307C071FE19C02E
+:106A90003297D801ED93FC9314C067FF12C088238E
+:106AA00029F020E030E040E050E804C02FEF3FEF55
+:106AB0004FEF5FE782E290E09093BC148093BB14A9
+:106AC00016C0882341F050954095309521953F4F51
+:106AD0004F4F5F4F0CC057FF0AC082E290E0909387
+:106AE000BC148093BB142FEF3FEF4FEF5FE7B9016A
+:106AF000CA0104C060E070E080E090E0DF91CF91D7
+:106B00001F910F91FF90EF90DF90CF90BF90AF90CB
+:106B10009F908F907F906F905F903F902F900895FF
+:106B20009111E5C2803219F089508550D0F708954F
+:106B30009111089581548A5108F4805E855A089510
+:106B4000FB01DC0105900D920020E1F70895FB01A7
+:106B5000DC014150504088F08D9181341CF08B3520
+:106B60000CF4805E659161341CF06B350CF4605E52
+:106B7000861B611171F3990B0895881BFCCFFB01F3
+:106B8000DC014150504048F005900D920020C9F7BB
+:106B900001C01D9241505040E0F70895FB0155910E
+:106BA0005523A9F0BF01DC014D9145174111E1F7D3
+:106BB00059F4CD010590002049F04D914015411147
+:106BC000C9F3FB014111EFCF81E090E001970895F7
+:106BD000FB01DC0104C08D910190801921F441502A
+:106BE0005040C8F7881B990B0895FB01DC0102C0D7
+:106BF00001900D9241505040D8F70895DC0101C03A
+:106C00006D9341505040E0F70895FB01DC018D91F8
+:106C100081341CF08B350CF4805E619161341CF082
+:106C20006B350CF4605E861B611189F3990B089536
+:106C3000FB01DC010D900020E9F7119701900D9206
+:106C40000020E1F70895FC018191861721F0882347
+:106C5000D9F7992708953197CF010895FB01DC01F9
+:106C60008D91019080190110D9F3990B0895FB01C2
+:106C7000DC0101900D920020E1F70895FB01DC0199
+:106C80004150504030F08D910190801919F400204E
+:106C9000B9F7881B990B0895FB01DC014150504066
+:106CA00048F001900D920020C9F701C01D9241509B
+:106CB0005040E0F708950F931F93CF93DF93CDB724
+:106CC000DEB72E970FB6F894DEBF0FBECDBF0E898C
+:106CD0001F898EE08C831A8309838FEF9FE79E8341
+:106CE0008D83AE01465E5F4F688D798DCE01019632
+:106CF00010D0EF81F885E00FF11F10822E960FB6AD
+:106D0000F894DEBF0FBECDBFDF91CF911F910F91E1
+:106D100008952F923F924F925F926F927F928F923F
+:106D20009F92AF92BF92CF92DF92EF92FF920F931A
+:106D30001F93CF93DF93CDB7DEB72C970FB6F894A0
+:106D4000DEBF0FBECDBF7C016B018A01FC01178243
+:106D50001682838181FFB0C1CE0101964C01F701FB
+:106D60009381F60193FD859193FF81916F018823B3
+:106D700009F49EC1853239F493FD859193FF819189
+:106D80006F01853221F4B70190E0CAD1E8CF512CD0
+:106D9000312C20E02032A0F48B3269F030F48032C4
+:106DA00059F0833269F420612CC08D3239F0803380
+:106DB00039F4216026C02260246023C0286021C0ED
+:106DC00027FD27C030ED380F3A3078F426FF06C093
+:106DD000FAE05F9E300D1124532E13C08AE0389ED6
+:106DE000300D1124332E20620CC08E3221F426FD8A
+:106DF0005FC1206406C08C3611F4206802C088365A
+:106E000041F4F60193FD859193FF81916F0181110A
+:106E1000C1CF982F9F7D9554933028F40C5F1F4F5E
+:106E2000FFE3F9830DC0833631F0833771F083358A
+:106E300009F057C021C0F801808189830E5F1F4F80
+:106E400044244394512C540114C03801F2E06F0ED5
+:106E5000711CF801A080B18026FF03C0652D70E091
+:106E600002C06FEF7FEFC5012C874FD12C0183014A
+:106E70002C852F77222E16C03801F2E06F0E711C80
+:106E8000F801A080B18026FF03C0652D70E002C02C
+:106E90006FEF7FEFC5012C872DD12C012C85206849
+:106EA000222E830123FC19C0832D90E04816590639
+:106EB000A0F4B70180E290E033D13A94F5CFF50128
+:106EC00027FC859127FE81915F01B70190E028D1D1
+:106ED00031103A94F1E04F1A51084114510479F7F6
+:106EE000DEC0843611F0893631F5F80127FF07C07E
+:106EF00060817181828193810C5F1F4F08C0608126
+:106F00007181882777FD8095982F0E5F1F4F2F7610
+:106F1000B22E97FF09C090958095709561957F4F2F
+:106F20008F4F9F4F2068B22E2AE030E0A4012AD173
+:106F3000A82EA81843C0853729F42F7EB22E2AE048
+:106F400030E025C0F22FF97FBF2E8F36C1F018F444
+:106F5000883579F0ADC0803719F0883721F0A8C0A6
+:106F60002F2F2061B22EB4FE0DC08B2D8460B82E61
+:106F700009C024FF0AC09F2F9660B92E06C028E0E2
+:106F800030E005C020E130E002C020E132E0F8014D
+:106F9000B7FE07C060817181828193810C5F1F4FB2
+:106FA00006C06081718180E090E00E5F1F4FA401F8
+:106FB000E9D0A82EA818FB2DFF77BF2EB6FE0BC078
+:106FC0002B2D2E7FA51450F4B4FE0AC0B2FC08C0CD
+:106FD0002B2D2E7E05C07A2C2B2D03C07A2C01C0C0
+:106FE000752C24FF0DC0FE01EA0DF11D8081803358
+:106FF00011F4297E09C022FF06C07394739404C063
+:10700000822F867809F0739423FD12C020FF06C0FA
+:107010005A2C731418F4530C5718732C731460F40F
+:10702000B70180E290E02C877BD073942C85F6CF5B
+:10703000731410F4371801C0312C24FF11C0B701AC
+:1070400080E390E02C876CD02C8522FF16C021FFB6
+:1070500003C088E590E002C088E790E0B7010CC06B
+:10706000822F867851F021FD02C080E201C08BE2C0
+:1070700027FD8DE2B70190E053D0A51430F4B7019D
+:1070800080E390E04DD05A94F8CFAA94F401EA0D31
+:10709000F11D8081B70190E043D0A110F6CF3320DD
+:1070A00009F45DCEB70180E290E03AD03A94F7CF90
+:1070B000F7018681978102C08FEF9FEF2C960FB664
+:1070C000F894DEBF0FBECDBFDF91CF911F910F911E
+:1070D000FF90EF90DF90CF90BF90AF909F908F90F8
+:1070E0007F906F905F904F903F902F9008959927D9
+:1070F00088270895FC010590615070400110D8F771
+:10710000809590958E0F9F1F0895FC0161507040EF
+:1071100001900110D8F7809590958E0F9F1F0895CC
+:107120000F931F93CF93DF93182F092FEB018B81C0
+:1071300081FD03C08FEF9FEF20C082FF10C04E8102
+:107140005F812C813D81421753077CF4E881F981EE
+:107150009F012F5F3F4F39832883108306C0E88546
+:10716000F985812F1995892B29F72E813F812F5F72
+:107170003F4F3F832E83812F902FDF91CF911F911F
+:107180000F910895FA01AA27283051F1203181F199
+:10719000E8946F936E7F6E5F7F4F8F4F9F4FAF4F1F
+:1071A000B1E03ED0B4E03CD0670F781F891F9A1F32
+:1071B000A11D680F791F8A1F911DA11D6A0F711DE6
+:1071C000811D911DA11D20D009F468943F912AE0F2
+:1071D000269F11243019305D3193DEF6CF010895DA
+:1071E000462F4770405D4193B3E00FD0C9F7F6CF0B
+:1071F000462F4F70405D4A3318F0495D31FD4052D3
+:10720000419302D0A9F7EACFB4E0A6959795879568
+:1072100077956795BA95C9F7009761057105089547
+:107220009B01AC010A2E06945795479537952795F3
+:10723000BA95C9F7620F731F841F951FA01D08958B
+:107240001EE1C8E4DEE100E005C022970109FE016D
+:107250000BBFAED9CA34D10780E00807B1F7F89464
+:02726000FFCF5E
+:107262000000BD1420000A01FF3FFF3F0000803FE5
+:107272008145644325DF363E33334B410160EA00EA
+:10728200000080BB440101000000410000344200C4
+:1072920000504100004040000056430000464300B9
+:1072A20000494300000000000000001F856B3E0003
+:1072B20000803F00004040640064006400640000FD
+:1072C200803B4500803B4500007043000000000207
+:1072D200248050727573612069332072656164790C
+:1072E2002E0000000000003200FA006400DC005AA8
+:1072F20000F0006400FE0001010101015203C2011D
+:107302000E0100003E43FF00004000140054000044
+:107312001F1511151F00000C12120C0000000004B2
+:107322000A0A0A0A11110E040E1F041C00000000B2
+:1073320006191803130C00001C1F11111F00001C5A
+:1073420010181705060500000E1315110E00000097
+:1073520000C8420000C84200007A450040034400D1
+:1073620000FA430000FA43000040400000C84128F0
+:10737200230000282300001E000000102700001038
+:1073820010101010504944204175746F74756E6569
+:1073920020737461727400504944204175746F7493
+:1073A200756E65206661696C65642E204261642099
+:1073B2006578747275646572206E756D6265722E81
+:1073C2000000000000362A80AD2F0043616E6E6F10
+:1073D20074206F70656E2073756264697200534425
+:1073E2002D5052494E54494E472020202020202023
+:1073F2002020004D313132004D32323120496E763B
+:10740200616C696420657874727564657220004DE0
+:1074120032313820496E76616C6964206578747205
+:107422007564657220004D31303920496E76616C89
+:10743200696420657874727564657220004D31301C
+:107442003520496E76616C69642065787472756462
+:10745200657220004D31303420496E76616C69646A
+:1074620020657874727564657220005452494747EA
+:1074720045524544006F70656E00322E322E310047
+:107482003330302D3161005265706F7274696E67EE
+:1074920020656E6473746F70207374617475730009
+:1074A2004D32303020496E76616C696420657874A3
+:1074B200727564657220006F6B0020703A0020695B
+:1074C2003A0020643A0020633A005400496E766123
+:1074D2006C696420657874727564657200416374C6
+:1074E2006976652045787472756465723A20000089
+:1074F200000100250030001D000C0018002400319E
+:10750200001C000B00170023002F001B000A001EA6
+:107512000047000400080022002B001A0003003676
+:107522000037003500380058595A454552524F52DB
+:107532003A005072656865617420746865206E6FE8
+:107542007A7A6C6521004368616E67696E672066AE
+:10755200696C616D656E742100496E736572742089
+:1075620066696C616D656E7400416E64207072654F
+:10757200737320746865206B6E6F62004368616E7E
+:107582006765207375636365737321004C6F616473
+:10759200696E6720636F6C6F7200506C6561736512
+:1075A2002077616974004C6F6164696E6720666957
+:1075B2006C616D656E74005072696E742061626FE9
+:1075C20072746564004368616E67656420636F72FC
+:1075D200726563746C793F005965730046696C612A
+:1075E2006D656E74206E6F74206C6F6164656400EB
+:1075F200436F6C6F72206E6F7420636C65617200F2
+:107602003E0020205A0000803B4500803B450000A0
+:1076120070430000704200000000318B80AD537453
+:1076220065707261746520746F6F20686967683A6B
+:10763200200000000000AFA583A558A560A573A592
+:0276420082A51F
+:00000001FF

+ 83 - 0
language.h

@@ -0,0 +1,83 @@
+#ifndef LANGUAGE_H
+#define LANGUAGE_H
+
+#define LANGUAGE_CONCAT(M)       #M
+#define GENERATE_LANGUAGE_INCLUDE(M)  LANGUAGE_CONCAT(language_##M.h)
+
+
+// NOTE: IF YOU CHANGE LANGUAGE FILES OR MERGE A FILE WITH CHANGES
+//
+//   ==> ALWAYS TRY TO COMPILE MARLIN WITH/WITHOUT "ULTIPANEL" / "ULTRALCD" / "SDSUPPORT" #define IN "Configuration.h"
+//   ==> ALSO TRY ALL AVAILABLE LANGUAGE OPTIONS
+
+// Languages
+// en English
+// pl Polish
+// fr French
+// de German
+// es Spanish
+// ru Russian
+// it Italian
+// pt Portuguese
+// fi Finnish
+// an Aragonese
+// nl Dutch
+// ca Catalan
+// eu Basque-Euskera
+
+
+
+#define PROTOCOL_VERSION "1.0"
+
+#if MB(ULTIMAKER)|| MB(ULTIMAKER_OLD)|| MB(ULTIMAIN_2)
+  #define MACHINE_NAME "Ultimaker"
+  #define FIRMWARE_URL "http://firmware.ultimaker.com"
+#elif MB(RUMBA)
+  #define MACHINE_NAME "Rumba"
+  #define FIRMWARE_URL "https://github.com/MarlinFirmware/Marlin"
+#elif MB(3DRAG)
+  #define MACHINE_NAME "3Drag"
+  #define FIRMWARE_URL "http://3dprint.elettronicain.it/"
+#elif MB(5DPRINT)
+  #define MACHINE_NAME "Makibox"
+  #define FIRMWARE_URL "https://github.com/MarlinFirmware/Marlin"
+#elif MB(SAV_MKI)
+  #define MACHINE_NAME "SAV MkI"
+  #define FIRMWARE_URL "https://github.com/fmalpartida/Marlin/tree/SAV-MkI-config"
+#else
+  #ifdef CUSTOM_MENDEL_NAME
+    #define MACHINE_NAME CUSTOM_MENDEL_NAME
+  #else
+    #define MACHINE_NAME "Mendel"
+  #endif
+
+// Default firmware set to Mendel
+  #define FIRMWARE_URL "https://github.com/MarlinFirmware/Marlin"
+#endif
+
+
+#ifndef MACHINE_UUID
+   #define MACHINE_UUID "00000000-0000-0000-0000-000000000000"
+#endif
+
+#define MSG_FW_VERSION                   "Firmware"
+
+#define STRINGIFY_(n) #n
+#define STRINGIFY(n) STRINGIFY_(n)
+
+
+// Common LCD messages
+
+  /* nothing here yet */
+
+// Common serial messages
+#define MSG_MARLIN "Marlin"
+
+// Serial Console Messages (do not translate those!)
+
+
+// LCD Menu Messages
+
+#include LANGUAGE_INCLUDE
+
+#endif //__LANGUAGE_H

+ 233 - 0
language_cz.h

@@ -0,0 +1,233 @@
+/**
+ * English
+ *
+ * LCD Menu Messages
+ * Please note these are limited to 17 characters!
+ *
+ */
+#ifndef LANGUAGE_CZ_H
+#define LANGUAGE_CZ_H
+
+#define WELCOME_MSG                         MACHINE_NAME " pripravena"
+#define MSG_SD_INSERTED                     "Karta vlozena"
+#define MSG_SD_REMOVED                      "Karta vyjmuta"
+#define MSG_MAIN                            "Hlavni nabidka"
+#define MSG_AUTOSTART                       "Autostart"
+#define MSG_DISABLE_STEPPERS                "Vypnout motory"
+#define MSG_AUTO_HOME                       "Auto home"
+#define MSG_SET_HOME_OFFSETS                "Nastav pocatek home"
+#define MSG_SET_ORIGIN                      "Nastav pocatek"
+#define MSG_PREHEAT_PLA                     "Predehrev PLA"
+#define MSG_PREHEAT_PLA0                    "Predehrev PLA 1"
+#define MSG_PREHEAT_PLA1                    "Predehrev PLA 2"
+#define MSG_PREHEAT_PLA2                    "Predehrev PLA 3"
+#define MSG_PREHEAT_PLA012                  "Predehrev PLA All"
+#define MSG_PREHEAT_PLA_BEDONLY             "Predehrev PLA Bed"
+#define MSG_PREHEAT_PLA_SETTINGS            "Predehrev PLA conf"
+#define MSG_PREHEAT_ABS                     "Predehrev ABS"
+#define MSG_PREHEAT_ABS0                    "Predehrev ABS 1"
+#define MSG_PREHEAT_ABS1                    "Predehrev ABS 2"
+#define MSG_PREHEAT_ABS2                    "Predehrev ABS 3"
+#define MSG_PREHEAT_ABS012                  "Predehrev ABS All"
+#define MSG_PREHEAT_ABS_BEDONLY             "Predehrev ABS Bed"
+#define MSG_PREHEAT_ABS_SETTINGS            "Predehrev ABS conf"
+#define MSG_COOLDOWN                        "Zchladit"
+#define MSG_SWITCH_PS_ON                    "Vypnout zdroj"
+#define MSG_SWITCH_PS_OFF                   "Zapnout zdroj"
+#define MSG_EXTRUDE                         "Extrudovat"
+#define MSG_RETRACT                         "Retract"
+#define MSG_MOVE_AXIS                       "Posunout osu"
+#define MSG_MOVE_X                          "Posunout X"
+#define MSG_MOVE_Y                          "Posunout Y"
+#define MSG_MOVE_Z                          "Posunout Z"
+#define MSG_MOVE_E                          "Extruder"
+#define MSG_MOVE_E1                         "Extruder2"
+#define MSG_MOVE_E2                         "Extruder3"
+#define MSG_MOVE_01MM                       "Posunout o 0.1mm"
+#define MSG_MOVE_1MM                        "Posunout o 1mm"
+#define MSG_MOVE_10MM                       "Posunout o 10mm"
+#define MSG_SPEED                           "Rychlost"
+#define MSG_NOZZLE                          "Tryska"
+#define MSG_NOZZLE1                         "Tryska2"
+#define MSG_NOZZLE2                         "Tryska3"
+#define MSG_BED                             "Bed"
+#define MSG_FAN_SPEED                       "Rychlost vent."
+#define MSG_FLOW                            "Prutok"
+#define MSG_FLOW0                           "Prutok 0"
+#define MSG_FLOW1                           "Prutok 1"
+#define MSG_FLOW2                           "Prutok 2"
+#define MSG_CONTROL                         "Kontrola"
+#define MSG_MIN                             " \002 Min"
+#define MSG_MAX                             " \002 Max"
+#define MSG_FACTOR                          " \002 Fact"
+#define MSG_AUTOTEMP                        "Autotemp"
+#define MSG_ON                              "On "
+#define MSG_OFF                             "Off"
+#define MSG_PID_P                           "PID-P"
+#define MSG_PID_I                           "PID-I"
+#define MSG_PID_D                           "PID-D"
+#define MSG_PID_C                           "PID-C"
+#define MSG_ACC                             "Accel"
+#define MSG_VXY_JERK                        "Vxy-jerk"
+#define MSG_VZ_JERK                         "Vz-jerk"
+#define MSG_VE_JERK                         "Ve-jerk"
+#define MSG_VMAX                            "Vmax "
+#define MSG_X                               "x"
+#define MSG_Y                               "y"
+#define MSG_Z                               "z"
+#define MSG_E                               "e"
+#define MSG_VMIN                            "Vmin"
+#define MSG_VTRAV_MIN                       "VTrav min"
+#define MSG_AMAX                            "Amax "
+#define MSG_A_RETRACT                       "A-retract"
+#define MSG_XSTEPS                          "Xsteps/mm"
+#define MSG_YSTEPS                          "Ysteps/mm"
+#define MSG_ZSTEPS                          "Zsteps/mm"
+#define MSG_ESTEPS                          "Esteps/mm"
+#define MSG_TEMPERATURE                     "Teplota"
+#define MSG_MOTION                          "Pohyb"
+#define MSG_VOLUMETRIC                      "Filament"
+#define MSG_VOLUMETRIC_ENABLED		        "E in mm3"
+#define MSG_FILAMENT_SIZE_EXTRUDER_0        "Fil. Dia. 1"
+#define MSG_FILAMENT_SIZE_EXTRUDER_1        "Fil. Dia. 2"
+#define MSG_FILAMENT_SIZE_EXTRUDER_2        "Fil. Dia. 3"
+#define MSG_CONTRAST                        "LCD contrast"
+#define MSG_STORE_EPROM                     "Store memory"
+#define MSG_LOAD_EPROM                      "Ulozit pamet"
+#define MSG_RESTORE_FAILSAFE                "Obnovit vychozi"
+#define MSG_REFRESH                         "Obnovit"
+#define MSG_WATCH                           "Informace"
+#define MSG_PREPARE                         "Priprava"
+#define MSG_TUNE                            "Ladit"
+#define MSG_PAUSE_PRINT                     "Pozastavit tisk"
+#define MSG_RESUME_PRINT                    "Pokracovat"
+#define MSG_STOP_PRINT                      "Zastavit tisk"
+#define MSG_CARD_MENU                       "Tisk z SD"
+#define MSG_NO_CARD                         "Zadna SD karta"
+#define MSG_DWELL                           "Sleep..."
+#define MSG_USERWAIT                        "Wait for user..."
+#define MSG_RESUMING                        "Obnoveni tisku"
+#define MSG_PRINT_ABORTED                   "Tisk prerusen"
+#define MSG_NO_MOVE                         "No move."
+#define MSG_KILLED                          "KILLED. "
+#define MSG_STOPPED                         "STOPPED. "
+#define MSG_CONTROL_RETRACT                 "Retract mm"
+#define MSG_CONTROL_RETRACT_SWAP            "Swap Re.mm"
+#define MSG_CONTROL_RETRACTF                "Retract  V"
+#define MSG_CONTROL_RETRACT_ZLIFT           "Hop mm"
+#define MSG_CONTROL_RETRACT_RECOVER         "UnRet +mm"
+#define MSG_CONTROL_RETRACT_RECOVER_SWAP    "S UnRet+mm"
+#define MSG_CONTROL_RETRACT_RECOVERF        "UnRet  V"
+#define MSG_AUTORETRACT                     "AutoRetr."
+#define MSG_FILAMENTCHANGE                  "Vymenit filament"
+#define MSG_INIT_SDCARD                     "Inic. SD"
+#define MSG_CNG_SDCARD                      "Vymenit SD"
+#define MSG_ZPROBE_OUT                      "Z probe out. bed"
+#define MSG_POSITION_UNKNOWN                "Home X/Y before Z"
+#define MSG_ZPROBE_ZOFFSET                  "Z Offset"
+#define MSG_BABYSTEP_X                      "Babystep X"
+#define MSG_BABYSTEP_Y                      "Babystep Y"
+#define MSG_BABYSTEP_Z                      "Babystep Z"
+#define MSG_ENDSTOP_ABORT                   "Endstop abort"
+
+
+#define MSG_HOMEYZ                          "Kalibrovat Z"
+#define MSG_SETTINGS                         "Nastaveni"
+#define MSG_PREHEAT                         "Predehrev"
+#define MSG_UNLOAD_FILAMENT                 "Vyjmout filament"
+#define MSG_LOAD_FILAMENT                 "Zavest filament"
+
+#define MSG_RECTRACT                        "Rectract"
+#define MSG_ERROR                       "CHYBA:"
+#define MSG_PREHEAT_NOZZLE              "Predehrejte trysku!"
+#define MSG_SUPPORT                     "Podpora"
+#define MSG_CORRECTLY			"Vymena ok?"
+#define MSG_YES					"Ano"
+#define MSG_NOT_LOADED 			"Filament nezaveden"
+#define MSG_NOT_COLOR 			"Barva neni cista"
+#define MSG_LOADING_FILAMENT	        "Zavadeni filamentu"
+#define MSG_PLEASE_WAIT			"Prosim cekejte"
+#define MSG_LOADING_COLOR		"Cisteni barvy"
+#define MSG_CHANGE_SUCCESS		"Zmena uspesna!"
+#define MSG_PRESS				"A stisknete tlacitko"
+#define MSG_INSERT_FILAMENT		"Vlozte filament"
+#define MSG_CHANGING_FILAMENT	"Vymena filamentu!"
+
+
+
+#define MSG_Enqueing                        "enqueing \""
+#define MSG_POWERUP                         "PowerUp"
+#define MSG_EXTERNAL_RESET                  " External Reset"
+#define MSG_BROWNOUT_RESET                  " Brown out Reset"
+#define MSG_WATCHDOG_RESET                  " Watchdog Reset"
+#define MSG_SOFTWARE_RESET                  " Software Reset"
+#define MSG_AUTHOR                          " | Author: "
+#define MSG_CONFIGURATION_VER               " Last Updated: "
+#define MSG_FREE_MEMORY                     " Free Memory: "
+#define MSG_PLANNER_BUFFER_BYTES            "  PlannerBufferBytes: "
+#define MSG_OK                              "ok"
+#define MSG_FILE_SAVED                      "Done saving file."
+#define MSG_ERR_LINE_NO                     "Line Number is not Last Line Number+1, Last Line: "
+#define MSG_ERR_CHECKSUM_MISMATCH           "checksum mismatch, Last Line: "
+#define MSG_ERR_NO_CHECKSUM                 "No Checksum with line number, Last Line: "
+#define MSG_ERR_NO_LINENUMBER_WITH_CHECKSUM "No Line Number with checksum, Last Line: "
+#define MSG_FILE_PRINTED                    "Done printing file"
+#define MSG_BEGIN_FILE_LIST                 "Begin file list"
+#define MSG_END_FILE_LIST                   "End file list"
+#define MSG_M104_INVALID_EXTRUDER           "M104 Invalid extruder "
+#define MSG_M105_INVALID_EXTRUDER           "M105 Invalid extruder "
+#define MSG_M200_INVALID_EXTRUDER           "M200 Invalid extruder "
+#define MSG_M218_INVALID_EXTRUDER           "M218 Invalid extruder "
+#define MSG_M221_INVALID_EXTRUDER           "M221 Invalid extruder "
+#define MSG_ERR_NO_THERMISTORS              "No thermistors - no temperature"
+#define MSG_M109_INVALID_EXTRUDER           "M109 Invalid extruder "
+#define MSG_HEATING                         "Zahrivani..."
+#define MSG_HEATING_COMPLETE                "Zahrivani OK."
+#define MSG_BED_HEATING                     "Zahrivani bed..."
+#define MSG_BED_DONE                        "Bed OK."
+#define MSG_M115_REPORT                     "FIRMWARE_NAME:Marlin V1.0.2; Sprinter/grbl mashup for gen6 FIRMWARE_URL:" FIRMWARE_URL " PROTOCOL_VERSION:" PROTOCOL_VERSION " MACHINE_TYPE:" MACHINE_NAME " EXTRUDER_COUNT:" STRINGIFY(EXTRUDERS) " UUID:" MACHINE_UUID "\n"
+#define MSG_COUNT_X                         " Count X: "
+#define MSG_ERR_KILLED                      "Printer halted. kill() called!"
+#define MSG_ERR_STOPPED                     "Printer stopped due to errors. Fix the error and use M999 to restart. (Temperature is reset. Set it after restarting)"
+#define MSG_RESEND                          "Resend: "
+#define MSG_UNKNOWN_COMMAND                 "Unknown command: \""
+#define MSG_ACTIVE_EXTRUDER                 "Active Extruder: "
+#define MSG_INVALID_EXTRUDER                "Invalid extruder"
+#define MSG_X_MIN                           "x_min: "
+#define MSG_X_MAX                           "x_max: "
+#define MSG_Y_MIN                           "y_min: "
+#define MSG_Y_MAX                           "y_max: "
+#define MSG_Z_MIN                           "z_min: "
+#define MSG_Z_MAX                           "z_max: "
+#define MSG_M119_REPORT                     "Reporting endstop status"
+#define MSG_ENDSTOP_HIT                     "TRIGGERED"
+#define MSG_ENDSTOP_OPEN                    "open"
+#define MSG_HOTEND_OFFSET                   "Hotend offsets:"
+
+#define MSG_SD_CANT_OPEN_SUBDIR             "Cannot open subdir"
+#define MSG_SD_INIT_FAIL                    "SD init fail"
+#define MSG_SD_VOL_INIT_FAIL                "volume.init failed"
+#define MSG_SD_OPENROOT_FAIL                "openRoot failed"
+#define MSG_SD_CARD_OK                      "SD card ok"
+#define MSG_SD_WORKDIR_FAIL                 "workDir open failed"
+#define MSG_SD_OPEN_FILE_FAIL               "open failed, File: "
+#define MSG_SD_FILE_OPENED                  "File opened: "
+#define MSG_SD_SIZE                         " Size: "
+#define MSG_SD_FILE_SELECTED                "File selected"
+#define MSG_SD_WRITE_TO_FILE                "Writing to file: "
+#define MSG_SD_PRINTING_BYTE                "SD printing byte "
+#define MSG_SD_NOT_PRINTING                 "Not SD printing"
+#define MSG_SD_ERR_WRITE_TO_FILE            "error writing to file"
+#define MSG_SD_CANT_ENTER_SUBDIR            "Cannot enter subdir: "
+
+#define MSG_STEPPER_TOO_HIGH                "Steprate too high: "
+#define MSG_ENDSTOPS_HIT                    "endstops hit: "
+#define MSG_ERR_COLD_EXTRUDE_STOP           " cold extrusion prevented"
+#define MSG_ERR_LONG_EXTRUDE_STOP           " too long extrusion prevented"
+#define MSG_BABYSTEPPING_X                  "Babystepping X"
+#define MSG_BABYSTEPPING_Y                  "Babystepping Y"
+#define MSG_BABYSTEPPING_Z                  "Babystepping Z"
+#define MSG_SERIAL_ERROR_MENU_STRUCTURE     "Error in menu structure"
+
+
+#endif // LANGUAGE_EN_H

+ 233 - 0
language_en.h

@@ -0,0 +1,233 @@
+/**
+ * English
+ *
+ * LCD Menu Messages
+ * Please note these are limited to 17 characters!
+ *
+ */
+#ifndef LANGUAGE_EN_H
+#define LANGUAGE_EN_H
+
+#define WELCOME_MSG                         MACHINE_NAME " ready."
+#define MSG_SD_INSERTED                     "Card inserted"
+#define MSG_SD_REMOVED                      "Card removed"
+#define MSG_MAIN                            "Main"
+#define MSG_AUTOSTART                       "Autostart"
+#define MSG_DISABLE_STEPPERS                "Disable steppers"
+#define MSG_AUTO_HOME                       "Auto home"
+#define MSG_SET_HOME_OFFSETS                "Set home offsets"
+#define MSG_SET_ORIGIN                      "Set origin"
+#define MSG_PREHEAT_PLA                     "Preheat PLA"
+#define MSG_PREHEAT_PLA0                    "Preheat PLA 1"
+#define MSG_PREHEAT_PLA1                    "Preheat PLA 2"
+#define MSG_PREHEAT_PLA2                    "Preheat PLA 3"
+#define MSG_PREHEAT_PLA012                  "Preheat PLA All"
+#define MSG_PREHEAT_PLA_BEDONLY             "Preheat PLA Bed"
+#define MSG_PREHEAT_PLA_SETTINGS            "Preheat PLA conf"
+#define MSG_PREHEAT_ABS                     "Preheat ABS"
+#define MSG_PREHEAT_ABS0                    "Preheat ABS 1"
+#define MSG_PREHEAT_ABS1                    "Preheat ABS 2"
+#define MSG_PREHEAT_ABS2                    "Preheat ABS 3"
+#define MSG_PREHEAT_ABS012                  "Preheat ABS All"
+#define MSG_PREHEAT_ABS_BEDONLY             "Preheat ABS Bed"
+#define MSG_PREHEAT_ABS_SETTINGS            "Preheat ABS conf"
+#define MSG_COOLDOWN                        "Cooldown"
+#define MSG_SWITCH_PS_ON                    "Switch power on"
+#define MSG_SWITCH_PS_OFF                   "Switch power off"
+#define MSG_EXTRUDE                         "Extrude"
+#define MSG_RETRACT                         "Retract"
+#define MSG_MOVE_AXIS                       "Move axis"
+#define MSG_MOVE_X                          "Move X"
+#define MSG_MOVE_Y                          "Move Y"
+#define MSG_MOVE_Z                          "Move Z"
+#define MSG_MOVE_E                          "Extruder"
+#define MSG_MOVE_E1                         "Extruder2"
+#define MSG_MOVE_E2                         "Extruder3"
+#define MSG_MOVE_01MM                       "Move 0.1mm"
+#define MSG_MOVE_1MM                        "Move 1mm"
+#define MSG_MOVE_10MM                       "Move 10mm"
+#define MSG_SPEED                           "Speed"
+#define MSG_NOZZLE                          "Nozzle"
+#define MSG_NOZZLE1                         "Nozzle2"
+#define MSG_NOZZLE2                         "Nozzle3"
+#define MSG_BED                             "Bed"
+#define MSG_FAN_SPEED                       "Fan speed"
+#define MSG_FLOW                            "Flow"
+#define MSG_FLOW0                           "Flow 0"
+#define MSG_FLOW1                           "Flow 1"
+#define MSG_FLOW2                           "Flow 2"
+#define MSG_CONTROL                         "Control"
+#define MSG_MIN                             " \002 Min"
+#define MSG_MAX                             " \002 Max"
+#define MSG_FACTOR                          " \002 Fact"
+#define MSG_AUTOTEMP                        "Autotemp"
+#define MSG_ON                              "On "
+#define MSG_OFF                             "Off"
+#define MSG_PID_P                           "PID-P"
+#define MSG_PID_I                           "PID-I"
+#define MSG_PID_D                           "PID-D"
+#define MSG_PID_C                           "PID-C"
+#define MSG_ACC                             "Accel"
+#define MSG_VXY_JERK                        "Vxy-jerk"
+#define MSG_VZ_JERK                         "Vz-jerk"
+#define MSG_VE_JERK                         "Ve-jerk"
+#define MSG_VMAX                            "Vmax "
+#define MSG_X                               "x"
+#define MSG_Y                               "y"
+#define MSG_Z                               "z"
+#define MSG_E                               "e"
+#define MSG_VMIN                            "Vmin"
+#define MSG_VTRAV_MIN                       "VTrav min"
+#define MSG_AMAX                            "Amax "
+#define MSG_A_RETRACT                       "A-retract"
+#define MSG_XSTEPS                          "Xsteps/mm"
+#define MSG_YSTEPS                          "Ysteps/mm"
+#define MSG_ZSTEPS                          "Zsteps/mm"
+#define MSG_ESTEPS                          "Esteps/mm"
+#define MSG_TEMPERATURE                     "Temperature"
+#define MSG_MOTION                          "Motion"
+#define MSG_VOLUMETRIC                      "Filament"
+#define MSG_VOLUMETRIC_ENABLED		        "E in mm3"
+#define MSG_FILAMENT_SIZE_EXTRUDER_0        "Fil. Dia. 1"
+#define MSG_FILAMENT_SIZE_EXTRUDER_1        "Fil. Dia. 2"
+#define MSG_FILAMENT_SIZE_EXTRUDER_2        "Fil. Dia. 3"
+#define MSG_CONTRAST                        "LCD contrast"
+#define MSG_STORE_EPROM                     "Store memory"
+#define MSG_LOAD_EPROM                      "Load memory"
+#define MSG_RESTORE_FAILSAFE                "Restore failsafe"
+#define MSG_REFRESH                         "Refresh"
+#define MSG_WATCH                           "Info screen"
+#define MSG_PREPARE                         "Prepare"
+#define MSG_TUNE                            "Tune"
+#define MSG_PAUSE_PRINT                     "Pause print"
+#define MSG_RESUME_PRINT                    "Resume print"
+#define MSG_STOP_PRINT                      "Stop print"
+#define MSG_CARD_MENU                       "Print from SD"
+#define MSG_NO_CARD                         "No SD card"
+#define MSG_DWELL                           "Sleep..."
+#define MSG_USERWAIT                        "Wait for user..."
+#define MSG_RESUMING                        "Resuming print"
+#define MSG_PRINT_ABORTED                   "Print aborted"
+#define MSG_NO_MOVE                         "No move."
+#define MSG_KILLED                          "KILLED. "
+#define MSG_STOPPED                         "STOPPED. "
+#define MSG_CONTROL_RETRACT                 "Retract mm"
+#define MSG_CONTROL_RETRACT_SWAP            "Swap Re.mm"
+#define MSG_CONTROL_RETRACTF                "Retract  V"
+#define MSG_CONTROL_RETRACT_ZLIFT           "Hop mm"
+#define MSG_CONTROL_RETRACT_RECOVER         "UnRet +mm"
+#define MSG_CONTROL_RETRACT_RECOVER_SWAP    "S UnRet+mm"
+#define MSG_CONTROL_RETRACT_RECOVERF        "UnRet  V"
+#define MSG_AUTORETRACT                     "AutoRetr."
+#define MSG_FILAMENTCHANGE                  "Change filament"
+#define MSG_INIT_SDCARD                     "Init. SD card"
+#define MSG_CNG_SDCARD                      "Change SD card"
+#define MSG_ZPROBE_OUT                      "Z probe out. bed"
+#define MSG_POSITION_UNKNOWN                "Home X/Y before Z"
+#define MSG_ZPROBE_ZOFFSET                  "Z Offset"
+#define MSG_BABYSTEP_X                      "Babystep X"
+#define MSG_BABYSTEP_Y                      "Babystep Y"
+#define MSG_BABYSTEP_Z                      "Babystep Z"
+#define MSG_ENDSTOP_ABORT                   "Endstop abort"
+
+#define MSG_HOMEYZ                          "Calibrate Z"
+#define MSG_SETTINGS                         "Settings"
+#define MSG_PREHEAT                         "Preheat"
+#define MSG_UNLOAD_FILAMENT                 "Unload filament"
+#define MSG_LOAD_FILAMENT                 "Load filament"
+
+#define MSG_RECTRACT                        "Rectract"
+#define MSG_ERROR                        "ERROR:"
+#define MSG_PREHEAT_NOZZLE                       "Preheat the nozzle!"
+#define MSG_SUPPORT "Support"
+#define MSG_CORRECTLY			"Changed correctly?"
+#define MSG_YES					"Yes"
+#define MSG_NOT_LOADED 			"Filament not loaded"
+#define MSG_NOT_COLOR 			"Color not clear"
+#define MSG_LOADING_FILAMENT	"Loading filament"
+#define MSG_PLEASE_WAIT			"Please wait"
+#define MSG_LOADING_COLOR		"Loading color"
+#define MSG_CHANGE_SUCCESS		"Change success!"
+#define MSG_PRESS				"And press the knob"
+#define MSG_INSERT_FILAMENT		"Insert filament"
+#define MSG_CHANGING_FILAMENT	"Changing filament!"
+
+
+#define MSG_Enqueing                        "enqueing \""
+#define MSG_POWERUP                         "PowerUp"
+#define MSG_EXTERNAL_RESET                  " External Reset"
+#define MSG_BROWNOUT_RESET                  " Brown out Reset"
+#define MSG_WATCHDOG_RESET                  " Watchdog Reset"
+#define MSG_SOFTWARE_RESET                  " Software Reset"
+#define MSG_AUTHOR                          " | Author: "
+#define MSG_CONFIGURATION_VER               " Last Updated: "
+#define MSG_FREE_MEMORY                     " Free Memory: "
+#define MSG_PLANNER_BUFFER_BYTES            "  PlannerBufferBytes: "
+#define MSG_OK                              "ok"
+#define MSG_FILE_SAVED                      "Done saving file."
+#define MSG_ERR_LINE_NO                     "Line Number is not Last Line Number+1, Last Line: "
+#define MSG_ERR_CHECKSUM_MISMATCH           "checksum mismatch, Last Line: "
+#define MSG_ERR_NO_CHECKSUM                 "No Checksum with line number, Last Line: "
+#define MSG_ERR_NO_LINENUMBER_WITH_CHECKSUM "No Line Number with checksum, Last Line: "
+#define MSG_FILE_PRINTED                    "Done printing file"
+#define MSG_BEGIN_FILE_LIST                 "Begin file list"
+#define MSG_END_FILE_LIST                   "End file list"
+#define MSG_M104_INVALID_EXTRUDER           "M104 Invalid extruder "
+#define MSG_M105_INVALID_EXTRUDER           "M105 Invalid extruder "
+#define MSG_M200_INVALID_EXTRUDER           "M200 Invalid extruder "
+#define MSG_M218_INVALID_EXTRUDER           "M218 Invalid extruder "
+#define MSG_M221_INVALID_EXTRUDER           "M221 Invalid extruder "
+#define MSG_ERR_NO_THERMISTORS              "No thermistors - no temperature"
+#define MSG_M109_INVALID_EXTRUDER           "M109 Invalid extruder "
+#define MSG_HEATING                         "Heating..."
+#define MSG_HEATING_COMPLETE                "Heating done."
+#define MSG_BED_HEATING                     "Bed Heating."
+#define MSG_BED_DONE                        "Bed done."
+#define MSG_M115_REPORT                     "FIRMWARE_NAME:Marlin V1.0.2; Sprinter/grbl mashup for gen6 FIRMWARE_URL:" FIRMWARE_URL " PROTOCOL_VERSION:" PROTOCOL_VERSION " MACHINE_TYPE:" MACHINE_NAME " EXTRUDER_COUNT:" STRINGIFY(EXTRUDERS) " UUID:" MACHINE_UUID "\n"
+#define MSG_COUNT_X                         " Count X: "
+#define MSG_ERR_KILLED                      "Printer halted. kill() called!"
+#define MSG_ERR_STOPPED                     "Printer stopped due to errors. Fix the error and use M999 to restart. (Temperature is reset. Set it after restarting)"
+#define MSG_RESEND                          "Resend: "
+#define MSG_UNKNOWN_COMMAND                 "Unknown command: \""
+#define MSG_ACTIVE_EXTRUDER                 "Active Extruder: "
+#define MSG_INVALID_EXTRUDER                "Invalid extruder"
+#define MSG_X_MIN                           "x_min: "
+#define MSG_X_MAX                           "x_max: "
+#define MSG_Y_MIN                           "y_min: "
+#define MSG_Y_MAX                           "y_max: "
+#define MSG_Z_MIN                           "z_min: "
+#define MSG_Z_MAX                           "z_max: "
+#define MSG_M119_REPORT                     "Reporting endstop status"
+#define MSG_ENDSTOP_HIT                     "TRIGGERED"
+#define MSG_ENDSTOP_OPEN                    "open"
+#define MSG_HOTEND_OFFSET                   "Hotend offsets:"
+
+#define MSG_SD_CANT_OPEN_SUBDIR             "Cannot open subdir"
+#define MSG_SD_INIT_FAIL                    "SD init fail"
+#define MSG_SD_VOL_INIT_FAIL                "volume.init failed"
+#define MSG_SD_OPENROOT_FAIL                "openRoot failed"
+#define MSG_SD_CARD_OK                      "SD card ok"
+#define MSG_SD_WORKDIR_FAIL                 "workDir open failed"
+#define MSG_SD_OPEN_FILE_FAIL               "open failed, File: "
+#define MSG_SD_FILE_OPENED                  "File opened: "
+#define MSG_SD_SIZE                         " Size: "
+#define MSG_SD_FILE_SELECTED                "File selected"
+#define MSG_SD_WRITE_TO_FILE                "Writing to file: "
+#define MSG_SD_PRINTING_BYTE                "SD printing byte "
+#define MSG_SD_NOT_PRINTING                 "Not SD printing"
+#define MSG_SD_ERR_WRITE_TO_FILE            "error writing to file"
+#define MSG_SD_CANT_ENTER_SUBDIR            "Cannot enter subdir: "
+
+#define MSG_STEPPER_TOO_HIGH                "Steprate too high: "
+#define MSG_ENDSTOPS_HIT                    "endstops hit: "
+#define MSG_ERR_COLD_EXTRUDE_STOP           " cold extrusion prevented"
+#define MSG_ERR_LONG_EXTRUDE_STOP           " too long extrusion prevented"
+#define MSG_BABYSTEPPING_X                  "Babystepping X"
+#define MSG_BABYSTEPPING_Y                  "Babystepping Y"
+#define MSG_BABYSTEPPING_Z                  "Babystepping Z"
+#define MSG_SERIAL_ERROR_MENU_STRUCTURE     "Error in menu structure"
+
+
+ 
+
+#endif // LANGUAGE_EN_H

+ 145 - 0
motion_control.cpp

@@ -0,0 +1,145 @@
+/*
+  motion_control.c - high level interface for issuing motion commands
+  Part of Grbl
+
+  Copyright (c) 2009-2011 Simen Svale Skogsrud
+  Copyright (c) 2011 Sungeun K. Jeon
+  
+  Grbl is free software: you can redistribute it and/or modify
+  it under the terms of the GNU General Public License as published by
+  the Free Software Foundation, either version 3 of the License, or
+  (at your option) any later version.
+
+  Grbl is distributed in the hope that it will be useful,
+  but WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+  GNU General Public License for more details.
+
+  You should have received a copy of the GNU General Public License
+  along with Grbl.  If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#include "Marlin.h"
+#include "stepper.h"
+#include "planner.h"
+
+// The arc is approximated by generating a huge number of tiny, linear segments. The length of each 
+// segment is configured in settings.mm_per_arc_segment.  
+void mc_arc(float *position, float *target, float *offset, uint8_t axis_0, uint8_t axis_1, 
+  uint8_t axis_linear, float feed_rate, float radius, uint8_t isclockwise, uint8_t extruder)
+{      
+  //   int acceleration_manager_was_enabled = plan_is_acceleration_manager_enabled();
+  //   plan_set_acceleration_manager_enabled(false); // disable acceleration management for the duration of the arc
+  float center_axis0 = position[axis_0] + offset[axis_0];
+  float center_axis1 = position[axis_1] + offset[axis_1];
+  float linear_travel = target[axis_linear] - position[axis_linear];
+  float extruder_travel = target[E_AXIS] - position[E_AXIS];
+  float r_axis0 = -offset[axis_0];  // Radius vector from center to current location
+  float r_axis1 = -offset[axis_1];
+  float rt_axis0 = target[axis_0] - center_axis0;
+  float rt_axis1 = target[axis_1] - center_axis1;
+  
+  // CCW angle between position and target from circle center. Only one atan2() trig computation required.
+  float angular_travel = atan2(r_axis0*rt_axis1-r_axis1*rt_axis0, r_axis0*rt_axis0+r_axis1*rt_axis1);
+  if (angular_travel < 0) { angular_travel += 2*M_PI; }
+  if (isclockwise) { angular_travel -= 2*M_PI; }
+  
+  //20141002:full circle for G03 did not work, e.g. G03 X80 Y80 I20 J0 F2000 is giving an Angle of zero so head is not moving
+  //to compensate when start pos = target pos && angle is zero -> angle = 2Pi
+  if (position[axis_0] == target[axis_0] && position[axis_1] == target[axis_1] && angular_travel == 0)
+  {
+	  angular_travel += 2*M_PI;
+  }
+  //end fix G03
+  
+  float millimeters_of_travel = hypot(angular_travel*radius, fabs(linear_travel));
+  if (millimeters_of_travel < 0.001) { return; }
+  uint16_t segments = floor(millimeters_of_travel/MM_PER_ARC_SEGMENT);
+  if(segments == 0) segments = 1;
+  
+  /*  
+    // Multiply inverse feed_rate to compensate for the fact that this movement is approximated
+    // by a number of discrete segments. The inverse feed_rate should be correct for the sum of 
+    // all segments.
+    if (invert_feed_rate) { feed_rate *= segments; }
+  */
+  float theta_per_segment = angular_travel/segments;
+  float linear_per_segment = linear_travel/segments;
+  float extruder_per_segment = extruder_travel/segments;
+  
+  /* Vector rotation by transformation matrix: r is the original vector, r_T is the rotated vector,
+     and phi is the angle of rotation. Based on the solution approach by Jens Geisler.
+         r_T = [cos(phi) -sin(phi);
+                sin(phi)  cos(phi] * r ;
+     
+     For arc generation, the center of the circle is the axis of rotation and the radius vector is 
+     defined from the circle center to the initial position. Each line segment is formed by successive
+     vector rotations. This requires only two cos() and sin() computations to form the rotation
+     matrix for the duration of the entire arc. Error may accumulate from numerical round-off, since
+     all double numbers are single precision on the Arduino. (True double precision will not have
+     round off issues for CNC applications.) Single precision error can accumulate to be greater than
+     tool precision in some cases. Therefore, arc path correction is implemented. 
+
+     Small angle approximation may be used to reduce computation overhead further. This approximation
+     holds for everything, but very small circles and large mm_per_arc_segment values. In other words,
+     theta_per_segment would need to be greater than 0.1 rad and N_ARC_CORRECTION would need to be large
+     to cause an appreciable drift error. N_ARC_CORRECTION~=25 is more than small enough to correct for 
+     numerical drift error. N_ARC_CORRECTION may be on the order a hundred(s) before error becomes an
+     issue for CNC machines with the single precision Arduino calculations.
+     
+     This approximation also allows mc_arc to immediately insert a line segment into the planner 
+     without the initial overhead of computing cos() or sin(). By the time the arc needs to be applied
+     a correction, the planner should have caught up to the lag caused by the initial mc_arc overhead. 
+     This is important when there are successive arc motions. 
+  */
+  // Vector rotation matrix values
+  float cos_T = 1-0.5*theta_per_segment*theta_per_segment; // Small angle approximation
+  float sin_T = theta_per_segment;
+  
+  float arc_target[4];
+  float sin_Ti;
+  float cos_Ti;
+  float r_axisi;
+  uint16_t i;
+  int8_t count = 0;
+
+  // Initialize the linear axis
+  arc_target[axis_linear] = position[axis_linear];
+  
+  // Initialize the extruder axis
+  arc_target[E_AXIS] = position[E_AXIS];
+
+  for (i = 1; i<segments; i++) { // Increment (segments-1)
+    
+    if (count < N_ARC_CORRECTION) {
+      // Apply vector rotation matrix 
+      r_axisi = r_axis0*sin_T + r_axis1*cos_T;
+      r_axis0 = r_axis0*cos_T - r_axis1*sin_T;
+      r_axis1 = r_axisi;
+      count++;
+    } else {
+      // Arc correction to radius vector. Computed only every N_ARC_CORRECTION increments.
+      // Compute exact location by applying transformation matrix from initial radius vector(=-offset).
+      cos_Ti = cos(i*theta_per_segment);
+      sin_Ti = sin(i*theta_per_segment);
+      r_axis0 = -offset[axis_0]*cos_Ti + offset[axis_1]*sin_Ti;
+      r_axis1 = -offset[axis_0]*sin_Ti - offset[axis_1]*cos_Ti;
+      count = 0;
+    }
+
+    // Update arc_target location
+    arc_target[axis_0] = center_axis0 + r_axis0;
+    arc_target[axis_1] = center_axis1 + r_axis1;
+    arc_target[axis_linear] += linear_per_segment;
+    arc_target[E_AXIS] += extruder_per_segment;
+
+    clamp_to_software_endstops(arc_target);
+    plan_buffer_line(arc_target[X_AXIS], arc_target[Y_AXIS], arc_target[Z_AXIS], arc_target[E_AXIS], feed_rate, extruder);
+    
+  }
+  // Ensure last segment arrives at target location.
+  plan_buffer_line(target[X_AXIS], target[Y_AXIS], target[Z_AXIS], target[E_AXIS], feed_rate, extruder);
+
+  //   plan_set_acceleration_manager_enabled(acceleration_manager_was_enabled);
+}
+

+ 32 - 0
motion_control.h

@@ -0,0 +1,32 @@
+/*
+  motion_control.h - high level interface for issuing motion commands
+  Part of Grbl
+
+  Copyright (c) 2009-2011 Simen Svale Skogsrud
+  Copyright (c) 2011 Sungeun K. Jeon
+  
+  Grbl is free software: you can redistribute it and/or modify
+  it under the terms of the GNU General Public License as published by
+  the Free Software Foundation, either version 3 of the License, or
+  (at your option) any later version.
+
+  Grbl is distributed in the hope that it will be useful,
+  but WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+  GNU General Public License for more details.
+
+  You should have received a copy of the GNU General Public License
+  along with Grbl.  If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#ifndef motion_control_h
+#define motion_control_h
+
+// Execute an arc in offset mode format. position == current xyz, target == target xyz, 
+// offset == offset from current xyz, axis_XXX defines circle plane in tool space, axis_linear is
+// the direction of helical travel, radius == circle radius, isclockwise boolean. Used
+// for vector transformation direction.
+void mc_arc(float *position, float *target, float *offset, unsigned char axis_0, unsigned char axis_1,
+  unsigned char axis_linear, float feed_rate, float radius, unsigned char isclockwise, uint8_t extruder);
+  
+#endif

+ 406 - 0
pins.h

@@ -0,0 +1,406 @@
+#ifndef PINS_H
+#define PINS_H
+
+#include "boards.h"
+
+#if !MB(5DPRINT)
+#define X_MS1_PIN -1
+#define X_MS2_PIN -1
+#define Y_MS1_PIN -1
+#define Y_MS2_PIN -1
+#define Z_MS1_PIN -1
+#define Z_MS2_PIN -1
+#define E0_MS1_PIN -1
+#define E0_MS2_PIN -1
+#define E1_MS1_PIN -1
+#define E1_MS2_PIN -1
+#define DIGIPOTSS_PIN -1
+#endif
+
+
+/*****************************************************************
+* Rambo Pin Assignments 1.3
+******************************************************************/
+#if MOTHERBOARD == 302
+  #define MINI-RAMBO
+#endif
+#if MOTHERBOARD == 301 || MOTHERBOARD == 302
+  #define KNOWN_BOARD
+  #ifndef __AVR_ATmega2560__
+    #error Oops!  Make sure you have 'Arduino Mega 2560' selected from the 'Tools -> Boards' menu.
+  #endif
+  #define LARGE_FLASH true
+
+  #define FR_SENS 21
+
+
+  #define X_STEP_PIN 37
+  #define X_DIR_PIN 48
+  #define X_MIN_PIN 12
+  #define X_MAX_PIN 24
+  #define X_ENABLE_PIN 29
+  #define X_MS1_PIN 40
+  #define X_MS2_PIN 41
+  #define Y_STEP_PIN 36
+  #define Y_DIR_PIN 49
+  #define Y_MIN_PIN 11
+  #define Y_MAX_PIN 23
+  #define Y_ENABLE_PIN 28
+  #define Y_MS1_PIN 69
+  #define Y_MS2_PIN 39
+  #define Z_STEP_PIN 35
+  #define Z_DIR_PIN 47
+  #define Z_MIN_PIN 10
+  #define Z_MAX_PIN 30
+  #define Z_ENABLE_PIN 27
+  #define Z_MS1_PIN 68
+  #define Z_MS2_PIN 67
+  #define TEMP_BED_PIN 2
+  #define TEMP_0_PIN 0
+  #define HEATER_1_PIN 7
+  #define TEMP_1_PIN 1
+  #define TEMP_2_PIN -1
+  
+  // The SDSS pin uses a different pin mapping from file Sd2PinMap.h
+#define SDSS               53
+
+#ifndef SDSUPPORT
+// these pins are defined in the SD library if building with SD support
+  #define SCK_PIN           52
+  #define MISO_PIN         50
+  #define MOSI_PIN         51
+#endif
+  
+    #define BEEPER 84
+
+        #define BTN_EN1 72
+        #define BTN_EN2 14
+        #define BTN_ENC 9
+
+        #define SDCARDDETECT 15
+        
+        #define LCD_PINS_RS 82
+        #define LCD_PINS_ENABLE 18
+        #define LCD_PINS_D4 19
+        #define LCD_PINS_D5 70
+        #define LCD_PINS_D6 85
+        #define LCD_PINS_D7 71
+  
+  
+  
+  #define E0_STEP_PIN         34
+  #define E0_DIR_PIN          43
+  #define E0_ENABLE_PIN       26
+  #define E0_MS1_PIN 65
+  #define E0_MS2_PIN 66
+  #define LED_PIN            13
+  #ifdef THREEMM_PRINTER
+      #define FAN_PIN            8
+  #else
+      #define FAN_PIN            6
+  #endif
+  #define KILL_PIN           -1 //80 with Smart Controller LCD
+  #define SUICIDE_PIN        -1  //PIN that has to be turned on right after start, to keep power flowing.
+  #define SDPOWER            -1
+  #ifdef BARICUDA
+    #define HEATER_2_PIN 6
+  #else
+    #define HEATER_2_PIN -1
+  #endif
+  #ifdef MINI-RAMBO
+    #define HEATER_0_PIN 3
+    #define HEATER_BED_PIN 4
+    #define FAN_1_PIN -1 //6
+    #define PS_ON_PIN 71
+    #define MOTOR_CURRENT_PWM_XY_PIN 44
+    #define MOTOR_CURRENT_PWM_Z_PIN 45
+    #define MOTOR_CURRENT_PWM_E_PIN 46
+    
+    #ifdef MIREGLI
+      // Pins for DOGM SPI LCD Support
+      #define DOGLCD_A0  38
+      #define DOGLCD_CS  14
+      // GLCD features
+      #define LCD_CONTRAST 62
+      //Set Screen Rotation = 0; 90; 180; or 270. Define one here.
+      #define LCD_SCREEN_ROT_0
+      #define LCD_PIN_BL 15
+      #define BEEPER 78
+      #define BTN_EN1 80
+      #define BTN_EN2 73
+      #define BTN_ENC 63  //the click
+      #define BLEN_C 2
+      #define BLEN_B 1
+      #define BLEN_A 0
+      #define SDCARDDETECT -1 //53
+      #define SDSS 72
+      //encoder rotation values
+      #define encrot0 0
+      #define encrot1 2
+      #define encrot2 3
+      #define encrot3 1
+    #endif //DOGLCD
+  #else //RAMBo
+    #define E1_STEP_PIN         33
+    #define E1_DIR_PIN          42
+    #define E1_ENABLE_PIN       25
+    #define E1_MS1_PIN 63
+    #define E1_MS2_PIN 64
+    #define DIGIPOTSS_PIN 38
+    #define DIGIPOT_CHANNELS {4,5,3,0,1} // X Y Z E0 E1 digipot channels to stepper driver mapping
+    #define HEATER_0_PIN  9
+    #define HEATER_BED_PIN 3
+    #define PS_ON_PIN          4
+    #define SDSS               53
+    #ifdef ULTRA_LCD
+      #define KILL_PIN 80
+      #ifdef NEWPANEL
+        //arduino pin which triggers an piezzo beeper
+        #define BEEPER 79      // Beeper on AUX-4
+        #define LCD_PINS_RS 82
+        #define LCD_PINS_ENABLE 18
+        #define LCD_PINS_D4 19
+        #define LCD_PINS_D5 70
+        #define LCD_PINS_D6 85
+        #define LCD_PINS_D7 71
+        //buttons are directly attached using AUX-2
+        #define BTN_EN1 76
+        #define BTN_EN2 77
+        #define BTN_ENC 78  //the click
+        #define BLEN_C 2
+        #define BLEN_B 1
+        #define BLEN_A 0
+        #define SDCARDDETECT 81    // Ramps does not use this port
+        //encoder rotation values
+        #define encrot0 0
+        #define encrot1 2
+        #define encrot2 3
+        #define encrot3 1
+      #else //old style panel with shift register
+        //arduino pin witch triggers an piezzo beeper
+        #define BEEPER 33    //No Beeper added
+        //buttons are attached to a shift register
+        // Not wired this yet
+        // #define SHIFT_CLK 38
+        // #define SHIFT_LD 42
+        // #define SHIFT_OUT 40
+        // #define SHIFT_EN 17
+        #define LCD_PINS_RS 82
+        #define LCD_PINS_ENABLE 18
+        #define LCD_PINS_D4 19
+        #define LCD_PINS_D5 70
+        #define LCD_PINS_D6 85
+        #define LCD_PINS_D7 71
+        //encoder rotation values
+        #define encrot0 0
+        #define encrot1 2
+        #define encrot2 3
+        #define encrot3 1
+        //bits in the shift register that carry the buttons for:
+        // left up center down right red
+        #define BL_LE 7
+        #define BL_UP 6
+        #define BL_MI 5
+        #define BL_DW 4
+        #define BL_RI 3
+        #define BL_ST 2
+        #define BLEN_B 1
+        #define BLEN_A 0
+      #endif
+    #endif //ULTRA_LCD
+  #endif //RAMBo/MiniRambo option
+#endif
+
+
+
+
+/*****************************************************************
+* Rambo mini Pin Assignments 1.0
+******************************************************************/
+#if MOTHERBOARD == 102
+  #define KNOWN_BOARD
+  #ifndef __AVR_ATmega2560__
+    #error Oops!  Make sure you have 'Arduino Mega 2560' selected from the 'Tools -> Boards' menu.
+  #endif
+
+  #define FR_SENS 21
+
+  #define LARGE_FLASH true
+  #define X_STEP_PIN 37
+  #define X_DIR_PIN 48
+  #define X_MIN_PIN 12
+  #define X_MAX_PIN 24
+  #define X_ENABLE_PIN 29
+  #define X_MS1_PIN 40
+  #define X_MS2_PIN 41
+  #define Y_STEP_PIN 36
+  #define Y_DIR_PIN 49
+  #define Y_MIN_PIN 11
+  #define Y_MAX_PIN 23
+  #define Y_ENABLE_PIN 28
+  #define Y_MS1_PIN 69
+  #define Y_MS2_PIN 39
+  #define Z_STEP_PIN 35
+  #define Z_DIR_PIN 47
+  #define Z_MIN_PIN 10
+  #define Z_MAX_PIN 30
+  #define Z_ENABLE_PIN 27
+  #define Z_MS1_PIN 68
+  #define Z_MS2_PIN 67
+  #define TEMP_BED_PIN 2
+  #define TEMP_0_PIN 0
+  #define HEATER_1_PIN 7
+  #define TEMP_1_PIN 1
+  #define TEMP_2_PIN -1
+  
+  // The SDSS pin uses a different pin mapping from file Sd2PinMap.h
+#define SDSS               53
+
+#ifndef SDSUPPORT
+// these pins are defined in the SD library if building with SD support
+  #define SCK_PIN           52
+  #define MISO_PIN         50
+  #define MOSI_PIN         51
+#endif
+  
+    #define BEEPER 84
+
+        #define BTN_EN1 80
+        #define BTN_EN2 73
+        #define BTN_ENC 21
+
+        #define SDCARDDETECT 72
+        
+        #define LCD_PINS_RS 38
+        #define LCD_PINS_ENABLE 5
+        #define LCD_PINS_D4 14
+        #define LCD_PINS_D5 15
+        #define LCD_PINS_D6 32
+        #define LCD_PINS_D7 31
+  
+  
+  
+  #define E0_STEP_PIN         34
+  #define E0_DIR_PIN          43
+  #define E0_ENABLE_PIN       26
+  #define E0_MS1_PIN 65
+  #define E0_MS2_PIN 66
+  #define LED_PIN            13
+  #ifdef THREEMM_PRINTER
+      #define FAN_PIN            8
+  #else
+      #define FAN_PIN            6
+  #endif
+  #define KILL_PIN           -1 //80 with Smart Controller LCD
+  #define SUICIDE_PIN        -1  //PIN that has to be turned on right after start, to keep power flowing.
+  #define SDPOWER            -1
+  #ifdef BARICUDA
+    #define HEATER_2_PIN 6
+  #else
+    #define HEATER_2_PIN -1
+  #endif
+
+    #define HEATER_0_PIN 3
+    #define HEATER_BED_PIN 4
+    #define FAN_1_PIN -1 //6
+    #define PS_ON_PIN 71
+    #define MOTOR_CURRENT_PWM_XY_PIN 44
+    #define MOTOR_CURRENT_PWM_Z_PIN 45
+    #define MOTOR_CURRENT_PWM_E_PIN 46
+    
+    #ifdef MIREGLI
+      // Pins for DOGM SPI LCD Support
+      #define DOGLCD_A0  38
+      #define DOGLCD_CS  14
+      // GLCD features
+      #define LCD_CONTRAST 62
+      //Set Screen Rotation = 0; 90; 180; or 270. Define one here.
+      #define LCD_SCREEN_ROT_0
+      #define LCD_PIN_BL 15
+      #define BEEPER 78
+      #define BTN_EN1 80
+      #define BTN_EN2 73
+      #define BTN_ENC 63  //the click
+      #define BLEN_C 2
+      #define BLEN_B 1
+      #define BLEN_A 0
+      #define SDCARDDETECT -1 //53
+      #define SDSS 72
+      //encoder rotation values
+      #define encrot0 0
+      #define encrot1 2
+      #define encrot2 3
+      #define encrot3 1
+    #endif //DOGLCD
+
+#endif
+
+
+
+
+
+#ifndef KNOWN_BOARD
+#error Unknown MOTHERBOARD value in configuration.h
+#endif
+
+//List of pins which to ignore when asked to change by gcode, 0 and 1 are RX and TX, do not mess with those!
+#define _E0_PINS E0_STEP_PIN, E0_DIR_PIN, E0_ENABLE_PIN, HEATER_0_PIN,
+#if EXTRUDERS > 1
+  #define _E1_PINS E1_STEP_PIN, E1_DIR_PIN, E1_ENABLE_PIN, HEATER_1_PIN,
+#else
+  #define _E1_PINS
+#endif
+#if EXTRUDERS > 2
+  #define _E2_PINS E2_STEP_PIN, E2_DIR_PIN, E2_ENABLE_PIN, HEATER_2_PIN,
+#else
+  #define _E2_PINS
+#endif
+
+#ifdef X_STOP_PIN
+  #if X_HOME_DIR < 0
+    #define X_MIN_PIN X_STOP_PIN
+    #define X_MAX_PIN -1
+  #else
+    #define X_MIN_PIN -1
+    #define X_MAX_PIN X_STOP_PIN
+  #endif
+#endif
+
+#ifdef Y_STOP_PIN
+  #if Y_HOME_DIR < 0
+    #define Y_MIN_PIN Y_STOP_PIN
+    #define Y_MAX_PIN -1
+  #else
+    #define Y_MIN_PIN -1
+    #define Y_MAX_PIN Y_STOP_PIN
+  #endif
+#endif
+
+#ifdef Z_STOP_PIN
+  #if Z_HOME_DIR < 0
+    #define Z_MIN_PIN Z_STOP_PIN
+    #define Z_MAX_PIN -1
+  #else
+    #define Z_MIN_PIN -1
+    #define Z_MAX_PIN Z_STOP_PIN
+  #endif
+#endif
+
+#ifdef DISABLE_MAX_ENDSTOPS
+#define X_MAX_PIN          -1
+#define Y_MAX_PIN          -1
+#define Z_MAX_PIN          -1
+#endif
+
+#ifdef DISABLE_MIN_ENDSTOPS
+#define X_MIN_PIN          -1
+#define Y_MIN_PIN          -1
+#define Z_MIN_PIN          -1
+#endif
+
+#define SENSITIVE_PINS {0, 1, X_STEP_PIN, X_DIR_PIN, X_ENABLE_PIN, X_MIN_PIN, X_MAX_PIN, Y_STEP_PIN, Y_DIR_PIN, Y_ENABLE_PIN, Y_MIN_PIN, Y_MAX_PIN, Z_STEP_PIN, Z_DIR_PIN, Z_ENABLE_PIN, Z_MIN_PIN, Z_MAX_PIN, PS_ON_PIN, \
+                        HEATER_BED_PIN, FAN_PIN,                  \
+                        _E0_PINS _E1_PINS _E2_PINS             \
+                        analogInputToDigitalPin(TEMP_0_PIN), analogInputToDigitalPin(TEMP_1_PIN), analogInputToDigitalPin(TEMP_2_PIN), analogInputToDigitalPin(TEMP_BED_PIN) }
+
+#endif //__PINS_H

+ 1099 - 0
planner.cpp

@@ -0,0 +1,1099 @@
+/*
+  planner.c - buffers movement commands and manages the acceleration profile plan
+ Part of Grbl
+ 
+ Copyright (c) 2009-2011 Simen Svale Skogsrud
+ 
+ Grbl is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+ 
+ Grbl is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+ 
+ You should have received a copy of the GNU General Public License
+ along with Grbl.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+/* The ring buffer implementation gleaned from the wiring_serial library by David A. Mellis. */
+
+/*  
+ Reasoning behind the mathematics in this module (in the key of 'Mathematica'):
+ 
+ s == speed, a == acceleration, t == time, d == distance
+ 
+ Basic definitions:
+ 
+ Speed[s_, a_, t_] := s + (a*t) 
+ Travel[s_, a_, t_] := Integrate[Speed[s, a, t], t]
+ 
+ Distance to reach a specific speed with a constant acceleration:
+ 
+ Solve[{Speed[s, a, t] == m, Travel[s, a, t] == d}, d, t]
+ d -> (m^2 - s^2)/(2 a) --> estimate_acceleration_distance()
+ 
+ Speed after a given distance of travel with constant acceleration:
+ 
+ Solve[{Speed[s, a, t] == m, Travel[s, a, t] == d}, m, t]
+ m -> Sqrt[2 a d + s^2]    
+ 
+ DestinationSpeed[s_, a_, d_] := Sqrt[2 a d + s^2]
+ 
+ When to start braking (di) to reach a specified destionation speed (s2) after accelerating
+ from initial speed s1 without ever stopping at a plateau:
+ 
+ Solve[{DestinationSpeed[s1, a, di] == DestinationSpeed[s2, a, d - di]}, di]
+ di -> (2 a d - s1^2 + s2^2)/(4 a) --> intersection_distance()
+ 
+ IntersectionDistance[s1_, s2_, a_, d_] := (2 a d - s1^2 + s2^2)/(4 a)
+ */
+
+#include "Marlin.h"
+#include "planner.h"
+#include "stepper.h"
+#include "temperature.h"
+#include "ultralcd.h"
+#include "language.h"
+
+//===========================================================================
+//=============================public variables ============================
+//===========================================================================
+
+unsigned long minsegmenttime;
+float max_feedrate[NUM_AXIS]; // set the max speeds
+float axis_steps_per_unit[NUM_AXIS];
+unsigned long max_acceleration_units_per_sq_second[NUM_AXIS]; // Use M201 to override by software
+float minimumfeedrate;
+float acceleration;         // Normal acceleration mm/s^2  THIS IS THE DEFAULT ACCELERATION for all moves. M204 SXXXX
+float retract_acceleration; //  mm/s^2   filament pull-pack and push-forward  while standing still in the other axis M204 TXXXX
+float max_xy_jerk; //speed than can be stopped at once, if i understand correctly.
+float max_z_jerk;
+float max_e_jerk;
+float mintravelfeedrate;
+unsigned long axis_steps_per_sqr_second[NUM_AXIS];
+
+#ifdef ENABLE_AUTO_BED_LEVELING
+// this holds the required transform to compensate for bed level
+matrix_3x3 plan_bed_level_matrix = {
+	1.0, 0.0, 0.0,
+	0.0, 1.0, 0.0,
+	0.0, 0.0, 1.0,
+};
+#endif // #ifdef ENABLE_AUTO_BED_LEVELING
+
+// The current position of the tool in absolute steps
+long position[NUM_AXIS];   //rescaled from extern when axis_steps_per_unit are changed by gcode
+static float previous_speed[NUM_AXIS]; // Speed of previous path line segment
+static float previous_nominal_speed; // Nominal speed of previous path line segment
+
+#ifdef AUTOTEMP
+float autotemp_max=250;
+float autotemp_min=210;
+float autotemp_factor=0.1;
+bool autotemp_enabled=false;
+#endif
+
+unsigned char g_uc_extruder_last_move[3] = {0,0,0};
+
+//===========================================================================
+//=================semi-private variables, used in inline  functions    =====
+//===========================================================================
+block_t block_buffer[BLOCK_BUFFER_SIZE];            // A ring buffer for motion instfructions
+volatile unsigned char block_buffer_head;           // Index of the next block to be pushed
+volatile unsigned char block_buffer_tail;           // Index of the block to process now
+
+//===========================================================================
+//=============================private variables ============================
+//===========================================================================
+#ifdef PREVENT_DANGEROUS_EXTRUDE
+float extrude_min_temp=EXTRUDE_MINTEMP;
+#endif
+#ifdef XY_FREQUENCY_LIMIT
+#define MAX_FREQ_TIME (1000000.0/XY_FREQUENCY_LIMIT)
+// Used for the frequency limit
+static unsigned char old_direction_bits = 0;               // Old direction bits. Used for speed calculations
+static long x_segment_time[3]={MAX_FREQ_TIME + 1,0,0};     // Segment times (in us). Used for speed calculations
+static long y_segment_time[3]={MAX_FREQ_TIME + 1,0,0};
+#endif
+
+#ifdef FILAMENT_SENSOR
+ static char meas_sample; //temporary variable to hold filament measurement sample
+#endif
+
+// Returns the index of the next block in the ring buffer
+// NOTE: Removed modulo (%) operator, which uses an expensive divide and multiplication.
+static int8_t next_block_index(int8_t block_index) {
+  block_index++;
+  if (block_index == BLOCK_BUFFER_SIZE) { 
+    block_index = 0; 
+  }
+  return(block_index);
+}
+
+
+// Returns the index of the previous block in the ring buffer
+static int8_t prev_block_index(int8_t block_index) {
+  if (block_index == 0) { 
+    block_index = BLOCK_BUFFER_SIZE; 
+  }
+  block_index--;
+  return(block_index);
+}
+
+//===========================================================================
+//=============================functions         ============================
+//===========================================================================
+
+// Calculates the distance (not time) it takes to accelerate from initial_rate to target_rate using the 
+// given acceleration:
+FORCE_INLINE float estimate_acceleration_distance(float initial_rate, float target_rate, float acceleration)
+{
+  if (acceleration!=0) {
+    return((target_rate*target_rate-initial_rate*initial_rate)/
+      (2.0*acceleration));
+  }
+  else {
+    return 0.0;  // acceleration was 0, set acceleration distance to 0
+  }
+}
+
+// This function gives you the point at which you must start braking (at the rate of -acceleration) if 
+// you started at speed initial_rate and accelerated until this point and want to end at the final_rate after
+// a total travel of distance. This can be used to compute the intersection point between acceleration and
+// deceleration in the cases where the trapezoid has no plateau (i.e. never reaches maximum speed)
+
+FORCE_INLINE float intersection_distance(float initial_rate, float final_rate, float acceleration, float distance) 
+{
+  if (acceleration!=0) {
+    return((2.0*acceleration*distance-initial_rate*initial_rate+final_rate*final_rate)/
+      (4.0*acceleration) );
+  }
+  else {
+    return 0.0;  // acceleration was 0, set intersection distance to 0
+  }
+}
+
+// Calculates trapezoid parameters so that the entry- and exit-speed is compensated by the provided factors.
+
+void calculate_trapezoid_for_block(block_t *block, float entry_factor, float exit_factor) {
+  unsigned long initial_rate = ceil(block->nominal_rate*entry_factor); // (step/min)
+  unsigned long final_rate = ceil(block->nominal_rate*exit_factor); // (step/min)
+
+  // Limit minimal step rate (Otherwise the timer will overflow.)
+  if(initial_rate <120) {
+    initial_rate=120; 
+  }
+  if(final_rate < 120) {
+    final_rate=120;  
+  }
+
+  long acceleration = block->acceleration_st;
+  int32_t accelerate_steps =
+    ceil(estimate_acceleration_distance(initial_rate, block->nominal_rate, acceleration));
+  int32_t decelerate_steps =
+    floor(estimate_acceleration_distance(block->nominal_rate, final_rate, -acceleration));
+
+  // Calculate the size of Plateau of Nominal Rate.
+  int32_t plateau_steps = block->step_event_count-accelerate_steps-decelerate_steps;
+
+  // Is the Plateau of Nominal Rate smaller than nothing? That means no cruising, and we will
+  // have to use intersection_distance() to calculate when to abort acceleration and start braking
+  // in order to reach the final_rate exactly at the end of this block.
+  if (plateau_steps < 0) {
+    accelerate_steps = ceil(intersection_distance(initial_rate, final_rate, acceleration, block->step_event_count));
+    accelerate_steps = max(accelerate_steps,0); // Check limits due to numerical round-off
+    accelerate_steps = min((uint32_t)accelerate_steps,block->step_event_count);//(We can cast here to unsigned, because the above line ensures that we are above zero)
+    plateau_steps = 0;
+  }
+
+#ifdef ADVANCE
+  volatile long initial_advance = block->advance*entry_factor*entry_factor; 
+  volatile long final_advance = block->advance*exit_factor*exit_factor;
+#endif // ADVANCE
+
+  // block->accelerate_until = accelerate_steps;
+  // block->decelerate_after = accelerate_steps+plateau_steps;
+  CRITICAL_SECTION_START;  // Fill variables used by the stepper in a critical section
+  if(block->busy == false) { // Don't update variables if block is busy.
+    block->accelerate_until = accelerate_steps;
+    block->decelerate_after = accelerate_steps+plateau_steps;
+    block->initial_rate = initial_rate;
+    block->final_rate = final_rate;
+#ifdef ADVANCE
+    block->initial_advance = initial_advance;
+    block->final_advance = final_advance;
+#endif //ADVANCE
+  }
+  CRITICAL_SECTION_END;
+}                    
+
+// Calculates the maximum allowable speed at this point when you must be able to reach target_velocity using the 
+// acceleration within the allotted distance.
+FORCE_INLINE float max_allowable_speed(float acceleration, float target_velocity, float distance) {
+  return  sqrt(target_velocity*target_velocity-2*acceleration*distance);
+}
+
+// "Junction jerk" in this context is the immediate change in speed at the junction of two blocks.
+// This method will calculate the junction jerk as the euclidean distance between the nominal 
+// velocities of the respective blocks.
+//inline float junction_jerk(block_t *before, block_t *after) {
+//  return sqrt(
+//    pow((before->speed_x-after->speed_x), 2)+pow((before->speed_y-after->speed_y), 2));
+//}
+
+
+// The kernel called by planner_recalculate() when scanning the plan from last to first entry.
+void planner_reverse_pass_kernel(block_t *previous, block_t *current, block_t *next) {
+  if(!current) { 
+    return; 
+  }
+
+  if (next) {
+    // If entry speed is already at the maximum entry speed, no need to recheck. Block is cruising.
+    // If not, block in state of acceleration or deceleration. Reset entry speed to maximum and
+    // check for maximum allowable speed reductions to ensure maximum possible planned speed.
+    if (current->entry_speed != current->max_entry_speed) {
+
+      // If nominal length true, max junction speed is guaranteed to be reached. Only compute
+      // for max allowable speed if block is decelerating and nominal length is false.
+      if ((!current->nominal_length_flag) && (current->max_entry_speed > next->entry_speed)) {
+        current->entry_speed = min( current->max_entry_speed,
+        max_allowable_speed(-current->acceleration,next->entry_speed,current->millimeters));
+      } 
+      else {
+        current->entry_speed = current->max_entry_speed;
+      }
+      current->recalculate_flag = true;
+
+    }
+  } // Skip last block. Already initialized and set for recalculation.
+}
+
+// planner_recalculate() needs to go over the current plan twice. Once in reverse and once forward. This 
+// implements the reverse pass.
+void planner_reverse_pass() {
+  uint8_t block_index = block_buffer_head;
+  
+  //Make a local copy of block_buffer_tail, because the interrupt can alter it
+  CRITICAL_SECTION_START;
+  unsigned char tail = block_buffer_tail;
+  CRITICAL_SECTION_END
+  
+  if(((block_buffer_head-tail + BLOCK_BUFFER_SIZE) & (BLOCK_BUFFER_SIZE - 1)) > 3) {
+    block_index = (block_buffer_head - 3) & (BLOCK_BUFFER_SIZE - 1);
+    block_t *block[3] = { 
+      NULL, NULL, NULL         };
+    while(block_index != tail) { 
+      block_index = prev_block_index(block_index); 
+      block[2]= block[1];
+      block[1]= block[0];
+      block[0] = &block_buffer[block_index];
+      planner_reverse_pass_kernel(block[0], block[1], block[2]);
+    }
+  }
+}
+
+// The kernel called by planner_recalculate() when scanning the plan from first to last entry.
+void planner_forward_pass_kernel(block_t *previous, block_t *current, block_t *next) {
+  if(!previous) { 
+    return; 
+  }
+
+  // If the previous block is an acceleration block, but it is not long enough to complete the
+  // full speed change within the block, we need to adjust the entry speed accordingly. Entry
+  // speeds have already been reset, maximized, and reverse planned by reverse planner.
+  // If nominal length is true, max junction speed is guaranteed to be reached. No need to recheck.
+  if (!previous->nominal_length_flag) {
+    if (previous->entry_speed < current->entry_speed) {
+      double entry_speed = min( current->entry_speed,
+      max_allowable_speed(-previous->acceleration,previous->entry_speed,previous->millimeters) );
+
+      // Check for junction speed change
+      if (current->entry_speed != entry_speed) {
+        current->entry_speed = entry_speed;
+        current->recalculate_flag = true;
+      }
+    }
+  }
+}
+
+// planner_recalculate() needs to go over the current plan twice. Once in reverse and once forward. This 
+// implements the forward pass.
+void planner_forward_pass() {
+  uint8_t block_index = block_buffer_tail;
+  block_t *block[3] = { 
+    NULL, NULL, NULL   };
+
+  while(block_index != block_buffer_head) {
+    block[0] = block[1];
+    block[1] = block[2];
+    block[2] = &block_buffer[block_index];
+    planner_forward_pass_kernel(block[0],block[1],block[2]);
+    block_index = next_block_index(block_index);
+  }
+  planner_forward_pass_kernel(block[1], block[2], NULL);
+}
+
+// Recalculates the trapezoid speed profiles for all blocks in the plan according to the 
+// entry_factor for each junction. Must be called by planner_recalculate() after 
+// updating the blocks.
+void planner_recalculate_trapezoids() {
+  int8_t block_index = block_buffer_tail;
+  block_t *current;
+  block_t *next = NULL;
+
+  while(block_index != block_buffer_head) {
+    current = next;
+    next = &block_buffer[block_index];
+    if (current) {
+      // Recalculate if current block entry or exit junction speed has changed.
+      if (current->recalculate_flag || next->recalculate_flag) {
+        // NOTE: Entry and exit factors always > 0 by all previous logic operations.
+        calculate_trapezoid_for_block(current, current->entry_speed/current->nominal_speed,
+        next->entry_speed/current->nominal_speed);
+        current->recalculate_flag = false; // Reset current only to ensure next trapezoid is computed
+      }
+    }
+    block_index = next_block_index( block_index );
+  }
+  // Last/newest block in buffer. Exit speed is set with MINIMUM_PLANNER_SPEED. Always recalculated.
+  if(next != NULL) {
+    calculate_trapezoid_for_block(next, next->entry_speed/next->nominal_speed,
+    MINIMUM_PLANNER_SPEED/next->nominal_speed);
+    next->recalculate_flag = false;
+  }
+}
+
+// Recalculates the motion plan according to the following algorithm:
+//
+//   1. Go over every block in reverse order and calculate a junction speed reduction (i.e. block_t.entry_factor) 
+//      so that:
+//     a. The junction jerk is within the set limit
+//     b. No speed reduction within one block requires faster deceleration than the one, true constant 
+//        acceleration.
+//   2. Go over every block in chronological order and dial down junction speed reduction values if 
+//     a. The speed increase within one block would require faster accelleration than the one, true 
+//        constant acceleration.
+//
+// When these stages are complete all blocks have an entry_factor that will allow all speed changes to 
+// be performed using only the one, true constant acceleration, and where no junction jerk is jerkier than 
+// the set limit. Finally it will:
+//
+//   3. Recalculate trapezoids for all blocks.
+
+void planner_recalculate() {   
+  planner_reverse_pass();
+  planner_forward_pass();
+  planner_recalculate_trapezoids();
+}
+
+void plan_init() {
+  block_buffer_head = 0;
+  block_buffer_tail = 0;
+  memset(position, 0, sizeof(position)); // clear position
+  previous_speed[0] = 0.0;
+  previous_speed[1] = 0.0;
+  previous_speed[2] = 0.0;
+  previous_speed[3] = 0.0;
+  previous_nominal_speed = 0.0;
+}
+
+
+
+
+#ifdef AUTOTEMP
+void getHighESpeed()
+{
+  static float oldt=0;
+  if(!autotemp_enabled){
+    return;
+  }
+  if(degTargetHotend0()+2<autotemp_min) {  //probably temperature set to zero.
+    return; //do nothing
+  }
+
+  float high=0.0;
+  uint8_t block_index = block_buffer_tail;
+
+  while(block_index != block_buffer_head) {
+    if((block_buffer[block_index].steps_x != 0) ||
+      (block_buffer[block_index].steps_y != 0) ||
+      (block_buffer[block_index].steps_z != 0)) {
+      float se=(float(block_buffer[block_index].steps_e)/float(block_buffer[block_index].step_event_count))*block_buffer[block_index].nominal_speed;
+      //se; mm/sec;
+      if(se>high)
+      {
+        high=se;
+      }
+    }
+    block_index = (block_index+1) & (BLOCK_BUFFER_SIZE - 1);
+  }
+
+  float g=autotemp_min+high*autotemp_factor;
+  float t=g;
+  if(t<autotemp_min)
+    t=autotemp_min;
+  if(t>autotemp_max)
+    t=autotemp_max;
+  if(oldt>t)
+  {
+    t=AUTOTEMP_OLDWEIGHT*oldt+(1-AUTOTEMP_OLDWEIGHT)*t;
+  }
+  oldt=t;
+  setTargetHotend0(t);
+}
+#endif
+
+void check_axes_activity()
+{
+  unsigned char x_active = 0;
+  unsigned char y_active = 0;  
+  unsigned char z_active = 0;
+  unsigned char e_active = 0;
+  unsigned char tail_fan_speed = fanSpeed;
+  #ifdef BARICUDA
+  unsigned char tail_valve_pressure = ValvePressure;
+  unsigned char tail_e_to_p_pressure = EtoPPressure;
+  #endif
+  block_t *block;
+
+  if(block_buffer_tail != block_buffer_head)
+  {
+    uint8_t block_index = block_buffer_tail;
+    tail_fan_speed = block_buffer[block_index].fan_speed;
+    #ifdef BARICUDA
+    tail_valve_pressure = block_buffer[block_index].valve_pressure;
+    tail_e_to_p_pressure = block_buffer[block_index].e_to_p_pressure;
+    #endif
+    while(block_index != block_buffer_head)
+    {
+      block = &block_buffer[block_index];
+      if(block->steps_x != 0) x_active++;
+      if(block->steps_y != 0) y_active++;
+      if(block->steps_z != 0) z_active++;
+      if(block->steps_e != 0) e_active++;
+      block_index = (block_index+1) & (BLOCK_BUFFER_SIZE - 1);
+    }
+  }
+  if((DISABLE_X) && (x_active == 0)) disable_x();
+  if((DISABLE_Y) && (y_active == 0)) disable_y();
+  if((DISABLE_Z) && (z_active == 0)) disable_z();
+  if((DISABLE_E) && (e_active == 0))
+  {
+    disable_e0();
+    disable_e1();
+    disable_e2(); 
+  }
+#if defined(FAN_PIN) && FAN_PIN > -1
+  #ifdef FAN_KICKSTART_TIME
+    static unsigned long fan_kick_end;
+    if (tail_fan_speed) {
+      if (fan_kick_end == 0) {
+        // Just starting up fan - run at full power.
+        fan_kick_end = millis() + FAN_KICKSTART_TIME;
+        tail_fan_speed = 255;
+      } else if (fan_kick_end > millis())
+        // Fan still spinning up.
+        tail_fan_speed = 255;
+    } else {
+      fan_kick_end = 0;
+    }
+  #endif//FAN_KICKSTART_TIME
+  #ifdef FAN_SOFT_PWM
+  fanSpeedSoftPwm = tail_fan_speed;
+  #else
+  analogWrite(FAN_PIN,tail_fan_speed);
+  #endif//!FAN_SOFT_PWM
+#endif//FAN_PIN > -1
+#ifdef AUTOTEMP
+  getHighESpeed();
+#endif
+
+#ifdef BARICUDA
+  #if defined(HEATER_1_PIN) && HEATER_1_PIN > -1
+      analogWrite(HEATER_1_PIN,tail_valve_pressure);
+  #endif
+
+  #if defined(HEATER_2_PIN) && HEATER_2_PIN > -1
+      analogWrite(HEATER_2_PIN,tail_e_to_p_pressure);
+  #endif
+#endif
+}
+
+
+float junction_deviation = 0.1;
+// Add a new linear movement to the buffer. steps_x, _y and _z is the absolute position in 
+// mm. Microseconds specify how many microseconds the move should take to perform. To aid acceleration
+// calculation the caller must also provide the physical length of the line in millimeters.
+#ifdef ENABLE_AUTO_BED_LEVELING
+void plan_buffer_line(float x, float y, float z, const float &e, float feed_rate, const uint8_t &extruder)
+#else
+void plan_buffer_line(const float &x, const float &y, const float &z, const float &e, float feed_rate, const uint8_t &extruder)
+#endif  //ENABLE_AUTO_BED_LEVELING
+{
+  // Calculate the buffer head after we push this byte
+  int next_buffer_head = next_block_index(block_buffer_head);
+
+  // If the buffer is full: good! That means we are well ahead of the robot. 
+  // Rest here until there is room in the buffer.
+  while(block_buffer_tail == next_buffer_head)
+  {
+    manage_heater(); 
+    manage_inactivity(); 
+    lcd_update();
+  }
+
+#ifdef ENABLE_AUTO_BED_LEVELING
+  apply_rotation_xyz(plan_bed_level_matrix, x, y, z);
+#endif // ENABLE_AUTO_BED_LEVELING
+
+  // The target position of the tool in absolute steps
+  // Calculate target position in absolute steps
+  //this should be done after the wait, because otherwise a M92 code within the gcode disrupts this calculation somehow
+  long target[4];
+  target[X_AXIS] = lround(x*axis_steps_per_unit[X_AXIS]);
+  target[Y_AXIS] = lround(y*axis_steps_per_unit[Y_AXIS]);
+  target[Z_AXIS] = lround(z*axis_steps_per_unit[Z_AXIS]);     
+  target[E_AXIS] = lround(e*axis_steps_per_unit[E_AXIS]);
+
+  #ifdef PREVENT_DANGEROUS_EXTRUDE
+  if(target[E_AXIS]!=position[E_AXIS])
+  {
+    if(degHotend(active_extruder)<extrude_min_temp)
+    {
+      position[E_AXIS]=target[E_AXIS]; //behave as if the move really took place, but ignore E part
+      SERIAL_ECHO_START;
+      SERIAL_ECHOLNPGM(MSG_ERR_COLD_EXTRUDE_STOP);
+    }
+    
+    #ifdef PREVENT_LENGTHY_EXTRUDE
+    if(labs(target[E_AXIS]-position[E_AXIS])>axis_steps_per_unit[E_AXIS]*EXTRUDE_MAXLENGTH)
+    {
+      position[E_AXIS]=target[E_AXIS]; //behave as if the move really took place, but ignore E part
+      SERIAL_ECHO_START;
+      SERIAL_ECHOLNPGM(MSG_ERR_LONG_EXTRUDE_STOP);
+    }
+    #endif
+  }
+  #endif
+
+  // Prepare to set up new block
+  block_t *block = &block_buffer[block_buffer_head];
+
+  // Mark block as not busy (Not executed by the stepper interrupt)
+  block->busy = false;
+
+  // Number of steps for each axis
+#ifndef COREXY
+// default non-h-bot planning
+block->steps_x = labs(target[X_AXIS]-position[X_AXIS]);
+block->steps_y = labs(target[Y_AXIS]-position[Y_AXIS]);
+#else
+// corexy planning
+// these equations follow the form of the dA and dB equations on http://www.corexy.com/theory.html
+block->steps_x = labs((target[X_AXIS]-position[X_AXIS]) + (target[Y_AXIS]-position[Y_AXIS]));
+block->steps_y = labs((target[X_AXIS]-position[X_AXIS]) - (target[Y_AXIS]-position[Y_AXIS]));
+#endif
+  block->steps_z = labs(target[Z_AXIS]-position[Z_AXIS]);
+  block->steps_e = labs(target[E_AXIS]-position[E_AXIS]);
+  block->steps_e *= volumetric_multiplier[active_extruder];
+  block->steps_e *= extrudemultiply;
+  block->steps_e /= 100;
+  block->step_event_count = max(block->steps_x, max(block->steps_y, max(block->steps_z, block->steps_e)));
+
+  // Bail if this is a zero-length block
+  if (block->step_event_count <= dropsegments)
+  { 
+    return; 
+  }
+
+  block->fan_speed = fanSpeed;
+  #ifdef BARICUDA
+  block->valve_pressure = ValvePressure;
+  block->e_to_p_pressure = EtoPPressure;
+  #endif
+
+  // Compute direction bits for this block 
+  block->direction_bits = 0;
+#ifndef COREXY
+  if (target[X_AXIS] < position[X_AXIS])
+  {
+    block->direction_bits |= (1<<X_AXIS); 
+  }
+  if (target[Y_AXIS] < position[Y_AXIS])
+  {
+    block->direction_bits |= (1<<Y_AXIS); 
+  }
+#else
+  if ((target[X_AXIS]-position[X_AXIS]) + (target[Y_AXIS]-position[Y_AXIS]) < 0)
+  {
+    block->direction_bits |= (1<<X_AXIS); 
+  }
+  if ((target[X_AXIS]-position[X_AXIS]) - (target[Y_AXIS]-position[Y_AXIS]) < 0)
+  {
+    block->direction_bits |= (1<<Y_AXIS); 
+  }
+#endif
+  if (target[Z_AXIS] < position[Z_AXIS])
+  {
+    block->direction_bits |= (1<<Z_AXIS); 
+  }
+  if (target[E_AXIS] < position[E_AXIS])
+  {
+    block->direction_bits |= (1<<E_AXIS); 
+  }
+
+  block->active_extruder = extruder;
+
+  //enable active axes
+  #ifdef COREXY
+  if((block->steps_x != 0) || (block->steps_y != 0))
+  {
+    enable_x();
+    enable_y();
+  }
+  #else
+  if(block->steps_x != 0) enable_x();
+  if(block->steps_y != 0) enable_y();
+  #endif
+#ifndef Z_LATE_ENABLE
+  if(block->steps_z != 0) enable_z();
+#endif
+
+  // Enable extruder(s)
+  if(block->steps_e != 0)
+  {
+    if (DISABLE_INACTIVE_EXTRUDER) //enable only selected extruder
+    {
+
+      if(g_uc_extruder_last_move[0] > 0) g_uc_extruder_last_move[0]--;
+      if(g_uc_extruder_last_move[1] > 0) g_uc_extruder_last_move[1]--;
+      if(g_uc_extruder_last_move[2] > 0) g_uc_extruder_last_move[2]--;
+      
+      switch(extruder)
+      {
+        case 0: 
+          enable_e0(); 
+          g_uc_extruder_last_move[0] = BLOCK_BUFFER_SIZE*2;
+          
+          if(g_uc_extruder_last_move[1] == 0) disable_e1(); 
+          if(g_uc_extruder_last_move[2] == 0) disable_e2(); 
+        break;
+        case 1:
+          enable_e1(); 
+          g_uc_extruder_last_move[1] = BLOCK_BUFFER_SIZE*2;
+          
+          if(g_uc_extruder_last_move[0] == 0) disable_e0(); 
+          if(g_uc_extruder_last_move[2] == 0) disable_e2(); 
+        break;
+        case 2:
+          enable_e2(); 
+          g_uc_extruder_last_move[2] = BLOCK_BUFFER_SIZE*2;
+          
+          if(g_uc_extruder_last_move[0] == 0) disable_e0(); 
+          if(g_uc_extruder_last_move[1] == 0) disable_e1(); 
+        break;        
+      }
+    }
+    else //enable all
+    {
+      enable_e0();
+      enable_e1();
+      enable_e2(); 
+    }
+  }
+
+  if (block->steps_e == 0)
+  {
+    if(feed_rate<mintravelfeedrate) feed_rate=mintravelfeedrate;
+  }
+  else
+  {
+    if(feed_rate<minimumfeedrate) feed_rate=minimumfeedrate;
+  } 
+
+/* This part of the code calculates the total length of the movement. 
+For cartesian bots, the X_AXIS is the real X movement and same for Y_AXIS.
+But for corexy bots, that is not true. The "X_AXIS" and "Y_AXIS" motors (that should be named to A_AXIS
+and B_AXIS) cannot be used for X and Y length, because A=X+Y and B=X-Y.
+So we need to create other 2 "AXIS", named X_HEAD and Y_HEAD, meaning the real displacement of the Head. 
+Having the real displacement of the head, we can calculate the total movement length and apply the desired speed.
+*/ 
+  #ifndef COREXY
+    float delta_mm[4];
+    delta_mm[X_AXIS] = (target[X_AXIS]-position[X_AXIS])/axis_steps_per_unit[X_AXIS];
+    delta_mm[Y_AXIS] = (target[Y_AXIS]-position[Y_AXIS])/axis_steps_per_unit[Y_AXIS];
+  #else
+    float delta_mm[6];
+    delta_mm[X_HEAD] = (target[X_AXIS]-position[X_AXIS])/axis_steps_per_unit[X_AXIS];
+    delta_mm[Y_HEAD] = (target[Y_AXIS]-position[Y_AXIS])/axis_steps_per_unit[Y_AXIS];
+    delta_mm[X_AXIS] = ((target[X_AXIS]-position[X_AXIS]) + (target[Y_AXIS]-position[Y_AXIS]))/axis_steps_per_unit[X_AXIS];
+    delta_mm[Y_AXIS] = ((target[X_AXIS]-position[X_AXIS]) - (target[Y_AXIS]-position[Y_AXIS]))/axis_steps_per_unit[Y_AXIS];
+  #endif
+  delta_mm[Z_AXIS] = (target[Z_AXIS]-position[Z_AXIS])/axis_steps_per_unit[Z_AXIS];
+  delta_mm[E_AXIS] = ((target[E_AXIS]-position[E_AXIS])/axis_steps_per_unit[E_AXIS])*volumetric_multiplier[active_extruder]*extrudemultiply/100.0;
+  if ( block->steps_x <=dropsegments && block->steps_y <=dropsegments && block->steps_z <=dropsegments )
+  {
+    block->millimeters = fabs(delta_mm[E_AXIS]);
+  } 
+  else
+  {
+    #ifndef COREXY
+      block->millimeters = sqrt(square(delta_mm[X_AXIS]) + square(delta_mm[Y_AXIS]) + square(delta_mm[Z_AXIS]));
+	#else
+	  block->millimeters = sqrt(square(delta_mm[X_HEAD]) + square(delta_mm[Y_HEAD]) + square(delta_mm[Z_AXIS]));
+    #endif	
+  }
+  float inverse_millimeters = 1.0/block->millimeters;  // Inverse millimeters to remove multiple divides 
+
+    // Calculate speed in mm/second for each axis. No divide by zero due to previous checks.
+  float inverse_second = feed_rate * inverse_millimeters;
+
+  int moves_queued=(block_buffer_head-block_buffer_tail + BLOCK_BUFFER_SIZE) & (BLOCK_BUFFER_SIZE - 1);
+
+  // slow down when de buffer starts to empty, rather than wait at the corner for a buffer refill
+#ifdef OLD_SLOWDOWN
+  if(moves_queued < (BLOCK_BUFFER_SIZE * 0.5) && moves_queued > 1)
+    feed_rate = feed_rate*moves_queued / (BLOCK_BUFFER_SIZE * 0.5); 
+#endif
+
+#ifdef SLOWDOWN
+  //  segment time im micro seconds
+  unsigned long segment_time = lround(1000000.0/inverse_second);
+  if ((moves_queued > 1) && (moves_queued < (BLOCK_BUFFER_SIZE * 0.5)))
+  {
+    if (segment_time < minsegmenttime)
+    { // buffer is draining, add extra time.  The amount of time added increases if the buffer is still emptied more.
+      inverse_second=1000000.0/(segment_time+lround(2*(minsegmenttime-segment_time)/moves_queued));
+      #ifdef XY_FREQUENCY_LIMIT
+         segment_time = lround(1000000.0/inverse_second);
+      #endif
+    }
+  }
+#endif
+  //  END OF SLOW DOWN SECTION    
+
+
+  block->nominal_speed = block->millimeters * inverse_second; // (mm/sec) Always > 0
+  block->nominal_rate = ceil(block->step_event_count * inverse_second); // (step/sec) Always > 0
+
+#ifdef FILAMENT_SENSOR
+  //FMM update ring buffer used for delay with filament measurements
+  
+  
+    if((extruder==FILAMENT_SENSOR_EXTRUDER_NUM) && (delay_index2 > -1))  //only for extruder with filament sensor and if ring buffer is initialized
+  	  {
+    delay_dist = delay_dist + delta_mm[E_AXIS];  //increment counter with next move in e axis
+  
+    while (delay_dist >= (10*(MAX_MEASUREMENT_DELAY+1)))  //check if counter is over max buffer size in mm
+      	  delay_dist = delay_dist - 10*(MAX_MEASUREMENT_DELAY+1);  //loop around the buffer
+    while (delay_dist<0)
+    	  delay_dist = delay_dist + 10*(MAX_MEASUREMENT_DELAY+1); //loop around the buffer
+      
+    delay_index1=delay_dist/10.0;  //calculate index
+    
+    //ensure the number is within range of the array after converting from floating point
+    if(delay_index1<0)
+    	delay_index1=0;
+    else if (delay_index1>MAX_MEASUREMENT_DELAY)
+    	delay_index1=MAX_MEASUREMENT_DELAY;
+    	
+    if(delay_index1 != delay_index2)  //moved index
+  	  {
+    	meas_sample=widthFil_to_size_ratio()-100;  //subtract off 100 to reduce magnitude - to store in a signed char
+  	  }
+    while( delay_index1 != delay_index2)
+  	  {
+  	  delay_index2 = delay_index2 + 1;
+  	if(delay_index2>MAX_MEASUREMENT_DELAY)
+  			  delay_index2=delay_index2-(MAX_MEASUREMENT_DELAY+1);  //loop around buffer when incrementing
+  	  if(delay_index2<0)
+  		delay_index2=0;
+  	  else if (delay_index2>MAX_MEASUREMENT_DELAY)
+  		delay_index2=MAX_MEASUREMENT_DELAY;  
+  	  
+  	  measurement_delay[delay_index2]=meas_sample;
+  	  }
+    	
+    
+  	  }
+#endif
+
+
+  // Calculate and limit speed in mm/sec for each axis
+  float current_speed[4];
+  float speed_factor = 1.0; //factor <=1 do decrease speed
+  for(int i=0; i < 4; i++)
+  {
+    current_speed[i] = delta_mm[i] * inverse_second;
+    if(fabs(current_speed[i]) > max_feedrate[i])
+      speed_factor = min(speed_factor, max_feedrate[i] / fabs(current_speed[i]));
+  }
+
+  // Max segement time in us.
+#ifdef XY_FREQUENCY_LIMIT
+#define MAX_FREQ_TIME (1000000.0/XY_FREQUENCY_LIMIT)
+  // Check and limit the xy direction change frequency
+  unsigned char direction_change = block->direction_bits ^ old_direction_bits;
+  old_direction_bits = block->direction_bits;
+  segment_time = lround((float)segment_time / speed_factor);
+  
+  if((direction_change & (1<<X_AXIS)) == 0)
+  {
+    x_segment_time[0] += segment_time;
+  }
+  else
+  {
+    x_segment_time[2] = x_segment_time[1];
+    x_segment_time[1] = x_segment_time[0];
+    x_segment_time[0] = segment_time;
+  }
+  if((direction_change & (1<<Y_AXIS)) == 0)
+  {
+    y_segment_time[0] += segment_time;
+  }
+  else
+  {
+    y_segment_time[2] = y_segment_time[1];
+    y_segment_time[1] = y_segment_time[0];
+    y_segment_time[0] = segment_time;
+  }
+  long max_x_segment_time = max(x_segment_time[0], max(x_segment_time[1], x_segment_time[2]));
+  long max_y_segment_time = max(y_segment_time[0], max(y_segment_time[1], y_segment_time[2]));
+  long min_xy_segment_time =min(max_x_segment_time, max_y_segment_time);
+  if(min_xy_segment_time < MAX_FREQ_TIME)
+    speed_factor = min(speed_factor, speed_factor * (float)min_xy_segment_time / (float)MAX_FREQ_TIME);
+#endif
+
+  // Correct the speed  
+  if( speed_factor < 1.0)
+  {
+    for(unsigned char i=0; i < 4; i++)
+    {
+      current_speed[i] *= speed_factor;
+    }
+    block->nominal_speed *= speed_factor;
+    block->nominal_rate *= speed_factor;
+  }
+
+  // Compute and limit the acceleration rate for the trapezoid generator.  
+  float steps_per_mm = block->step_event_count/block->millimeters;
+  if(block->steps_x == 0 && block->steps_y == 0 && block->steps_z == 0)
+  {
+    block->acceleration_st = ceil(retract_acceleration * steps_per_mm); // convert to: acceleration steps/sec^2
+  }
+  else
+  {
+    block->acceleration_st = ceil(acceleration * steps_per_mm); // convert to: acceleration steps/sec^2
+    // Limit acceleration per axis
+    if(((float)block->acceleration_st * (float)block->steps_x / (float)block->step_event_count) > axis_steps_per_sqr_second[X_AXIS])
+      block->acceleration_st = axis_steps_per_sqr_second[X_AXIS];
+    if(((float)block->acceleration_st * (float)block->steps_y / (float)block->step_event_count) > axis_steps_per_sqr_second[Y_AXIS])
+      block->acceleration_st = axis_steps_per_sqr_second[Y_AXIS];
+    if(((float)block->acceleration_st * (float)block->steps_e / (float)block->step_event_count) > axis_steps_per_sqr_second[E_AXIS])
+      block->acceleration_st = axis_steps_per_sqr_second[E_AXIS];
+    if(((float)block->acceleration_st * (float)block->steps_z / (float)block->step_event_count ) > axis_steps_per_sqr_second[Z_AXIS])
+      block->acceleration_st = axis_steps_per_sqr_second[Z_AXIS];
+  }
+  block->acceleration = block->acceleration_st / steps_per_mm;
+  block->acceleration_rate = (long)((float)block->acceleration_st * (16777216.0 / (F_CPU / 8.0)));
+
+#if 0  // Use old jerk for now
+  // Compute path unit vector
+  double unit_vec[3];
+
+  unit_vec[X_AXIS] = delta_mm[X_AXIS]*inverse_millimeters;
+  unit_vec[Y_AXIS] = delta_mm[Y_AXIS]*inverse_millimeters;
+  unit_vec[Z_AXIS] = delta_mm[Z_AXIS]*inverse_millimeters;
+
+  // Compute maximum allowable entry speed at junction by centripetal acceleration approximation.
+  // Let a circle be tangent to both previous and current path line segments, where the junction
+  // deviation is defined as the distance from the junction to the closest edge of the circle,
+  // colinear with the circle center. The circular segment joining the two paths represents the
+  // path of centripetal acceleration. Solve for max velocity based on max acceleration about the
+  // radius of the circle, defined indirectly by junction deviation. This may be also viewed as
+  // path width or max_jerk in the previous grbl version. This approach does not actually deviate
+  // from path, but used as a robust way to compute cornering speeds, as it takes into account the
+  // nonlinearities of both the junction angle and junction velocity.
+  double vmax_junction = MINIMUM_PLANNER_SPEED; // Set default max junction speed
+
+  // Skip first block or when previous_nominal_speed is used as a flag for homing and offset cycles.
+  if ((block_buffer_head != block_buffer_tail) && (previous_nominal_speed > 0.0)) {
+    // Compute cosine of angle between previous and current path. (prev_unit_vec is negative)
+    // NOTE: Max junction velocity is computed without sin() or acos() by trig half angle identity.
+    double cos_theta = - previous_unit_vec[X_AXIS] * unit_vec[X_AXIS]
+      - previous_unit_vec[Y_AXIS] * unit_vec[Y_AXIS]
+      - previous_unit_vec[Z_AXIS] * unit_vec[Z_AXIS] ;
+
+    // Skip and use default max junction speed for 0 degree acute junction.
+    if (cos_theta < 0.95) {
+      vmax_junction = min(previous_nominal_speed,block->nominal_speed);
+      // Skip and avoid divide by zero for straight junctions at 180 degrees. Limit to min() of nominal speeds.
+      if (cos_theta > -0.95) {
+        // Compute maximum junction velocity based on maximum acceleration and junction deviation
+        double sin_theta_d2 = sqrt(0.5*(1.0-cos_theta)); // Trig half angle identity. Always positive.
+        vmax_junction = min(vmax_junction,
+        sqrt(block->acceleration * junction_deviation * sin_theta_d2/(1.0-sin_theta_d2)) );
+      }
+    }
+  }
+#endif
+  // Start with a safe speed
+  float vmax_junction = max_xy_jerk/2; 
+  float vmax_junction_factor = 1.0; 
+  if(fabs(current_speed[Z_AXIS]) > max_z_jerk/2) 
+    vmax_junction = min(vmax_junction, max_z_jerk/2);
+  if(fabs(current_speed[E_AXIS]) > max_e_jerk/2) 
+    vmax_junction = min(vmax_junction, max_e_jerk/2);
+  vmax_junction = min(vmax_junction, block->nominal_speed);
+  float safe_speed = vmax_junction;
+
+  if ((moves_queued > 1) && (previous_nominal_speed > 0.0001)) {
+    float jerk = sqrt(pow((current_speed[X_AXIS]-previous_speed[X_AXIS]), 2)+pow((current_speed[Y_AXIS]-previous_speed[Y_AXIS]), 2));
+    //    if((fabs(previous_speed[X_AXIS]) > 0.0001) || (fabs(previous_speed[Y_AXIS]) > 0.0001)) {
+    vmax_junction = block->nominal_speed;
+    //    }
+    if (jerk > max_xy_jerk) {
+      vmax_junction_factor = (max_xy_jerk/jerk);
+    } 
+    if(fabs(current_speed[Z_AXIS] - previous_speed[Z_AXIS]) > max_z_jerk) {
+      vmax_junction_factor= min(vmax_junction_factor, (max_z_jerk/fabs(current_speed[Z_AXIS] - previous_speed[Z_AXIS])));
+    } 
+    if(fabs(current_speed[E_AXIS] - previous_speed[E_AXIS]) > max_e_jerk) {
+      vmax_junction_factor = min(vmax_junction_factor, (max_e_jerk/fabs(current_speed[E_AXIS] - previous_speed[E_AXIS])));
+    } 
+    vmax_junction = min(previous_nominal_speed, vmax_junction * vmax_junction_factor); // Limit speed to max previous speed
+  }
+  block->max_entry_speed = vmax_junction;
+
+  // Initialize block entry speed. Compute based on deceleration to user-defined MINIMUM_PLANNER_SPEED.
+  double v_allowable = max_allowable_speed(-block->acceleration,MINIMUM_PLANNER_SPEED,block->millimeters);
+  block->entry_speed = min(vmax_junction, v_allowable);
+
+  // Initialize planner efficiency flags
+  // Set flag if block will always reach maximum junction speed regardless of entry/exit speeds.
+  // If a block can de/ac-celerate from nominal speed to zero within the length of the block, then
+  // the current block and next block junction speeds are guaranteed to always be at their maximum
+  // junction speeds in deceleration and acceleration, respectively. This is due to how the current
+  // block nominal speed limits both the current and next maximum junction speeds. Hence, in both
+  // the reverse and forward planners, the corresponding block junction speed will always be at the
+  // the maximum junction speed and may always be ignored for any speed reduction checks.
+  if (block->nominal_speed <= v_allowable) { 
+    block->nominal_length_flag = true; 
+  }
+  else { 
+    block->nominal_length_flag = false; 
+  }
+  block->recalculate_flag = true; // Always calculate trapezoid for new block
+
+  // Update previous path unit_vector and nominal speed
+  memcpy(previous_speed, current_speed, sizeof(previous_speed)); // previous_speed[] = current_speed[]
+  previous_nominal_speed = block->nominal_speed;
+
+
+#ifdef ADVANCE
+  // Calculate advance rate
+  if((block->steps_e == 0) || (block->steps_x == 0 && block->steps_y == 0 && block->steps_z == 0)) {
+    block->advance_rate = 0;
+    block->advance = 0;
+  }
+  else {
+    long acc_dist = estimate_acceleration_distance(0, block->nominal_rate, block->acceleration_st);
+    float advance = (STEPS_PER_CUBIC_MM_E * EXTRUDER_ADVANCE_K) * 
+      (current_speed[E_AXIS] * current_speed[E_AXIS] * EXTRUSION_AREA * EXTRUSION_AREA)*256;
+    block->advance = advance;
+    if(acc_dist == 0) {
+      block->advance_rate = 0;
+    } 
+    else {
+      block->advance_rate = advance / (float)acc_dist;
+    }
+  }
+  /*
+    SERIAL_ECHO_START;
+   SERIAL_ECHOPGM("advance :");
+   SERIAL_ECHO(block->advance/256.0);
+   SERIAL_ECHOPGM("advance rate :");
+   SERIAL_ECHOLN(block->advance_rate/256.0);
+   */
+#endif // ADVANCE
+
+  calculate_trapezoid_for_block(block, block->entry_speed/block->nominal_speed,
+  safe_speed/block->nominal_speed);
+
+  // Move buffer head
+  block_buffer_head = next_buffer_head;
+
+  // Update position
+  memcpy(position, target, sizeof(target)); // position[] = target[]
+
+  planner_recalculate();
+
+  st_wake_up();
+}
+
+#ifdef ENABLE_AUTO_BED_LEVELING
+vector_3 plan_get_position() {
+	vector_3 position = vector_3(st_get_position_mm(X_AXIS), st_get_position_mm(Y_AXIS), st_get_position_mm(Z_AXIS));
+
+	//position.debug("in plan_get position");
+	//plan_bed_level_matrix.debug("in plan_get bed_level");
+	matrix_3x3 inverse = matrix_3x3::transpose(plan_bed_level_matrix);
+	//inverse.debug("in plan_get inverse");
+	position.apply_rotation(inverse);
+	//position.debug("after rotation");
+
+	return position;
+}
+#endif // ENABLE_AUTO_BED_LEVELING
+
+#ifdef ENABLE_AUTO_BED_LEVELING
+void plan_set_position(float x, float y, float z, const float &e)
+{
+  apply_rotation_xyz(plan_bed_level_matrix, x, y, z);
+#else
+void plan_set_position(const float &x, const float &y, const float &z, const float &e)
+{
+#endif // ENABLE_AUTO_BED_LEVELING
+
+  position[X_AXIS] = lround(x*axis_steps_per_unit[X_AXIS]);
+  position[Y_AXIS] = lround(y*axis_steps_per_unit[Y_AXIS]);
+  position[Z_AXIS] = lround(z*axis_steps_per_unit[Z_AXIS]);     
+  position[E_AXIS] = lround(e*axis_steps_per_unit[E_AXIS]);  
+  st_set_position(position[X_AXIS], position[Y_AXIS], position[Z_AXIS], position[E_AXIS]);
+  previous_nominal_speed = 0.0; // Resets planner junction speeds. Assumes start from rest.
+  previous_speed[0] = 0.0;
+  previous_speed[1] = 0.0;
+  previous_speed[2] = 0.0;
+  previous_speed[3] = 0.0;
+}
+
+void plan_set_e_position(const float &e)
+{
+  position[E_AXIS] = lround(e*axis_steps_per_unit[E_AXIS]);  
+  st_set_e_position(position[E_AXIS]);
+}
+
+uint8_t movesplanned()
+{
+  return (block_buffer_head-block_buffer_tail + BLOCK_BUFFER_SIZE) & (BLOCK_BUFFER_SIZE - 1);
+}
+
+#ifdef PREVENT_DANGEROUS_EXTRUDE
+void set_extrude_min_temp(float temp)
+{
+  extrude_min_temp=temp;
+}
+#endif
+
+// Calculate the steps/s^2 acceleration rates, based on the mm/s^s
+void reset_acceleration_rates()
+{
+	for(int8_t i=0; i < NUM_AXIS; i++)
+        {
+        axis_steps_per_sqr_second[i] = max_acceleration_units_per_sq_second[i] * axis_steps_per_unit[i];
+        }
+}

+ 162 - 0
planner.h

@@ -0,0 +1,162 @@
+/*
+  planner.h - buffers movement commands and manages the acceleration profile plan
+  Part of Grbl
+
+  Copyright (c) 2009-2011 Simen Svale Skogsrud
+
+  Grbl is free software: you can redistribute it and/or modify
+  it under the terms of the GNU General Public License as published by
+  the Free Software Foundation, either version 3 of the License, or
+  (at your option) any later version.
+
+  Grbl is distributed in the hope that it will be useful,
+  but WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+  GNU General Public License for more details.
+
+  You should have received a copy of the GNU General Public License
+  along with Grbl.  If not, see <http://www.gnu.org/licenses/>.
+*/
+
+// This module is to be considered a sub-module of stepper.c. Please don't include 
+// this file from any other module.
+
+#ifndef planner_h
+#define planner_h
+
+#include "Marlin.h"
+
+#ifdef ENABLE_AUTO_BED_LEVELING
+#include "vector_3.h"
+#endif // ENABLE_AUTO_BED_LEVELING
+
+// This struct is used when buffering the setup for each linear movement "nominal" values are as specified in 
+// the source g-code and may never actually be reached if acceleration management is active.
+typedef struct {
+  // Fields used by the bresenham algorithm for tracing the line
+  long steps_x, steps_y, steps_z, steps_e;  // Step count along each axis
+  unsigned long step_event_count;           // The number of step events required to complete this block
+  long accelerate_until;                    // The index of the step event on which to stop acceleration
+  long decelerate_after;                    // The index of the step event on which to start decelerating
+  long acceleration_rate;                   // The acceleration rate used for acceleration calculation
+  unsigned char direction_bits;             // The direction bit set for this block (refers to *_DIRECTION_BIT in config.h)
+  unsigned char active_extruder;            // Selects the active extruder
+  #ifdef ADVANCE
+    long advance_rate;
+    volatile long initial_advance;
+    volatile long final_advance;
+    float advance;
+  #endif
+
+  // Fields used by the motion planner to manage acceleration
+//  float speed_x, speed_y, speed_z, speed_e;        // Nominal mm/sec for each axis
+  float nominal_speed;                               // The nominal speed for this block in mm/sec 
+  float entry_speed;                                 // Entry speed at previous-current junction in mm/sec
+  float max_entry_speed;                             // Maximum allowable junction entry speed in mm/sec
+  float millimeters;                                 // The total travel of this block in mm
+  float acceleration;                                // acceleration mm/sec^2
+  unsigned char recalculate_flag;                    // Planner flag to recalculate trapezoids on entry junction
+  unsigned char nominal_length_flag;                 // Planner flag for nominal speed always reached
+
+  // Settings for the trapezoid generator
+  unsigned long nominal_rate;                        // The nominal step rate for this block in step_events/sec 
+  unsigned long initial_rate;                        // The jerk-adjusted step rate at start of block  
+  unsigned long final_rate;                          // The minimal rate at exit
+  unsigned long acceleration_st;                     // acceleration steps/sec^2
+  unsigned long fan_speed;
+  #ifdef BARICUDA
+  unsigned long valve_pressure;
+  unsigned long e_to_p_pressure;
+  #endif
+  volatile char busy;
+} block_t;
+
+#ifdef ENABLE_AUTO_BED_LEVELING
+// this holds the required transform to compensate for bed level
+extern matrix_3x3 plan_bed_level_matrix;
+#endif // #ifdef ENABLE_AUTO_BED_LEVELING
+
+// Initialize the motion plan subsystem      
+void plan_init();
+
+// Add a new linear movement to the buffer. x, y and z is the signed, absolute target position in 
+// millimaters. Feed rate specifies the speed of the motion.
+
+#ifdef ENABLE_AUTO_BED_LEVELING
+void plan_buffer_line(float x, float y, float z, const float &e, float feed_rate, const uint8_t &extruder);
+
+// Get the position applying the bed level matrix if enabled
+vector_3 plan_get_position();
+#else
+void plan_buffer_line(const float &x, const float &y, const float &z, const float &e, float feed_rate, const uint8_t &extruder);
+#endif // ENABLE_AUTO_BED_LEVELING
+
+// Set position. Used for G92 instructions.
+#ifdef ENABLE_AUTO_BED_LEVELING
+void plan_set_position(float x, float y, float z, const float &e);
+#else
+void plan_set_position(const float &x, const float &y, const float &z, const float &e);
+#endif // ENABLE_AUTO_BED_LEVELING
+
+void plan_set_e_position(const float &e);
+
+
+
+void check_axes_activity();
+uint8_t movesplanned(); //return the nr of buffered moves
+
+extern unsigned long minsegmenttime;
+extern float max_feedrate[NUM_AXIS]; // set the max speeds
+extern float axis_steps_per_unit[NUM_AXIS];
+extern unsigned long max_acceleration_units_per_sq_second[NUM_AXIS]; // Use M201 to override by software
+extern float minimumfeedrate;
+extern float acceleration;         // Normal acceleration mm/s^2  THIS IS THE DEFAULT ACCELERATION for all moves. M204 SXXXX
+extern float retract_acceleration; //  mm/s^2   filament pull-pack and push-forward  while standing still in the other axis M204 TXXXX
+extern float max_xy_jerk; //speed than can be stopped at once, if i understand correctly.
+extern float max_z_jerk;
+extern float max_e_jerk;
+extern float mintravelfeedrate;
+extern unsigned long axis_steps_per_sqr_second[NUM_AXIS];
+
+#ifdef AUTOTEMP
+    extern bool autotemp_enabled;
+    extern float autotemp_max;
+    extern float autotemp_min;
+    extern float autotemp_factor;
+#endif
+
+    
+
+
+extern block_t block_buffer[BLOCK_BUFFER_SIZE];            // A ring buffer for motion instfructions
+extern volatile unsigned char block_buffer_head;           // Index of the next block to be pushed
+extern volatile unsigned char block_buffer_tail; 
+// Called when the current block is no longer needed. Discards the block and makes the memory
+// availible for new blocks.    
+FORCE_INLINE void plan_discard_current_block()  
+{
+  if (block_buffer_head != block_buffer_tail) {
+    block_buffer_tail = (block_buffer_tail + 1) & (BLOCK_BUFFER_SIZE - 1);  
+  }
+}
+
+// Gets the current block. Returns NULL if buffer empty
+FORCE_INLINE block_t *plan_get_current_block() 
+{
+  if (block_buffer_head == block_buffer_tail) { 
+    return(NULL); 
+  }
+  block_t *block = &block_buffer[block_buffer_tail];
+  block->busy = true;
+  return(block);
+}
+
+// Returns true if the buffer has a queued block, false otherwise
+FORCE_INLINE bool blocks_queued() { return (block_buffer_head != block_buffer_tail); }
+
+#ifdef PREVENT_DANGEROUS_EXTRUDE
+void set_extrude_min_temp(float temp);
+#endif
+
+void reset_acceleration_rates();
+#endif

+ 1930 - 0
qr_solve.cpp

@@ -0,0 +1,1930 @@
+#include "qr_solve.h"
+
+#ifdef AUTO_BED_LEVELING_GRID
+
+#include <stdlib.h>
+#include <math.h>
+
+//# include "r8lib.h"
+
+int i4_min ( int i1, int i2 )
+
+/******************************************************************************/
+/*
+  Purpose:
+
+    I4_MIN returns the smaller of two I4's.
+
+  Licensing:
+
+    This code is distributed under the GNU LGPL license.
+
+  Modified:
+
+    29 August 2006
+
+  Author:
+
+    John Burkardt
+
+  Parameters:
+
+    Input, int I1, I2, two integers to be compared.
+
+    Output, int I4_MIN, the smaller of I1 and I2.
+*/
+{
+  int value;
+
+  if ( i1 < i2 )
+  {
+    value = i1;
+  }
+  else
+  {
+    value = i2;
+  }
+  return value;
+}
+
+double r8_epsilon ( void )
+
+/******************************************************************************/
+/*
+  Purpose:
+
+    R8_EPSILON returns the R8 round off unit.
+
+  Discussion:
+
+    R8_EPSILON is a number R which is a power of 2 with the property that,
+    to the precision of the computer's arithmetic,
+      1 < 1 + R
+    but
+      1 = ( 1 + R / 2 )
+
+  Licensing:
+
+    This code is distributed under the GNU LGPL license.
+
+  Modified:
+
+    01 September 2012
+
+  Author:
+
+    John Burkardt
+
+  Parameters:
+
+    Output, double R8_EPSILON, the R8 round-off unit.
+*/
+{
+  const double value = 2.220446049250313E-016;
+
+  return value;
+}
+
+double r8_max ( double x, double y )
+
+/******************************************************************************/
+/*
+  Purpose:
+
+    R8_MAX returns the maximum of two R8's.
+
+  Licensing:
+
+    This code is distributed under the GNU LGPL license.
+
+  Modified:
+
+    07 May 2006
+
+  Author:
+
+    John Burkardt
+
+  Parameters:
+
+    Input, double X, Y, the quantities to compare.
+
+    Output, double R8_MAX, the maximum of X and Y.
+*/
+{
+  double value;
+
+  if ( y < x )
+  {
+    value = x;
+  }
+  else
+  {
+    value = y;
+  }
+  return value;
+}
+
+double r8_abs ( double x )
+
+/******************************************************************************/
+/*
+  Purpose:
+
+    R8_ABS returns the absolute value of an R8.
+
+  Licensing:
+
+    This code is distributed under the GNU LGPL license.
+
+  Modified:
+
+    07 May 2006
+
+  Author:
+
+    John Burkardt
+
+  Parameters:
+
+    Input, double X, the quantity whose absolute value is desired.
+
+    Output, double R8_ABS, the absolute value of X.
+*/
+{
+  double value;
+
+  if ( 0.0 <= x )
+  {
+    value = + x;
+  }
+  else
+  {
+    value = - x;
+  }
+  return value;
+}
+
+double r8_sign ( double x )
+
+/******************************************************************************/
+/*
+  Purpose:
+
+    R8_SIGN returns the sign of an R8.
+
+  Licensing:
+
+    This code is distributed under the GNU LGPL license.
+
+  Modified:
+
+    08 May 2006
+
+  Author:
+
+    John Burkardt
+
+  Parameters:
+
+    Input, double X, the number whose sign is desired.
+
+    Output, double R8_SIGN, the sign of X.
+*/
+{
+  double value;
+
+  if ( x < 0.0 )
+  {
+    value = - 1.0;
+  }
+  else
+  {
+    value = + 1.0;
+  }
+  return value;
+}
+
+double r8mat_amax ( int m, int n, double a[] )
+
+/******************************************************************************/
+/*
+  Purpose:
+
+    R8MAT_AMAX returns the maximum absolute value entry of an R8MAT.
+
+  Discussion:
+
+    An R8MAT is a doubly dimensioned array of R8 values, stored as a vector
+    in column-major order.
+
+  Licensing:
+
+    This code is distributed under the GNU LGPL license.
+
+  Modified:
+
+    07 September 2012
+
+  Author:
+
+    John Burkardt
+
+  Parameters:
+
+    Input, int M, the number of rows in A.
+
+    Input, int N, the number of columns in A.
+
+    Input, double A[M*N], the M by N matrix.
+
+    Output, double R8MAT_AMAX, the maximum absolute value entry of A.
+*/
+{
+  int i;
+  int j;
+  double value;
+
+  value = r8_abs ( a[0+0*m] );
+
+  for ( j = 0; j < n; j++ )
+  {
+    for ( i = 0; i < m; i++ )
+    {
+      if ( value < r8_abs ( a[i+j*m] ) )
+      {
+        value = r8_abs ( a[i+j*m] );
+      }
+    }
+  }
+  return value;
+}
+
+double *r8mat_copy_new ( int m, int n, double a1[] )
+
+/******************************************************************************/
+/*
+  Purpose:
+
+    R8MAT_COPY_NEW copies one R8MAT to a "new" R8MAT.
+
+  Discussion:
+
+    An R8MAT is a doubly dimensioned array of R8 values, stored as a vector
+    in column-major order.
+
+  Licensing:
+
+    This code is distributed under the GNU LGPL license.
+
+  Modified:
+
+    26 July 2008
+
+  Author:
+
+    John Burkardt
+
+  Parameters:
+
+    Input, int M, N, the number of rows and columns.
+
+    Input, double A1[M*N], the matrix to be copied.
+
+    Output, double R8MAT_COPY_NEW[M*N], the copy of A1.
+*/
+{
+  double *a2;
+  int i;
+  int j;
+
+  a2 = ( double * ) malloc ( m * n * sizeof ( double ) );
+
+  for ( j = 0; j < n; j++ )
+  {
+    for ( i = 0; i < m; i++ )
+    {
+      a2[i+j*m] = a1[i+j*m];
+    }
+  }
+
+  return a2;
+}
+
+/******************************************************************************/
+
+void daxpy ( int n, double da, double dx[], int incx, double dy[], int incy )
+
+/******************************************************************************/
+/*
+  Purpose:
+
+    DAXPY computes constant times a vector plus a vector.
+
+  Discussion:
+
+    This routine uses unrolled loops for increments equal to one.
+
+  Licensing:
+
+    This code is distributed under the GNU LGPL license. 
+
+  Modified:
+
+    30 March 2007
+
+  Author:
+
+    C version by John Burkardt
+
+  Reference:
+
+    Jack Dongarra, Cleve Moler, Jim Bunch, Pete Stewart,
+    LINPACK User's Guide,
+    SIAM, 1979.
+
+    Charles Lawson, Richard Hanson, David Kincaid, Fred Krogh,
+    Basic Linear Algebra Subprograms for Fortran Usage,
+    Algorithm 539, 
+    ACM Transactions on Mathematical Software, 
+    Volume 5, Number 3, September 1979, pages 308-323.
+
+  Parameters:
+
+    Input, int N, the number of elements in DX and DY.
+
+    Input, double DA, the multiplier of DX.
+
+    Input, double DX[*], the first vector.
+
+    Input, int INCX, the increment between successive entries of DX.
+
+    Input/output, double DY[*], the second vector.
+    On output, DY[*] has been replaced by DY[*] + DA * DX[*].
+
+    Input, int INCY, the increment between successive entries of DY.
+*/
+{
+  int i;
+  int ix;
+  int iy;
+  int m;
+
+  if ( n <= 0 )
+  {
+    return;
+  }
+
+  if ( da == 0.0 )
+  {
+    return;
+  }
+/*
+  Code for unequal increments or equal increments
+  not equal to 1.
+*/
+  if ( incx != 1 || incy != 1 )
+  {
+    if ( 0 <= incx )
+    {
+      ix = 0;
+    }
+    else
+    {
+      ix = ( - n + 1 ) * incx;
+    }
+
+    if ( 0 <= incy )
+    {
+      iy = 0;
+    }
+    else
+    {
+      iy = ( - n + 1 ) * incy;
+    }
+
+    for ( i = 0; i < n; i++ )
+    {
+      dy[iy] = dy[iy] + da * dx[ix];
+      ix = ix + incx;
+      iy = iy + incy;
+    }
+  }
+/*
+  Code for both increments equal to 1.
+*/
+  else
+  {
+    m = n % 4;
+
+    for ( i = 0; i < m; i++ )
+    {
+      dy[i] = dy[i] + da * dx[i];
+    }
+
+    for ( i = m; i < n; i = i + 4 )
+    {
+      dy[i  ] = dy[i  ] + da * dx[i  ];
+      dy[i+1] = dy[i+1] + da * dx[i+1];
+      dy[i+2] = dy[i+2] + da * dx[i+2];
+      dy[i+3] = dy[i+3] + da * dx[i+3];
+    }
+  }
+  return;
+}
+/******************************************************************************/
+
+double ddot ( int n, double dx[], int incx, double dy[], int incy )
+
+/******************************************************************************/
+/*
+  Purpose:
+
+    DDOT forms the dot product of two vectors.
+
+  Discussion:
+
+    This routine uses unrolled loops for increments equal to one.
+
+  Licensing:
+
+    This code is distributed under the GNU LGPL license. 
+
+  Modified:
+
+    30 March 2007
+
+  Author:
+
+    C version by John Burkardt
+
+  Reference:
+
+    Jack Dongarra, Cleve Moler, Jim Bunch, Pete Stewart,
+    LINPACK User's Guide,
+    SIAM, 1979.
+
+    Charles Lawson, Richard Hanson, David Kincaid, Fred Krogh,
+    Basic Linear Algebra Subprograms for Fortran Usage,
+    Algorithm 539, 
+    ACM Transactions on Mathematical Software, 
+    Volume 5, Number 3, September 1979, pages 308-323.
+
+  Parameters:
+
+    Input, int N, the number of entries in the vectors.
+
+    Input, double DX[*], the first vector.
+
+    Input, int INCX, the increment between successive entries in DX.
+
+    Input, double DY[*], the second vector.
+
+    Input, int INCY, the increment between successive entries in DY.
+
+    Output, double DDOT, the sum of the product of the corresponding
+    entries of DX and DY.
+*/
+{
+  double dtemp;
+  int i;
+  int ix;
+  int iy;
+  int m;
+
+  dtemp = 0.0;
+
+  if ( n <= 0 )
+  {
+    return dtemp;
+  }
+/*
+  Code for unequal increments or equal increments
+  not equal to 1.
+*/
+  if ( incx != 1 || incy != 1 )
+  {
+    if ( 0 <= incx )
+    {
+      ix = 0;
+    }
+    else
+    {
+      ix = ( - n + 1 ) * incx;
+    }
+
+    if ( 0 <= incy )
+    {
+      iy = 0;
+    }
+    else
+    {
+      iy = ( - n + 1 ) * incy;
+    }
+
+    for ( i = 0; i < n; i++ )
+    {
+      dtemp = dtemp + dx[ix] * dy[iy];
+      ix = ix + incx;
+      iy = iy + incy;
+    }
+  }
+/*
+  Code for both increments equal to 1.
+*/
+  else
+  {
+    m = n % 5;
+
+    for ( i = 0; i < m; i++ )
+    {
+      dtemp = dtemp + dx[i] * dy[i];
+    }
+
+    for ( i = m; i < n; i = i + 5 )
+    {
+      dtemp = dtemp + dx[i  ] * dy[i  ] 
+                    + dx[i+1] * dy[i+1] 
+                    + dx[i+2] * dy[i+2] 
+                    + dx[i+3] * dy[i+3] 
+                    + dx[i+4] * dy[i+4];
+    }
+  }
+  return dtemp;
+}
+/******************************************************************************/
+
+double dnrm2 ( int n, double x[], int incx )
+
+/******************************************************************************/
+/*
+  Purpose:
+
+    DNRM2 returns the euclidean norm of a vector.
+
+  Discussion:
+
+     DNRM2 ( X ) = sqrt ( X' * X )
+
+  Licensing:
+
+    This code is distributed under the GNU LGPL license. 
+
+  Modified:
+
+    30 March 2007
+
+  Author:
+
+    C version by John Burkardt
+
+  Reference:
+
+    Jack Dongarra, Cleve Moler, Jim Bunch, Pete Stewart,
+    LINPACK User's Guide,
+    SIAM, 1979.
+
+    Charles Lawson, Richard Hanson, David Kincaid, Fred Krogh,
+    Basic Linear Algebra Subprograms for Fortran Usage,
+    Algorithm 539,
+    ACM Transactions on Mathematical Software,
+    Volume 5, Number 3, September 1979, pages 308-323.
+
+  Parameters:
+
+    Input, int N, the number of entries in the vector.
+
+    Input, double X[*], the vector whose norm is to be computed.
+
+    Input, int INCX, the increment between successive entries of X.
+
+    Output, double DNRM2, the Euclidean norm of X.
+*/
+{
+  double absxi;
+  int i;
+  int ix;
+  double norm;
+  double scale;
+  double ssq;
+  double value;
+
+  if ( n < 1 || incx < 1 )
+  {
+    norm = 0.0;
+  }
+  else if ( n == 1 )
+  {
+    norm = r8_abs ( x[0] );
+  }
+  else
+  {
+    scale = 0.0;
+    ssq = 1.0;
+    ix = 0;
+
+    for ( i = 0; i < n; i++ )
+    {
+      if ( x[ix] != 0.0 )
+      {
+        absxi = r8_abs ( x[ix] );
+        if ( scale < absxi )
+        {
+          ssq = 1.0 + ssq * ( scale / absxi ) * ( scale / absxi );
+          scale = absxi;
+        }
+        else
+        {
+          ssq = ssq + ( absxi / scale ) * ( absxi / scale );
+        }
+      }
+      ix = ix + incx;
+    }
+
+    norm  = scale * sqrt ( ssq );
+  }
+
+  return norm;
+}
+/******************************************************************************/
+
+void dqrank ( double a[], int lda, int m, int n, double tol, int *kr, 
+  int jpvt[], double qraux[] )
+
+/******************************************************************************/
+/*
+  Purpose:
+
+    DQRANK computes the QR factorization of a rectangular matrix.
+
+  Discussion:
+
+    This routine is used in conjunction with DQRLSS to solve
+    overdetermined, underdetermined and singular linear systems
+    in a least squares sense.
+
+    DQRANK uses the LINPACK subroutine DQRDC to compute the QR
+    factorization, with column pivoting, of an M by N matrix A.
+    The numerical rank is determined using the tolerance TOL.
+
+    Note that on output, ABS ( A(1,1) ) / ABS ( A(KR,KR) ) is an estimate
+    of the condition number of the matrix of independent columns,
+    and of R.  This estimate will be <= 1/TOL.
+
+  Licensing:
+
+    This code is distributed under the GNU LGPL license. 
+
+  Modified:
+
+    21 April 2012
+
+  Author:
+
+    C version by John Burkardt.
+
+  Reference:
+
+    Jack Dongarra, Cleve Moler, Jim Bunch, Pete Stewart,
+    LINPACK User's Guide,
+    SIAM, 1979,
+    ISBN13: 978-0-898711-72-1,
+    LC: QA214.L56.
+
+  Parameters:
+
+    Input/output, double A[LDA*N].  On input, the matrix whose
+    decomposition is to be computed.  On output, the information from DQRDC.
+    The triangular matrix R of the QR factorization is contained in the
+    upper triangle and information needed to recover the orthogonal
+    matrix Q is stored below the diagonal in A and in the vector QRAUX.
+
+    Input, int LDA, the leading dimension of A, which must
+    be at least M.
+
+    Input, int M, the number of rows of A.
+
+    Input, int N, the number of columns of A.
+
+    Input, double TOL, a relative tolerance used to determine the
+    numerical rank.  The problem should be scaled so that all the elements
+    of A have roughly the same absolute accuracy, EPS.  Then a reasonable
+    value for TOL is roughly EPS divided by the magnitude of the largest
+    element.
+
+    Output, int *KR, the numerical rank.
+
+    Output, int JPVT[N], the pivot information from DQRDC.
+    Columns JPVT(1), ..., JPVT(KR) of the original matrix are linearly
+    independent to within the tolerance TOL and the remaining columns
+    are linearly dependent.
+
+    Output, double QRAUX[N], will contain extra information defining
+    the QR factorization.
+*/
+{
+  int i;
+  int j;
+  int job;
+  int k;
+  double *work;
+
+  for ( i = 0; i < n; i++ )
+  {
+    jpvt[i] = 0;
+  }
+
+  work = ( double * ) malloc ( n * sizeof ( double ) );
+  job = 1;
+
+  dqrdc ( a, lda, m, n, qraux, jpvt, work, job );
+
+  *kr = 0;
+  k = i4_min ( m, n );
+
+  for ( j = 0; j < k; j++ )
+  {
+    if ( r8_abs ( a[j+j*lda] ) <= tol * r8_abs ( a[0+0*lda] ) )
+    {
+      return;
+    }
+    *kr = j + 1;
+  }
+
+  free ( work );
+
+  return;
+}
+/******************************************************************************/
+
+void dqrdc ( double a[], int lda, int n, int p, double qraux[], int jpvt[], 
+  double work[], int job )
+
+/******************************************************************************/
+/*
+  Purpose:
+
+    DQRDC computes the QR factorization of a real rectangular matrix.
+
+  Discussion:
+
+    DQRDC uses Householder transformations.
+
+    Column pivoting based on the 2-norms of the reduced columns may be
+    performed at the user's option.
+
+  Licensing:
+
+    This code is distributed under the GNU LGPL license. 
+
+  Modified:
+
+    07 June 2005
+
+  Author:
+
+    C version by John Burkardt.
+
+  Reference:
+
+    Jack Dongarra, Cleve Moler, Jim Bunch and Pete Stewart,
+    LINPACK User's Guide,
+    SIAM, (Society for Industrial and Applied Mathematics),
+    3600 University City Science Center,
+    Philadelphia, PA, 19104-2688.
+    ISBN 0-89871-172-X
+
+  Parameters:
+
+    Input/output, double A(LDA,P).  On input, the N by P matrix
+    whose decomposition is to be computed.  On output, A contains in
+    its upper triangle the upper triangular matrix R of the QR
+    factorization.  Below its diagonal A contains information from
+    which the orthogonal part of the decomposition can be recovered.
+    Note that if pivoting has been requested, the decomposition is not that
+    of the original matrix A but that of A with its columns permuted
+    as described by JPVT.
+
+    Input, int LDA, the leading dimension of the array A.  LDA must
+    be at least N.
+
+    Input, int N, the number of rows of the matrix A.
+
+    Input, int P, the number of columns of the matrix A.
+
+    Output, double QRAUX[P], contains further information required
+    to recover the orthogonal part of the decomposition.
+
+    Input/output, integer JPVT[P].  On input, JPVT contains integers that
+    control the selection of the pivot columns.  The K-th column A(*,K) of A
+    is placed in one of three classes according to the value of JPVT(K).
+      > 0, then A(K) is an initial column.
+      = 0, then A(K) is a free column.
+      < 0, then A(K) is a final column.
+    Before the decomposition is computed, initial columns are moved to
+    the beginning of the array A and final columns to the end.  Both
+    initial and final columns are frozen in place during the computation
+    and only free columns are moved.  At the K-th stage of the
+    reduction, if A(*,K) is occupied by a free column it is interchanged
+    with the free column of largest reduced norm.  JPVT is not referenced
+    if JOB == 0.  On output, JPVT(K) contains the index of the column of the
+    original matrix that has been interchanged into the K-th column, if
+    pivoting was requested.
+
+    Workspace, double WORK[P].  WORK is not referenced if JOB == 0.
+
+    Input, int JOB, initiates column pivoting.
+    0, no pivoting is done.
+    nonzero, pivoting is done.
+*/
+{
+  int j;
+  int jp;
+  int l;
+  int lup;
+  int maxj;
+  double maxnrm;
+  double nrmxl;
+  int pl;
+  int pu;
+  int swapj;
+  double t;
+  double tt;
+
+  pl = 1;
+  pu = 0;
+/*
+  If pivoting is requested, rearrange the columns.
+*/
+  if ( job != 0 )
+  {
+    for ( j = 1; j <= p; j++ )
+    {
+      swapj = ( 0 < jpvt[j-1] );
+
+      if ( jpvt[j-1] < 0 )
+      {
+        jpvt[j-1] = -j;
+      }
+      else
+      {
+        jpvt[j-1] = j;
+      }
+
+      if ( swapj )
+      {
+        if ( j != pl )
+        {
+          dswap ( n, a+0+(pl-1)*lda, 1, a+0+(j-1), 1 );
+        }
+        jpvt[j-1] = jpvt[pl-1];
+        jpvt[pl-1] = j;
+        pl = pl + 1;
+      }
+    }
+    pu = p;
+
+    for ( j = p; 1 <= j; j-- )
+    {
+      if ( jpvt[j-1] < 0 )
+      {
+        jpvt[j-1] = -jpvt[j-1];
+
+        if ( j != pu )
+        {
+          dswap ( n, a+0+(pu-1)*lda, 1, a+0+(j-1)*lda, 1 );
+          jp = jpvt[pu-1];
+          jpvt[pu-1] = jpvt[j-1];
+          jpvt[j-1] = jp;
+        }
+        pu = pu - 1;
+      }
+    }
+  }
+/*
+  Compute the norms of the free columns.
+*/
+  for ( j = pl; j <= pu; j++ )
+  {
+    qraux[j-1] = dnrm2 ( n, a+0+(j-1)*lda, 1 );
+  }
+
+  for ( j = pl; j <= pu; j++ )
+  {
+    work[j-1] = qraux[j-1];
+  }
+/*
+  Perform the Householder reduction of A.
+*/
+  lup = i4_min ( n, p );
+
+  for ( l = 1; l <= lup; l++ )
+  {
+/*
+  Bring the column of largest norm into the pivot position.
+*/
+    if ( pl <= l && l < pu )
+    {
+      maxnrm = 0.0;
+      maxj = l;
+      for ( j = l; j <= pu; j++ )
+      {
+        if ( maxnrm < qraux[j-1] )
+        {
+          maxnrm = qraux[j-1];
+          maxj = j;
+        }
+      }
+
+      if ( maxj != l )
+      {
+        dswap ( n, a+0+(l-1)*lda, 1, a+0+(maxj-1)*lda, 1 );
+        qraux[maxj-1] = qraux[l-1];
+        work[maxj-1] = work[l-1];
+        jp = jpvt[maxj-1];
+        jpvt[maxj-1] = jpvt[l-1];
+        jpvt[l-1] = jp;
+      }
+    }
+/*
+  Compute the Householder transformation for column L.
+*/
+    qraux[l-1] = 0.0;
+
+    if ( l != n )
+    {
+      nrmxl = dnrm2 ( n-l+1, a+l-1+(l-1)*lda, 1 );
+
+      if ( nrmxl != 0.0 )
+      {
+        if ( a[l-1+(l-1)*lda] != 0.0 )
+        {
+          nrmxl = nrmxl * r8_sign ( a[l-1+(l-1)*lda] );
+        }
+
+        dscal ( n-l+1, 1.0 / nrmxl, a+l-1+(l-1)*lda, 1 );
+        a[l-1+(l-1)*lda] = 1.0 + a[l-1+(l-1)*lda];
+/*
+  Apply the transformation to the remaining columns, updating the norms.
+*/
+        for ( j = l + 1; j <= p; j++ )
+        {
+          t = -ddot ( n-l+1, a+l-1+(l-1)*lda, 1, a+l-1+(j-1)*lda, 1 ) 
+            / a[l-1+(l-1)*lda];
+          daxpy ( n-l+1, t, a+l-1+(l-1)*lda, 1, a+l-1+(j-1)*lda, 1 );
+
+          if ( pl <= j && j <= pu )
+          {
+            if ( qraux[j-1] != 0.0 )
+            {
+              tt = 1.0 - pow ( r8_abs ( a[l-1+(j-1)*lda] ) / qraux[j-1], 2 );
+              tt = r8_max ( tt, 0.0 );
+              t = tt;
+              tt = 1.0 + 0.05 * tt * pow ( qraux[j-1] / work[j-1], 2 );
+
+              if ( tt != 1.0 )
+              {
+                qraux[j-1] = qraux[j-1] * sqrt ( t );
+              }
+              else
+              {
+                qraux[j-1] = dnrm2 ( n-l, a+l+(j-1)*lda, 1 );
+                work[j-1] = qraux[j-1];
+              }
+            }
+          }
+        }
+/*
+  Save the transformation.
+*/
+        qraux[l-1] = a[l-1+(l-1)*lda];
+        a[l-1+(l-1)*lda] = -nrmxl;
+      }
+    }
+  }
+  return;
+}
+/******************************************************************************/
+
+int dqrls ( double a[], int lda, int m, int n, double tol, int *kr, double b[], 
+  double x[], double rsd[], int jpvt[], double qraux[], int itask )
+
+/******************************************************************************/
+/*
+  Purpose:
+
+    DQRLS factors and solves a linear system in the least squares sense.
+
+  Discussion:
+
+    The linear system may be overdetermined, underdetermined or singular.
+    The solution is obtained using a QR factorization of the
+    coefficient matrix.
+
+    DQRLS can be efficiently used to solve several least squares
+    problems with the same matrix A.  The first system is solved
+    with ITASK = 1.  The subsequent systems are solved with
+    ITASK = 2, to avoid the recomputation of the matrix factors.
+    The parameters KR, JPVT, and QRAUX must not be modified
+    between calls to DQRLS.
+
+    DQRLS is used to solve in a least squares sense
+    overdetermined, underdetermined and singular linear systems.
+    The system is A*X approximates B where A is M by N.
+    B is a given M-vector, and X is the N-vector to be computed.
+    A solution X is found which minimimzes the sum of squares (2-norm)
+    of the residual,  A*X - B.
+
+    The numerical rank of A is determined using the tolerance TOL.
+
+    DQRLS uses the LINPACK subroutine DQRDC to compute the QR
+    factorization, with column pivoting, of an M by N matrix A.
+
+  Licensing:
+
+    This code is distributed under the GNU LGPL license. 
+
+  Modified:
+
+    10 September 2012
+
+  Author:
+
+    C version by John Burkardt.
+
+  Reference:
+
+    David Kahaner, Cleve Moler, Steven Nash,
+    Numerical Methods and Software,
+    Prentice Hall, 1989,
+    ISBN: 0-13-627258-4,
+    LC: TA345.K34.
+
+  Parameters:
+
+    Input/output, double A[LDA*N], an M by N matrix.
+    On input, the matrix whose decomposition is to be computed.
+    In a least squares data fitting problem, A(I,J) is the
+    value of the J-th basis (model) function at the I-th data point.
+    On output, A contains the output from DQRDC.  The triangular matrix R
+    of the QR factorization is contained in the upper triangle and
+    information needed to recover the orthogonal matrix Q is stored
+    below the diagonal in A and in the vector QRAUX.
+
+    Input, int LDA, the leading dimension of A.
+
+    Input, int M, the number of rows of A.
+
+    Input, int N, the number of columns of A.
+
+    Input, double TOL, a relative tolerance used to determine the
+    numerical rank.  The problem should be scaled so that all the elements
+    of A have roughly the same absolute accuracy EPS.  Then a reasonable
+    value for TOL is roughly EPS divided by the magnitude of the largest
+    element.
+
+    Output, int *KR, the numerical rank.
+
+    Input, double B[M], the right hand side of the linear system.
+
+    Output, double X[N], a least squares solution to the linear
+    system.
+
+    Output, double RSD[M], the residual, B - A*X.  RSD may
+    overwrite B.
+
+    Workspace, int JPVT[N], required if ITASK = 1.
+    Columns JPVT(1), ..., JPVT(KR) of the original matrix are linearly
+    independent to within the tolerance TOL and the remaining columns
+    are linearly dependent.  ABS ( A(1,1) ) / ABS ( A(KR,KR) ) is an estimate
+    of the condition number of the matrix of independent columns,
+    and of R.  This estimate will be <= 1/TOL.
+
+    Workspace, double QRAUX[N], required if ITASK = 1.
+
+    Input, int ITASK.
+    1, DQRLS factors the matrix A and solves the least squares problem.
+    2, DQRLS assumes that the matrix A was factored with an earlier
+       call to DQRLS, and only solves the least squares problem.
+
+    Output, int DQRLS, error code.
+    0:  no error
+    -1: LDA < M   (fatal error)
+    -2: N < 1     (fatal error)
+    -3: ITASK < 1 (fatal error)
+*/
+{
+  int ind;
+
+  if ( lda < m )
+  {
+    /*fprintf ( stderr, "\n" );
+    fprintf ( stderr, "DQRLS - Fatal error!\n" );
+    fprintf ( stderr, "  LDA < M.\n" );*/
+    ind = -1;
+    return ind;
+  }
+
+  if ( n <= 0 )
+  {
+    /*fprintf ( stderr, "\n" );
+    fprintf ( stderr, "DQRLS - Fatal error!\n" );
+    fprintf ( stderr, "  N <= 0.\n" );*/
+    ind = -2;
+    return ind;
+  }
+
+  if ( itask < 1 )
+  {
+    /*fprintf ( stderr, "\n" );
+    fprintf ( stderr, "DQRLS - Fatal error!\n" );
+    fprintf ( stderr, "  ITASK < 1.\n" );*/
+    ind = -3;
+    return ind;
+  }
+
+  ind = 0;
+/*
+  Factor the matrix.
+*/
+  if ( itask == 1 )
+  {
+    dqrank ( a, lda, m, n, tol, kr, jpvt, qraux );
+  }
+/*
+  Solve the least-squares problem.
+*/
+  dqrlss ( a, lda, m, n, *kr, b, x, rsd, jpvt, qraux );
+
+  return ind;
+}
+/******************************************************************************/
+
+void dqrlss ( double a[], int lda, int m, int n, int kr, double b[], double x[], 
+  double rsd[], int jpvt[], double qraux[] )
+
+/******************************************************************************/
+/*
+  Purpose:
+
+    DQRLSS solves a linear system in a least squares sense.
+
+  Discussion:
+
+    DQRLSS must be preceded by a call to DQRANK.
+
+    The system is to be solved is
+      A * X = B
+    where
+      A is an M by N matrix with rank KR, as determined by DQRANK,
+      B is a given M-vector,
+      X is the N-vector to be computed.
+
+    A solution X, with at most KR nonzero components, is found which
+    minimizes the 2-norm of the residual (A*X-B).
+
+    Once the matrix A has been formed, DQRANK should be
+    called once to decompose it.  Then, for each right hand
+    side B, DQRLSS should be called once to obtain the
+    solution and residual.
+
+  Licensing:
+
+    This code is distributed under the GNU LGPL license. 
+
+  Modified:
+
+    10 September 2012
+
+  Author:
+
+    C version by John Burkardt
+
+  Parameters:
+
+    Input, double A[LDA*N], the QR factorization information
+    from DQRANK.  The triangular matrix R of the QR factorization is
+    contained in the upper triangle and information needed to recover
+    the orthogonal matrix Q is stored below the diagonal in A and in
+    the vector QRAUX.
+
+    Input, int LDA, the leading dimension of A, which must
+    be at least M.
+
+    Input, int M, the number of rows of A.
+
+    Input, int N, the number of columns of A.
+
+    Input, int KR, the rank of the matrix, as estimated by DQRANK.
+
+    Input, double B[M], the right hand side of the linear system.
+
+    Output, double X[N], a least squares solution to the
+    linear system.
+
+    Output, double RSD[M], the residual, B - A*X.  RSD may
+    overwrite B.
+
+    Input, int JPVT[N], the pivot information from DQRANK.
+    Columns JPVT[0], ..., JPVT[KR-1] of the original matrix are linearly
+    independent to within the tolerance TOL and the remaining columns
+    are linearly dependent.
+
+    Input, double QRAUX[N], auxiliary information from DQRANK
+    defining the QR factorization.
+*/
+{
+  int i;
+  int info;
+  int j;
+  int job;
+  int k;
+  double t;
+
+  if ( kr != 0 )
+  {
+    job = 110;
+    info = dqrsl ( a, lda, m, kr, qraux, b, rsd, rsd, x, rsd, rsd, job );
+  }
+
+  for ( i = 0; i < n; i++ )
+  {
+    jpvt[i] = - jpvt[i];
+  }
+
+  for ( i = kr; i < n; i++ )
+  {
+    x[i] = 0.0;
+  }
+
+  for ( j = 1; j <= n; j++ )
+  {
+    if ( jpvt[j-1] <= 0 )
+    {
+      k = - jpvt[j-1];
+      jpvt[j-1] = k;
+
+      while ( k != j )
+      {
+        t = x[j-1];
+        x[j-1] = x[k-1];
+        x[k-1] = t;
+        jpvt[k-1] = -jpvt[k-1];
+        k = jpvt[k-1];
+      }
+    }
+  }
+  return;
+}
+/******************************************************************************/
+
+int dqrsl ( double a[], int lda, int n, int k, double qraux[], double y[], 
+  double qy[], double qty[], double b[], double rsd[], double ab[], int job )
+
+/******************************************************************************/
+/*
+  Purpose:
+
+    DQRSL computes transformations, projections, and least squares solutions.
+
+  Discussion:
+
+    DQRSL requires the output of DQRDC.
+
+    For K <= min(N,P), let AK be the matrix
+
+      AK = ( A(JPVT[0]), A(JPVT(2)), ..., A(JPVT(K)) )
+
+    formed from columns JPVT[0], ..., JPVT(K) of the original
+    N by P matrix A that was input to DQRDC.  If no pivoting was
+    done, AK consists of the first K columns of A in their
+    original order.  DQRDC produces a factored orthogonal matrix Q
+    and an upper triangular matrix R such that
+
+      AK = Q * (R)
+               (0)
+
+    This information is contained in coded form in the arrays
+    A and QRAUX.
+
+    The parameters QY, QTY, B, RSD, and AB are not referenced
+    if their computation is not requested and in this case
+    can be replaced by dummy variables in the calling program.
+    To save storage, the user may in some cases use the same
+    array for different parameters in the calling sequence.  A
+    frequently occurring example is when one wishes to compute
+    any of B, RSD, or AB and does not need Y or QTY.  In this
+    case one may identify Y, QTY, and one of B, RSD, or AB, while
+    providing separate arrays for anything else that is to be
+    computed.
+
+    Thus the calling sequence
+
+      dqrsl ( a, lda, n, k, qraux, y, dum, y, b, y, dum, 110, info )
+
+    will result in the computation of B and RSD, with RSD
+    overwriting Y.  More generally, each item in the following
+    list contains groups of permissible identifications for
+    a single calling sequence.
+
+      1. (Y,QTY,B) (RSD) (AB) (QY)
+
+      2. (Y,QTY,RSD) (B) (AB) (QY)
+
+      3. (Y,QTY,AB) (B) (RSD) (QY)
+
+      4. (Y,QY) (QTY,B) (RSD) (AB)
+
+      5. (Y,QY) (QTY,RSD) (B) (AB)
+
+      6. (Y,QY) (QTY,AB) (B) (RSD)
+
+    In any group the value returned in the array allocated to
+    the group corresponds to the last member of the group.
+
+  Licensing:
+
+    This code is distributed under the GNU LGPL license. 
+
+  Modified:
+
+    07 June 2005
+
+  Author:
+
+    C version by John Burkardt.
+
+  Reference:
+
+    Jack Dongarra, Cleve Moler, Jim Bunch and Pete Stewart,
+    LINPACK User's Guide,
+    SIAM, (Society for Industrial and Applied Mathematics),
+    3600 University City Science Center,
+    Philadelphia, PA, 19104-2688.
+    ISBN 0-89871-172-X
+
+  Parameters:
+
+    Input, double A[LDA*P], contains the output of DQRDC.
+
+    Input, int LDA, the leading dimension of the array A.
+
+    Input, int N, the number of rows of the matrix AK.  It must
+    have the same value as N in DQRDC.
+
+    Input, int K, the number of columns of the matrix AK.  K
+    must not be greater than min(N,P), where P is the same as in the
+    calling sequence to DQRDC.
+
+    Input, double QRAUX[P], the auxiliary output from DQRDC.
+
+    Input, double Y[N], a vector to be manipulated by DQRSL.
+
+    Output, double QY[N], contains Q * Y, if requested.
+
+    Output, double QTY[N], contains Q' * Y, if requested.
+
+    Output, double B[K], the solution of the least squares problem
+      minimize norm2 ( Y - AK * B),
+    if its computation has been requested.  Note that if pivoting was
+    requested in DQRDC, the J-th component of B will be associated with
+    column JPVT(J) of the original matrix A that was input into DQRDC.
+
+    Output, double RSD[N], the least squares residual Y - AK * B,
+    if its computation has been requested.  RSD is also the orthogonal
+    projection of Y onto the orthogonal complement of the column space
+    of AK.
+
+    Output, double AB[N], the least squares approximation Ak * B,
+    if its computation has been requested.  AB is also the orthogonal
+    projection of Y onto the column space of A.
+
+    Input, integer JOB, specifies what is to be computed.  JOB has
+    the decimal expansion ABCDE, with the following meaning:
+
+      if A != 0, compute QY.
+      if B != 0, compute QTY.
+      if C != 0, compute QTY and B.
+      if D != 0, compute QTY and RSD.
+      if E != 0, compute QTY and AB.
+
+    Note that a request to compute B, RSD, or AB automatically triggers
+    the computation of QTY, for which an array must be provided in the
+    calling sequence.
+
+    Output, int DQRSL, is zero unless the computation of B has
+    been requested and R is exactly singular.  In this case, INFO is the
+    index of the first zero diagonal element of R, and B is left unaltered.
+*/
+{
+  int cab;
+  int cb;
+  int cqty;
+  int cqy;
+  int cr;
+  int i;
+  int info;
+  int j;
+  int jj;
+  int ju;
+  double t;
+  double temp;
+/*
+  Set INFO flag.
+*/
+  info = 0;
+/*
+  Determine what is to be computed.
+*/
+  cqy =  (   job / 10000          != 0 );
+  cqty = ( ( job %  10000 )       != 0 );
+  cb =   ( ( job %   1000 ) / 100 != 0 );
+  cr =   ( ( job %    100 ) /  10 != 0 );
+  cab =  ( ( job %     10 )       != 0 );
+
+  ju = i4_min ( k, n-1 );
+/*
+  Special action when N = 1.
+*/
+  if ( ju == 0 )
+  {
+    if ( cqy )
+    {
+      qy[0] = y[0];
+    }
+
+    if ( cqty )
+    {
+      qty[0] = y[0];
+    }
+
+    if ( cab )
+    {
+      ab[0] = y[0];
+    }
+
+    if ( cb )
+    {
+      if ( a[0+0*lda] == 0.0 )
+      {
+        info = 1;
+      }
+      else
+      {
+        b[0] = y[0] / a[0+0*lda];
+      }
+    }
+
+    if ( cr )
+    {
+      rsd[0] = 0.0;
+    }
+    return info;
+  }
+/*
+  Set up to compute QY or QTY.
+*/
+  if ( cqy )
+  {
+    for ( i = 1; i <= n; i++ )
+    {
+      qy[i-1] = y[i-1];
+    }
+  }
+
+  if ( cqty )
+  {
+    for ( i = 1; i <= n; i++ )
+    {
+      qty[i-1] = y[i-1];
+    }
+  }
+/*
+  Compute QY.
+*/
+  if ( cqy )
+  {
+    for ( jj = 1; jj <= ju; jj++ )
+    {
+      j = ju - jj + 1;
+
+      if ( qraux[j-1] != 0.0 )
+      {
+        temp = a[j-1+(j-1)*lda];
+        a[j-1+(j-1)*lda] = qraux[j-1];
+        t = -ddot ( n-j+1, a+j-1+(j-1)*lda, 1, qy+j-1, 1 ) / a[j-1+(j-1)*lda];
+        daxpy ( n-j+1, t, a+j-1+(j-1)*lda, 1, qy+j-1, 1 );
+        a[j-1+(j-1)*lda] = temp;
+      }
+    }
+  }
+/*
+  Compute Q'*Y.
+*/
+  if ( cqty )
+  {
+    for ( j = 1; j <= ju; j++ )
+    {
+      if ( qraux[j-1] != 0.0 )
+      {
+        temp = a[j-1+(j-1)*lda];
+        a[j-1+(j-1)*lda] = qraux[j-1];
+        t = -ddot ( n-j+1, a+j-1+(j-1)*lda, 1, qty+j-1, 1 ) / a[j-1+(j-1)*lda];
+        daxpy ( n-j+1, t, a+j-1+(j-1)*lda, 1, qty+j-1, 1 );
+        a[j-1+(j-1)*lda] = temp;
+      }
+    }
+  }
+/*
+  Set up to compute B, RSD, or AB.
+*/
+  if ( cb )
+  {
+    for ( i = 1; i <= k; i++ )
+    {
+      b[i-1] = qty[i-1];
+    }
+  }
+
+  if ( cab )
+  {
+    for ( i = 1; i <= k; i++ )
+    {
+      ab[i-1] = qty[i-1];
+    }
+  }
+
+  if ( cr && k < n )
+  {
+    for ( i = k+1; i <= n; i++ )
+    {
+      rsd[i-1] = qty[i-1];
+    }
+  }
+
+  if ( cab && k+1 <= n )
+  {
+    for ( i = k+1; i <= n; i++ )
+    {
+      ab[i-1] = 0.0;
+    }
+  }
+
+  if ( cr )
+  {
+    for ( i = 1; i <= k; i++ )
+    {
+      rsd[i-1] = 0.0;
+    }
+  }
+/*
+  Compute B.
+*/
+  if ( cb )
+  {
+    for ( jj = 1; jj <= k; jj++ )
+    {
+      j = k - jj + 1;
+
+      if ( a[j-1+(j-1)*lda] == 0.0 )
+      {
+        info = j;
+        break;
+      }
+
+      b[j-1] = b[j-1] / a[j-1+(j-1)*lda];
+
+      if ( j != 1 )
+      {
+        t = -b[j-1];
+        daxpy ( j-1, t, a+0+(j-1)*lda, 1, b, 1 );
+      }
+    }
+  }
+/*
+  Compute RSD or AB as required.
+*/
+  if ( cr || cab )
+  {
+    for ( jj = 1; jj <= ju; jj++ )
+    {
+      j = ju - jj + 1;
+
+      if ( qraux[j-1] != 0.0 )
+      {
+        temp = a[j-1+(j-1)*lda];
+        a[j-1+(j-1)*lda] = qraux[j-1];
+
+        if ( cr )
+        {
+          t = -ddot ( n-j+1, a+j-1+(j-1)*lda, 1, rsd+j-1, 1 ) 
+            / a[j-1+(j-1)*lda];
+          daxpy ( n-j+1, t, a+j-1+(j-1)*lda, 1, rsd+j-1, 1 );
+        }
+
+        if ( cab )
+        {
+          t = -ddot ( n-j+1, a+j-1+(j-1)*lda, 1, ab+j-1, 1 ) 
+            / a[j-1+(j-1)*lda];
+          daxpy ( n-j+1, t, a+j-1+(j-1)*lda, 1, ab+j-1, 1 );
+        }
+        a[j-1+(j-1)*lda] = temp;
+      }
+    }
+  }
+
+  return info;
+}
+/******************************************************************************/
+
+/******************************************************************************/
+
+void dscal ( int n, double sa, double x[], int incx )
+
+/******************************************************************************/
+/*
+  Purpose:
+
+    DSCAL scales a vector by a constant.
+
+  Licensing:
+
+    This code is distributed under the GNU LGPL license. 
+
+  Modified:
+
+    30 March 2007
+
+  Author:
+
+    C version by John Burkardt
+
+  Reference:
+
+    Jack Dongarra, Cleve Moler, Jim Bunch, Pete Stewart,
+    LINPACK User's Guide,
+    SIAM, 1979.
+
+    Charles Lawson, Richard Hanson, David Kincaid, Fred Krogh,
+    Basic Linear Algebra Subprograms for Fortran Usage,
+    Algorithm 539,
+    ACM Transactions on Mathematical Software,
+    Volume 5, Number 3, September 1979, pages 308-323.
+
+  Parameters:
+
+    Input, int N, the number of entries in the vector.
+
+    Input, double SA, the multiplier.
+
+    Input/output, double X[*], the vector to be scaled.
+
+    Input, int INCX, the increment between successive entries of X.
+*/
+{
+  int i;
+  int ix;
+  int m;
+
+  if ( n <= 0 )
+  {
+  }
+  else if ( incx == 1 )
+  {
+    m = n % 5;
+
+    for ( i = 0; i < m; i++ )
+    {
+      x[i] = sa * x[i];
+    }
+
+    for ( i = m; i < n; i = i + 5 )
+    {
+      x[i]   = sa * x[i];
+      x[i+1] = sa * x[i+1];
+      x[i+2] = sa * x[i+2];
+      x[i+3] = sa * x[i+3];
+      x[i+4] = sa * x[i+4];
+    }
+  }
+  else
+  {
+    if ( 0 <= incx )
+    {
+      ix = 0;
+    }
+    else
+    {
+      ix = ( - n + 1 ) * incx;
+    }
+
+    for ( i = 0; i < n; i++ )
+    {
+      x[ix] = sa * x[ix];
+      ix = ix + incx;
+    }
+  }
+  return;
+}
+/******************************************************************************/
+
+
+void dswap ( int n, double x[], int incx, double y[], int incy )
+
+/******************************************************************************/
+/*
+  Purpose:
+
+    DSWAP interchanges two vectors.
+
+  Licensing:
+
+    This code is distributed under the GNU LGPL license. 
+
+  Modified:
+
+    30 March 2007
+
+  Author:
+
+    C version by John Burkardt
+
+  Reference:
+
+    Jack Dongarra, Cleve Moler, Jim Bunch, Pete Stewart,
+    LINPACK User's Guide,
+    SIAM, 1979.
+
+    Charles Lawson, Richard Hanson, David Kincaid, Fred Krogh,
+    Basic Linear Algebra Subprograms for Fortran Usage,
+    Algorithm 539, 
+    ACM Transactions on Mathematical Software, 
+    Volume 5, Number 3, September 1979, pages 308-323.
+
+  Parameters:
+
+    Input, int N, the number of entries in the vectors.
+
+    Input/output, double X[*], one of the vectors to swap.
+
+    Input, int INCX, the increment between successive entries of X.
+
+    Input/output, double Y[*], one of the vectors to swap.
+
+    Input, int INCY, the increment between successive elements of Y.
+*/
+{
+  int i;
+  int ix;
+  int iy;
+  int m;
+  double temp;
+
+  if ( n <= 0 )
+  {
+  }
+  else if ( incx == 1 && incy == 1 )
+  {
+    m = n % 3;
+
+    for ( i = 0; i < m; i++ )
+    {
+      temp = x[i];
+      x[i] = y[i];
+      y[i] = temp;
+    }
+
+    for ( i = m; i < n; i = i + 3 )
+    {
+      temp = x[i];
+      x[i] = y[i];
+      y[i] = temp;
+
+      temp = x[i+1];
+      x[i+1] = y[i+1];
+      y[i+1] = temp;
+
+      temp = x[i+2];
+      x[i+2] = y[i+2];
+      y[i+2] = temp;
+    }
+  }
+  else
+  {
+    if ( 0 <= incx )
+    {
+      ix = 0;
+    }
+    else
+    {
+      ix = ( - n + 1 ) * incx;
+    }
+
+    if ( 0 <= incy )
+    {
+      iy = 0;
+    }
+    else
+    {
+      iy = ( - n + 1 ) * incy;
+    }
+
+    for ( i = 0; i < n; i++ )
+    {
+      temp = x[ix];
+      x[ix] = y[iy];
+      y[iy] = temp;
+      ix = ix + incx;
+      iy = iy + incy;
+    }
+
+  }
+
+  return;
+}
+/******************************************************************************/
+
+/******************************************************************************/
+
+double *qr_solve ( int m, int n, double a[], double b[] )
+
+/******************************************************************************/
+/*
+  Purpose:
+
+    QR_SOLVE solves a linear system in the least squares sense.
+
+  Discussion:
+
+    If the matrix A has full column rank, then the solution X should be the
+    unique vector that minimizes the Euclidean norm of the residual.
+
+    If the matrix A does not have full column rank, then the solution is
+    not unique; the vector X will minimize the residual norm, but so will
+    various other vectors.
+
+  Licensing:
+
+    This code is distributed under the GNU LGPL license.
+
+  Modified:
+
+    11 September 2012
+
+  Author:
+
+    John Burkardt
+
+  Reference:
+
+    David Kahaner, Cleve Moler, Steven Nash,
+    Numerical Methods and Software,
+    Prentice Hall, 1989,
+    ISBN: 0-13-627258-4,
+    LC: TA345.K34.
+
+  Parameters:
+
+    Input, int M, the number of rows of A.
+
+    Input, int N, the number of columns of A.
+
+    Input, double A[M*N], the matrix.
+
+    Input, double B[M], the right hand side.
+
+    Output, double QR_SOLVE[N], the least squares solution.
+*/
+{
+  double *a_qr;
+  int ind;
+  int itask;
+  int *jpvt;
+  int kr;
+  int lda;
+  double *qraux;
+  double *r;
+  double tol;
+  double *x;
+
+  a_qr = r8mat_copy_new ( m, n, a );
+  lda = m;
+  tol = r8_epsilon ( ) / r8mat_amax ( m, n, a_qr );
+  x = ( double * ) malloc ( n * sizeof ( double ) );
+  jpvt = ( int * ) malloc ( n * sizeof ( int ) );
+  qraux = ( double * ) malloc ( n * sizeof ( double ) );
+  r = ( double * ) malloc ( m * sizeof ( double ) );
+  itask = 1;
+
+  ind = dqrls ( a_qr, lda, m, n, tol, &kr, b, x, r, jpvt, qraux, itask );
+
+  free ( a_qr );
+  free ( jpvt );
+  free ( qraux ); 
+  free ( r );
+
+  return x;
+}
+/******************************************************************************/
+
+#endif

+ 22 - 0
qr_solve.h

@@ -0,0 +1,22 @@
+#include "Configuration.h"
+
+#ifdef AUTO_BED_LEVELING_GRID
+
+void daxpy ( int n, double da, double dx[], int incx, double dy[], int incy );
+double ddot ( int n, double dx[], int incx, double dy[], int incy );
+double dnrm2 ( int n, double x[], int incx );
+void dqrank ( double a[], int lda, int m, int n, double tol, int *kr, 
+  int jpvt[], double qraux[] );
+void dqrdc ( double a[], int lda, int n, int p, double qraux[], int jpvt[], 
+  double work[], int job );
+int dqrls ( double a[], int lda, int m, int n, double tol, int *kr, double b[], 
+  double x[], double rsd[], int jpvt[], double qraux[], int itask );
+void dqrlss ( double a[], int lda, int m, int n, int kr, double b[], double x[], 
+  double rsd[], int jpvt[], double qraux[] );
+int dqrsl ( double a[], int lda, int n, int k, double qraux[], double y[], 
+  double qy[], double qty[], double b[], double rsd[], double ab[], int job );
+void dscal ( int n, double sa, double x[], int incx );
+void dswap ( int n, double x[], int incx, double y[], int incy );
+double *qr_solve ( int m, int n, double a[], double b[] );
+
+#endif

+ 152 - 0
speed_lookuptable.h

@@ -0,0 +1,152 @@
+#ifndef SPEED_LOOKUPTABLE_H
+#define SPEED_LOOKUPTABLE_H
+
+#include "Marlin.h"
+
+#if F_CPU == 16000000
+
+const uint16_t speed_lookuptable_fast[256][2] PROGMEM = {\
+{ 62500, 55556}, { 6944, 3268}, { 3676, 1176}, { 2500, 607}, { 1893, 369}, { 1524, 249}, { 1275, 179}, { 1096, 135}, 
+{ 961, 105}, { 856, 85}, { 771, 69}, { 702, 58}, { 644, 49}, { 595, 42}, { 553, 37}, { 516, 32}, 
+{ 484, 28}, { 456, 25}, { 431, 23}, { 408, 20}, { 388, 19}, { 369, 16}, { 353, 16}, { 337, 14}, 
+{ 323, 13}, { 310, 11}, { 299, 11}, { 288, 11}, { 277, 9}, { 268, 9}, { 259, 8}, { 251, 8}, 
+{ 243, 8}, { 235, 7}, { 228, 6}, { 222, 6}, { 216, 6}, { 210, 6}, { 204, 5}, { 199, 5}, 
+{ 194, 5}, { 189, 4}, { 185, 4}, { 181, 4}, { 177, 4}, { 173, 4}, { 169, 4}, { 165, 3}, 
+{ 162, 3}, { 159, 4}, { 155, 3}, { 152, 3}, { 149, 2}, { 147, 3}, { 144, 3}, { 141, 2}, 
+{ 139, 3}, { 136, 2}, { 134, 2}, { 132, 3}, { 129, 2}, { 127, 2}, { 125, 2}, { 123, 2}, 
+{ 121, 2}, { 119, 1}, { 118, 2}, { 116, 2}, { 114, 1}, { 113, 2}, { 111, 2}, { 109, 1}, 
+{ 108, 2}, { 106, 1}, { 105, 2}, { 103, 1}, { 102, 1}, { 101, 1}, { 100, 2}, { 98, 1}, 
+{ 97, 1}, { 96, 1}, { 95, 2}, { 93, 1}, { 92, 1}, { 91, 1}, { 90, 1}, { 89, 1}, 
+{ 88, 1}, { 87, 1}, { 86, 1}, { 85, 1}, { 84, 1}, { 83, 0}, { 83, 1}, { 82, 1}, 
+{ 81, 1}, { 80, 1}, { 79, 1}, { 78, 0}, { 78, 1}, { 77, 1}, { 76, 1}, { 75, 0}, 
+{ 75, 1}, { 74, 1}, { 73, 1}, { 72, 0}, { 72, 1}, { 71, 1}, { 70, 0}, { 70, 1}, 
+{ 69, 0}, { 69, 1}, { 68, 1}, { 67, 0}, { 67, 1}, { 66, 0}, { 66, 1}, { 65, 0}, 
+{ 65, 1}, { 64, 1}, { 63, 0}, { 63, 1}, { 62, 0}, { 62, 1}, { 61, 0}, { 61, 1}, 
+{ 60, 0}, { 60, 0}, { 60, 1}, { 59, 0}, { 59, 1}, { 58, 0}, { 58, 1}, { 57, 0}, 
+{ 57, 1}, { 56, 0}, { 56, 0}, { 56, 1}, { 55, 0}, { 55, 1}, { 54, 0}, { 54, 0}, 
+{ 54, 1}, { 53, 0}, { 53, 0}, { 53, 1}, { 52, 0}, { 52, 0}, { 52, 1}, { 51, 0}, 
+{ 51, 0}, { 51, 1}, { 50, 0}, { 50, 0}, { 50, 1}, { 49, 0}, { 49, 0}, { 49, 1}, 
+{ 48, 0}, { 48, 0}, { 48, 1}, { 47, 0}, { 47, 0}, { 47, 0}, { 47, 1}, { 46, 0}, 
+{ 46, 0}, { 46, 1}, { 45, 0}, { 45, 0}, { 45, 0}, { 45, 1}, { 44, 0}, { 44, 0}, 
+{ 44, 0}, { 44, 1}, { 43, 0}, { 43, 0}, { 43, 0}, { 43, 1}, { 42, 0}, { 42, 0}, 
+{ 42, 0}, { 42, 1}, { 41, 0}, { 41, 0}, { 41, 0}, { 41, 0}, { 41, 1}, { 40, 0}, 
+{ 40, 0}, { 40, 0}, { 40, 0}, { 40, 1}, { 39, 0}, { 39, 0}, { 39, 0}, { 39, 0}, 
+{ 39, 1}, { 38, 0}, { 38, 0}, { 38, 0}, { 38, 0}, { 38, 1}, { 37, 0}, { 37, 0}, 
+{ 37, 0}, { 37, 0}, { 37, 0}, { 37, 1}, { 36, 0}, { 36, 0}, { 36, 0}, { 36, 0}, 
+{ 36, 1}, { 35, 0}, { 35, 0}, { 35, 0}, { 35, 0}, { 35, 0}, { 35, 0}, { 35, 1}, 
+{ 34, 0}, { 34, 0}, { 34, 0}, { 34, 0}, { 34, 0}, { 34, 1}, { 33, 0}, { 33, 0}, 
+{ 33, 0}, { 33, 0}, { 33, 0}, { 33, 0}, { 33, 1}, { 32, 0}, { 32, 0}, { 32, 0}, 
+{ 32, 0}, { 32, 0}, { 32, 0}, { 32, 0}, { 32, 1}, { 31, 0}, { 31, 0}, { 31, 0}, 
+{ 31, 0}, { 31, 0}, { 31, 0}, { 31, 1}, { 30, 0}, { 30, 0}, { 30, 0}, { 30, 0}
+};
+
+const uint16_t speed_lookuptable_slow[256][2] PROGMEM = {\
+{ 62500, 12500}, { 50000, 8334}, { 41666, 5952}, { 35714, 4464}, { 31250, 3473}, { 27777, 2777}, { 25000, 2273}, { 22727, 1894}, 
+{ 20833, 1603}, { 19230, 1373}, { 17857, 1191}, { 16666, 1041}, { 15625, 920}, { 14705, 817}, { 13888, 731}, { 13157, 657}, 
+{ 12500, 596}, { 11904, 541}, { 11363, 494}, { 10869, 453}, { 10416, 416}, { 10000, 385}, { 9615, 356}, { 9259, 331}, 
+{ 8928, 308}, { 8620, 287}, { 8333, 269}, { 8064, 252}, { 7812, 237}, { 7575, 223}, { 7352, 210}, { 7142, 198}, 
+{ 6944, 188}, { 6756, 178}, { 6578, 168}, { 6410, 160}, { 6250, 153}, { 6097, 145}, { 5952, 139}, { 5813, 132}, 
+{ 5681, 126}, { 5555, 121}, { 5434, 115}, { 5319, 111}, { 5208, 106}, { 5102, 102}, { 5000, 99}, { 4901, 94}, 
+{ 4807, 91}, { 4716, 87}, { 4629, 84}, { 4545, 81}, { 4464, 79}, { 4385, 75}, { 4310, 73}, { 4237, 71}, 
+{ 4166, 68}, { 4098, 66}, { 4032, 64}, { 3968, 62}, { 3906, 60}, { 3846, 59}, { 3787, 56}, { 3731, 55}, 
+{ 3676, 53}, { 3623, 52}, { 3571, 50}, { 3521, 49}, { 3472, 48}, { 3424, 46}, { 3378, 45}, { 3333, 44}, 
+{ 3289, 43}, { 3246, 41}, { 3205, 41}, { 3164, 39}, { 3125, 39}, { 3086, 38}, { 3048, 36}, { 3012, 36}, 
+{ 2976, 35}, { 2941, 35}, { 2906, 33}, { 2873, 33}, { 2840, 32}, { 2808, 31}, { 2777, 30}, { 2747, 30}, 
+{ 2717, 29}, { 2688, 29}, { 2659, 28}, { 2631, 27}, { 2604, 27}, { 2577, 26}, { 2551, 26}, { 2525, 25}, 
+{ 2500, 25}, { 2475, 25}, { 2450, 23}, { 2427, 24}, { 2403, 23}, { 2380, 22}, { 2358, 22}, { 2336, 22}, 
+{ 2314, 21}, { 2293, 21}, { 2272, 20}, { 2252, 20}, { 2232, 20}, { 2212, 20}, { 2192, 19}, { 2173, 18}, 
+{ 2155, 19}, { 2136, 18}, { 2118, 18}, { 2100, 17}, { 2083, 17}, { 2066, 17}, { 2049, 17}, { 2032, 16}, 
+{ 2016, 16}, { 2000, 16}, { 1984, 16}, { 1968, 15}, { 1953, 16}, { 1937, 14}, { 1923, 15}, { 1908, 15}, 
+{ 1893, 14}, { 1879, 14}, { 1865, 14}, { 1851, 13}, { 1838, 14}, { 1824, 13}, { 1811, 13}, { 1798, 13}, 
+{ 1785, 12}, { 1773, 13}, { 1760, 12}, { 1748, 12}, { 1736, 12}, { 1724, 12}, { 1712, 12}, { 1700, 11}, 
+{ 1689, 12}, { 1677, 11}, { 1666, 11}, { 1655, 11}, { 1644, 11}, { 1633, 10}, { 1623, 11}, { 1612, 10}, 
+{ 1602, 10}, { 1592, 10}, { 1582, 10}, { 1572, 10}, { 1562, 10}, { 1552, 9}, { 1543, 10}, { 1533, 9}, 
+{ 1524, 9}, { 1515, 9}, { 1506, 9}, { 1497, 9}, { 1488, 9}, { 1479, 9}, { 1470, 9}, { 1461, 8}, 
+{ 1453, 8}, { 1445, 9}, { 1436, 8}, { 1428, 8}, { 1420, 8}, { 1412, 8}, { 1404, 8}, { 1396, 8}, 
+{ 1388, 7}, { 1381, 8}, { 1373, 7}, { 1366, 8}, { 1358, 7}, { 1351, 7}, { 1344, 8}, { 1336, 7}, 
+{ 1329, 7}, { 1322, 7}, { 1315, 7}, { 1308, 6}, { 1302, 7}, { 1295, 7}, { 1288, 6}, { 1282, 7}, 
+{ 1275, 6}, { 1269, 7}, { 1262, 6}, { 1256, 6}, { 1250, 7}, { 1243, 6}, { 1237, 6}, { 1231, 6}, 
+{ 1225, 6}, { 1219, 6}, { 1213, 6}, { 1207, 6}, { 1201, 5}, { 1196, 6}, { 1190, 6}, { 1184, 5}, 
+{ 1179, 6}, { 1173, 5}, { 1168, 6}, { 1162, 5}, { 1157, 5}, { 1152, 6}, { 1146, 5}, { 1141, 5}, 
+{ 1136, 5}, { 1131, 5}, { 1126, 5}, { 1121, 5}, { 1116, 5}, { 1111, 5}, { 1106, 5}, { 1101, 5}, 
+{ 1096, 5}, { 1091, 5}, { 1086, 4}, { 1082, 5}, { 1077, 5}, { 1072, 4}, { 1068, 5}, { 1063, 4}, 
+{ 1059, 5}, { 1054, 4}, { 1050, 4}, { 1046, 5}, { 1041, 4}, { 1037, 4}, { 1033, 5}, { 1028, 4}, 
+{ 1024, 4}, { 1020, 4}, { 1016, 4}, { 1012, 4}, { 1008, 4}, { 1004, 4}, { 1000, 4}, { 996, 4}, 
+{ 992, 4}, { 988, 4}, { 984, 4}, { 980, 4}, { 976, 4}, { 972, 4}, { 968, 3}, { 965, 3}
+};
+
+#elif F_CPU == 20000000
+
+const uint16_t speed_lookuptable_fast[256][2] PROGMEM = {
+   {62500, 54055}, {8445, 3917}, {4528, 1434}, {3094, 745}, {2349, 456}, {1893, 307}, {1586, 222}, {1364, 167},
+   {1197, 131}, {1066, 105}, {961, 86}, {875, 72}, {803, 61}, {742, 53}, {689, 45}, {644, 40},
+   {604, 35}, {569, 32}, {537, 28}, {509, 25}, {484, 23}, {461, 21}, {440, 19}, {421, 17},
+   {404, 16}, {388, 15}, {373, 14}, {359, 13}, {346, 12}, {334, 11}, {323, 10}, {313, 10},
+   {303, 9}, {294, 9}, {285, 8}, {277, 7}, {270, 8}, {262, 7}, {255, 6}, {249, 6},
+   {243, 6}, {237, 6}, {231, 5}, {226, 5}, {221, 5}, {216, 5}, {211, 4}, {207, 5},
+   {202, 4}, {198, 4}, {194, 4}, {190, 3}, {187, 4}, {183, 3}, {180, 3}, {177, 4},
+   {173, 3}, {170, 3}, {167, 2}, {165, 3}, {162, 3}, {159, 2}, {157, 3}, {154, 2},
+   {152, 3}, {149, 2}, {147, 2}, {145, 2}, {143, 2}, {141, 2}, {139, 2}, {137, 2},
+   {135, 2}, {133, 2}, {131, 2}, {129, 1}, {128, 2}, {126, 2}, {124, 1}, {123, 2},
+   {121, 1}, {120, 2}, {118, 1}, {117, 1}, {116, 2}, {114, 1}, {113, 1}, {112, 2},
+   {110, 1}, {109, 1}, {108, 1}, {107, 2}, {105, 1}, {104, 1}, {103, 1}, {102, 1},
+   {101, 1}, {100, 1}, {99, 1}, {98, 1}, {97, 1}, {96, 1}, {95, 1}, {94, 1},
+   {93, 1}, {92, 1}, {91, 0}, {91, 1}, {90, 1}, {89, 1}, {88, 1}, {87, 0},
+   {87, 1}, {86, 1}, {85, 1}, {84, 0}, {84, 1}, {83, 1}, {82, 1}, {81, 0},
+   {81, 1}, {80, 1}, {79, 0}, {79, 1}, {78, 0}, {78, 1}, {77, 1}, {76, 0},
+   {76, 1}, {75, 0}, {75, 1}, {74, 1}, {73, 0}, {73, 1}, {72, 0}, {72, 1},
+   {71, 0}, {71, 1}, {70, 0}, {70, 1}, {69, 0}, {69, 1}, {68, 0}, {68, 1},
+   {67, 0}, {67, 1}, {66, 0}, {66, 1}, {65, 0}, {65, 0}, {65, 1}, {64, 0},
+   {64, 1}, {63, 0}, {63, 1}, {62, 0}, {62, 0}, {62, 1}, {61, 0}, {61, 1},
+   {60, 0}, {60, 0}, {60, 1}, {59, 0}, {59, 0}, {59, 1}, {58, 0}, {58, 0},
+   {58, 1}, {57, 0}, {57, 0}, {57, 1}, {56, 0}, {56, 0}, {56, 1}, {55, 0},
+   {55, 0}, {55, 1}, {54, 0}, {54, 0}, {54, 1}, {53, 0}, {53, 0}, {53, 0},
+   {53, 1}, {52, 0}, {52, 0}, {52, 1}, {51, 0}, {51, 0}, {51, 0}, {51, 1},
+   {50, 0}, {50, 0}, {50, 0}, {50, 1}, {49, 0}, {49, 0}, {49, 0}, {49, 1},
+   {48, 0}, {48, 0}, {48, 0}, {48, 1}, {47, 0}, {47, 0}, {47, 0}, {47, 1},
+   {46, 0}, {46, 0}, {46, 0}, {46, 0}, {46, 1}, {45, 0}, {45, 0}, {45, 0},
+   {45, 1}, {44, 0}, {44, 0}, {44, 0}, {44, 0}, {44, 1}, {43, 0}, {43, 0},
+   {43, 0}, {43, 0}, {43, 1}, {42, 0}, {42, 0}, {42, 0}, {42, 0}, {42, 0},
+   {42, 1}, {41, 0}, {41, 0}, {41, 0}, {41, 0}, {41, 0}, {41, 1}, {40, 0},
+   {40, 0}, {40, 0}, {40, 0}, {40, 1}, {39, 0}, {39, 0}, {39, 0}, {39, 0},
+   {39, 0}, {39, 0}, {39, 1}, {38, 0}, {38, 0}, {38, 0}, {38, 0}, {38, 0},
+};
+
+const uint16_t speed_lookuptable_slow[256][2] PROGMEM = {
+   {62500, 10417}, {52083, 7441}, {44642, 5580}, {39062, 4340}, {34722, 3472}, {31250, 2841}, {28409, 2368}, {26041, 2003},
+   {24038, 1717}, {22321, 1488}, {20833, 1302}, {19531, 1149}, {18382, 1021}, {17361, 914}, {16447, 822}, {15625, 745},
+   {14880, 676}, {14204, 618}, {13586, 566}, {13020, 520}, {12500, 481}, {12019, 445}, {11574, 414}, {11160, 385},
+   {10775, 359}, {10416, 336}, {10080, 315}, {9765, 296}, {9469, 278}, {9191, 263}, {8928, 248}, {8680, 235},
+   {8445, 222}, {8223, 211}, {8012, 200}, {7812, 191}, {7621, 181}, {7440, 173}, {7267, 165}, {7102, 158},
+   {6944, 151}, {6793, 145}, {6648, 138}, {6510, 133}, {6377, 127}, {6250, 123}, {6127, 118}, {6009, 113},
+   {5896, 109}, {5787, 106}, {5681, 101}, {5580, 98}, {5482, 95}, {5387, 91}, {5296, 88}, {5208, 86},
+   {5122, 82}, {5040, 80}, {4960, 78}, {4882, 75}, {4807, 73}, {4734, 70}, {4664, 69}, {4595, 67},
+   {4528, 64}, {4464, 63}, {4401, 61}, {4340, 60}, {4280, 58}, {4222, 56}, {4166, 55}, {4111, 53},
+   {4058, 52}, {4006, 51}, {3955, 49}, {3906, 48}, {3858, 48}, {3810, 45}, {3765, 45}, {3720, 44},
+   {3676, 43}, {3633, 42}, {3591, 40}, {3551, 40}, {3511, 39}, {3472, 38}, {3434, 38}, {3396, 36},
+   {3360, 36}, {3324, 35}, {3289, 34}, {3255, 34}, {3221, 33}, {3188, 32}, {3156, 31}, {3125, 31},
+   {3094, 31}, {3063, 30}, {3033, 29}, {3004, 28}, {2976, 28}, {2948, 28}, {2920, 27}, {2893, 27},
+   {2866, 26}, {2840, 25}, {2815, 25}, {2790, 25}, {2765, 24}, {2741, 24}, {2717, 24}, {2693, 23},
+   {2670, 22}, {2648, 22}, {2626, 22}, {2604, 22}, {2582, 21}, {2561, 21}, {2540, 20}, {2520, 20},
+   {2500, 20}, {2480, 20}, {2460, 19}, {2441, 19}, {2422, 19}, {2403, 18}, {2385, 18}, {2367, 18},
+   {2349, 17}, {2332, 18}, {2314, 17}, {2297, 16}, {2281, 17}, {2264, 16}, {2248, 16}, {2232, 16},
+   {2216, 16}, {2200, 15}, {2185, 15}, {2170, 15}, {2155, 15}, {2140, 15}, {2125, 14}, {2111, 14},
+   {2097, 14}, {2083, 14}, {2069, 14}, {2055, 13}, {2042, 13}, {2029, 13}, {2016, 13}, {2003, 13},
+   {1990, 13}, {1977, 12}, {1965, 12}, {1953, 13}, {1940, 11}, {1929, 12}, {1917, 12}, {1905, 12},
+   {1893, 11}, {1882, 11}, {1871, 11}, {1860, 11}, {1849, 11}, {1838, 11}, {1827, 11}, {1816, 10},
+   {1806, 11}, {1795, 10}, {1785, 10}, {1775, 10}, {1765, 10}, {1755, 10}, {1745, 9}, {1736, 10},
+   {1726, 9}, {1717, 10}, {1707, 9}, {1698, 9}, {1689, 9}, {1680, 9}, {1671, 9}, {1662, 9},
+   {1653, 9}, {1644, 8}, {1636, 9}, {1627, 8}, {1619, 9}, {1610, 8}, {1602, 8}, {1594, 8},
+   {1586, 8}, {1578, 8}, {1570, 8}, {1562, 8}, {1554, 7}, {1547, 8}, {1539, 8}, {1531, 7},
+   {1524, 8}, {1516, 7}, {1509, 7}, {1502, 7}, {1495, 7}, {1488, 7}, {1481, 7}, {1474, 7},
+   {1467, 7}, {1460, 7}, {1453, 7}, {1446, 6}, {1440, 7}, {1433, 7}, {1426, 6}, {1420, 6},
+   {1414, 7}, {1407, 6}, {1401, 6}, {1395, 7}, {1388, 6}, {1382, 6}, {1376, 6}, {1370, 6},
+   {1364, 6}, {1358, 6}, {1352, 6}, {1346, 5}, {1341, 6}, {1335, 6}, {1329, 5}, {1324, 6},
+   {1318, 5}, {1313, 6}, {1307, 5}, {1302, 6}, {1296, 5}, {1291, 5}, {1286, 6}, {1280, 5},
+   {1275, 5}, {1270, 5}, {1265, 5}, {1260, 5}, {1255, 5}, {1250, 5}, {1245, 5}, {1240, 5},
+   {1235, 5}, {1230, 5}, {1225, 5}, {1220, 5}, {1215, 4}, {1211, 5}, {1206, 5}, {1201, 5},
+};
+
+#endif
+
+#endif

+ 1361 - 0
stepper.cpp

@@ -0,0 +1,1361 @@
+/*
+  stepper.c - stepper motor driver: executes motion plans using stepper motors
+  Part of Grbl
+
+  Copyright (c) 2009-2011 Simen Svale Skogsrud
+
+  Grbl is free software: you can redistribute it and/or modify
+  it under the terms of the GNU General Public License as published by
+  the Free Software Foundation, either version 3 of the License, or
+  (at your option) any later version.
+
+  Grbl is distributed in the hope that it will be useful,
+  but WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+  GNU General Public License for more details.
+
+  You should have received a copy of the GNU General Public License
+  along with Grbl.  If not, see <http://www.gnu.org/licenses/>.
+*/
+
+/* The timer calculations of this module informed by the 'RepRap cartesian firmware' by Zack Smith
+   and Philipp Tiefenbacher. */
+
+#include "Marlin.h"
+#include "stepper.h"
+#include "planner.h"
+#include "temperature.h"
+#include "ultralcd.h"
+#include "language.h"
+#include "cardreader.h"
+#include "speed_lookuptable.h"
+#if defined(DIGIPOTSS_PIN) && DIGIPOTSS_PIN > -1
+#include <SPI.h>
+#endif
+
+
+//===========================================================================
+//=============================public variables  ============================
+//===========================================================================
+block_t *current_block;  // A pointer to the block currently being traced
+
+
+//===========================================================================
+//=============================private variables ============================
+//===========================================================================
+//static makes it inpossible to be called from outside of this file by extern.!
+
+// Variables used by The Stepper Driver Interrupt
+static unsigned char out_bits;        // The next stepping-bits to be output
+static long counter_x,       // Counter variables for the bresenham line tracer
+            counter_y,
+            counter_z,
+            counter_e;
+volatile static unsigned long step_events_completed; // The number of step events executed in the current block
+#ifdef ADVANCE
+  static long advance_rate, advance, final_advance = 0;
+  static long old_advance = 0;
+  static long e_steps[3];
+#endif
+static long acceleration_time, deceleration_time;
+//static unsigned long accelerate_until, decelerate_after, acceleration_rate, initial_rate, final_rate, nominal_rate;
+static unsigned short acc_step_rate; // needed for deccelaration start point
+static char step_loops;
+static unsigned short OCR1A_nominal;
+static unsigned short step_loops_nominal;
+
+volatile long endstops_trigsteps[3]={0,0,0};
+volatile long endstops_stepsTotal,endstops_stepsDone;
+static volatile bool endstop_x_hit=false;
+static volatile bool endstop_y_hit=false;
+static volatile bool endstop_z_hit=false;
+#ifdef ABORT_ON_ENDSTOP_HIT_FEATURE_ENABLED
+bool abort_on_endstop_hit = false;
+#endif
+#ifdef MOTOR_CURRENT_PWM_XY_PIN
+  int motor_current_setting[3] = DEFAULT_PWM_MOTOR_CURRENT;
+#endif
+
+static bool old_x_min_endstop=false;
+static bool old_x_max_endstop=false;
+static bool old_y_min_endstop=false;
+static bool old_y_max_endstop=false;
+static bool old_z_min_endstop=false;
+static bool old_z_max_endstop=false;
+
+static bool check_endstops = true;
+
+volatile long count_position[NUM_AXIS] = { 0, 0, 0, 0};
+volatile signed char count_direction[NUM_AXIS] = { 1, 1, 1, 1};
+
+//===========================================================================
+//=============================functions         ============================
+//===========================================================================
+
+#define CHECK_ENDSTOPS  if(check_endstops)
+
+// intRes = intIn1 * intIn2 >> 16
+// uses:
+// r26 to store 0
+// r27 to store the byte 1 of the 24 bit result
+#define MultiU16X8toH16(intRes, charIn1, intIn2) \
+asm volatile ( \
+"clr r26 \n\t" \
+"mul %A1, %B2 \n\t" \
+"movw %A0, r0 \n\t" \
+"mul %A1, %A2 \n\t" \
+"add %A0, r1 \n\t" \
+"adc %B0, r26 \n\t" \
+"lsr r0 \n\t" \
+"adc %A0, r26 \n\t" \
+"adc %B0, r26 \n\t" \
+"clr r1 \n\t" \
+: \
+"=&r" (intRes) \
+: \
+"d" (charIn1), \
+"d" (intIn2) \
+: \
+"r26" \
+)
+
+// intRes = longIn1 * longIn2 >> 24
+// uses:
+// r26 to store 0
+// r27 to store the byte 1 of the 48bit result
+#define MultiU24X24toH16(intRes, longIn1, longIn2) \
+asm volatile ( \
+"clr r26 \n\t" \
+"mul %A1, %B2 \n\t" \
+"mov r27, r1 \n\t" \
+"mul %B1, %C2 \n\t" \
+"movw %A0, r0 \n\t" \
+"mul %C1, %C2 \n\t" \
+"add %B0, r0 \n\t" \
+"mul %C1, %B2 \n\t" \
+"add %A0, r0 \n\t" \
+"adc %B0, r1 \n\t" \
+"mul %A1, %C2 \n\t" \
+"add r27, r0 \n\t" \
+"adc %A0, r1 \n\t" \
+"adc %B0, r26 \n\t" \
+"mul %B1, %B2 \n\t" \
+"add r27, r0 \n\t" \
+"adc %A0, r1 \n\t" \
+"adc %B0, r26 \n\t" \
+"mul %C1, %A2 \n\t" \
+"add r27, r0 \n\t" \
+"adc %A0, r1 \n\t" \
+"adc %B0, r26 \n\t" \
+"mul %B1, %A2 \n\t" \
+"add r27, r1 \n\t" \
+"adc %A0, r26 \n\t" \
+"adc %B0, r26 \n\t" \
+"lsr r27 \n\t" \
+"adc %A0, r26 \n\t" \
+"adc %B0, r26 \n\t" \
+"clr r1 \n\t" \
+: \
+"=&r" (intRes) \
+: \
+"d" (longIn1), \
+"d" (longIn2) \
+: \
+"r26" , "r27" \
+)
+
+// Some useful constants
+
+#define ENABLE_STEPPER_DRIVER_INTERRUPT()  TIMSK1 |= (1<<OCIE1A)
+#define DISABLE_STEPPER_DRIVER_INTERRUPT() TIMSK1 &= ~(1<<OCIE1A)
+
+
+void checkHitEndstops()
+{
+ if( endstop_x_hit || endstop_y_hit || endstop_z_hit) {
+   SERIAL_ECHO_START;
+   SERIAL_ECHOPGM(MSG_ENDSTOPS_HIT);
+   if(endstop_x_hit) {
+     SERIAL_ECHOPAIR(" X:",(float)endstops_trigsteps[X_AXIS]/axis_steps_per_unit[X_AXIS]);
+     LCD_MESSAGEPGM(MSG_ENDSTOPS_HIT "X");
+   }
+   if(endstop_y_hit) {
+     SERIAL_ECHOPAIR(" Y:",(float)endstops_trigsteps[Y_AXIS]/axis_steps_per_unit[Y_AXIS]);
+     LCD_MESSAGEPGM(MSG_ENDSTOPS_HIT "Y");
+   }
+   if(endstop_z_hit) {
+     SERIAL_ECHOPAIR(" Z:",(float)endstops_trigsteps[Z_AXIS]/axis_steps_per_unit[Z_AXIS]);
+     LCD_MESSAGEPGM(MSG_ENDSTOPS_HIT "Z");
+   }
+   SERIAL_ECHOLN("");
+   endstop_x_hit=false;
+   endstop_y_hit=false;
+   endstop_z_hit=false;
+#if defined(ABORT_ON_ENDSTOP_HIT_FEATURE_ENABLED) && defined(SDSUPPORT)
+   if (abort_on_endstop_hit)
+   {
+     card.sdprinting = false;
+     card.closefile();
+     quickStop();
+     setTargetHotend0(0);
+     setTargetHotend1(0);
+     setTargetHotend2(0);
+   }
+#endif
+ }
+}
+
+void endstops_hit_on_purpose()
+{
+  endstop_x_hit=false;
+  endstop_y_hit=false;
+  endstop_z_hit=false;
+}
+
+void enable_endstops(bool check)
+{
+  check_endstops = check;
+}
+
+//         __________________________
+//        /|                        |\     _________________         ^
+//       / |                        | \   /|               |\        |
+//      /  |                        |  \ / |               | \       s
+//     /   |                        |   |  |               |  \      p
+//    /    |                        |   |  |               |   \     e
+//   +-----+------------------------+---+--+---------------+----+    e
+//   |               BLOCK 1            |      BLOCK 2          |    d
+//
+//                           time ----->
+//
+//  The trapezoid is the shape the speed curve over time. It starts at block->initial_rate, accelerates
+//  first block->accelerate_until step_events_completed, then keeps going at constant speed until
+//  step_events_completed reaches block->decelerate_after after which it decelerates until the trapezoid generator is reset.
+//  The slope of acceleration is calculated with the leib ramp alghorithm.
+
+void st_wake_up() {
+  //  TCNT1 = 0;
+  ENABLE_STEPPER_DRIVER_INTERRUPT();
+}
+
+void step_wait(){
+    for(int8_t i=0; i < 6; i++){
+    }
+}
+
+
+FORCE_INLINE unsigned short calc_timer(unsigned short step_rate) {
+  unsigned short timer;
+  if(step_rate > MAX_STEP_FREQUENCY) step_rate = MAX_STEP_FREQUENCY;
+
+  if(step_rate > 20000) { // If steprate > 20kHz >> step 4 times
+    step_rate = (step_rate >> 2)&0x3fff;
+    step_loops = 4;
+  }
+  else if(step_rate > 10000) { // If steprate > 10kHz >> step 2 times
+    step_rate = (step_rate >> 1)&0x7fff;
+    step_loops = 2;
+  }
+  else {
+    step_loops = 1;
+  }
+
+  if(step_rate < (F_CPU/500000)) step_rate = (F_CPU/500000);
+  step_rate -= (F_CPU/500000); // Correct for minimal speed
+  if(step_rate >= (8*256)){ // higher step rate
+    unsigned short table_address = (unsigned short)&speed_lookuptable_fast[(unsigned char)(step_rate>>8)][0];
+    unsigned char tmp_step_rate = (step_rate & 0x00ff);
+    unsigned short gain = (unsigned short)pgm_read_word_near(table_address+2);
+    MultiU16X8toH16(timer, tmp_step_rate, gain);
+    timer = (unsigned short)pgm_read_word_near(table_address) - timer;
+  }
+  else { // lower step rates
+    unsigned short table_address = (unsigned short)&speed_lookuptable_slow[0][0];
+    table_address += ((step_rate)>>1) & 0xfffc;
+    timer = (unsigned short)pgm_read_word_near(table_address);
+    timer -= (((unsigned short)pgm_read_word_near(table_address+2) * (unsigned char)(step_rate & 0x0007))>>3);
+  }
+  if(timer < 100) { timer = 100; MYSERIAL.print(MSG_STEPPER_TOO_HIGH); MYSERIAL.println(step_rate); }//(20kHz this should never happen)
+  return timer;
+}
+
+// Initializes the trapezoid generator from the current block. Called whenever a new
+// block begins.
+FORCE_INLINE void trapezoid_generator_reset() {
+  #ifdef ADVANCE
+    advance = current_block->initial_advance;
+    final_advance = current_block->final_advance;
+    // Do E steps + advance steps
+    e_steps[current_block->active_extruder] += ((advance >>8) - old_advance);
+    old_advance = advance >>8;
+  #endif
+  deceleration_time = 0;
+  // step_rate to timer interval
+  OCR1A_nominal = calc_timer(current_block->nominal_rate);
+  // make a note of the number of step loops required at nominal speed
+  step_loops_nominal = step_loops;
+  acc_step_rate = current_block->initial_rate;
+  acceleration_time = calc_timer(acc_step_rate);
+  OCR1A = acceleration_time;
+
+//    SERIAL_ECHO_START;
+//    SERIAL_ECHOPGM("advance :");
+//    SERIAL_ECHO(current_block->advance/256.0);
+//    SERIAL_ECHOPGM("advance rate :");
+//    SERIAL_ECHO(current_block->advance_rate/256.0);
+//    SERIAL_ECHOPGM("initial advance :");
+//  SERIAL_ECHO(current_block->initial_advance/256.0);
+//    SERIAL_ECHOPGM("final advance :");
+//    SERIAL_ECHOLN(current_block->final_advance/256.0);
+
+}
+
+// "The Stepper Driver Interrupt" - This timer interrupt is the workhorse.
+// It pops blocks from the block_buffer and executes them by pulsing the stepper pins appropriately.
+ISR(TIMER1_COMPA_vect)
+{
+  // If there is no current block, attempt to pop one from the buffer
+  if (current_block == NULL) {
+    // Anything in the buffer?
+    current_block = plan_get_current_block();
+    if (current_block != NULL) {
+      current_block->busy = true;
+      trapezoid_generator_reset();
+      counter_x = -(current_block->step_event_count >> 1);
+      counter_y = counter_x;
+      counter_z = counter_x;
+      counter_e = counter_x;
+      step_events_completed = 0;
+
+      #ifdef Z_LATE_ENABLE
+        if(current_block->steps_z > 0) {
+          enable_z();
+          OCR1A = 2000; //1ms wait
+          return;
+        }
+      #endif
+
+//      #ifdef ADVANCE
+//      e_steps[current_block->active_extruder] = 0;
+//      #endif
+    }
+    else {
+        OCR1A=2000; // 1kHz.
+    }
+  }
+
+  if (current_block != NULL) {
+    // Set directions TO DO This should be done once during init of trapezoid. Endstops -> interrupt
+    out_bits = current_block->direction_bits;
+
+
+    // Set the direction bits (X_AXIS=A_AXIS and Y_AXIS=B_AXIS for COREXY)
+    if((out_bits & (1<<X_AXIS))!=0){
+      #ifdef DUAL_X_CARRIAGE
+        if (extruder_duplication_enabled){
+          WRITE(X_DIR_PIN, INVERT_X_DIR);
+          WRITE(X2_DIR_PIN, INVERT_X_DIR);
+        }
+        else{
+          if (current_block->active_extruder != 0)
+            WRITE(X2_DIR_PIN, INVERT_X_DIR);
+          else
+            WRITE(X_DIR_PIN, INVERT_X_DIR);
+        }
+      #else
+        WRITE(X_DIR_PIN, INVERT_X_DIR);
+      #endif        
+      count_direction[X_AXIS]=-1;
+    }
+    else{
+      #ifdef DUAL_X_CARRIAGE
+        if (extruder_duplication_enabled){
+          WRITE(X_DIR_PIN, !INVERT_X_DIR);
+          WRITE(X2_DIR_PIN, !INVERT_X_DIR);
+        }
+        else{
+          if (current_block->active_extruder != 0)
+            WRITE(X2_DIR_PIN, !INVERT_X_DIR);
+          else
+            WRITE(X_DIR_PIN, !INVERT_X_DIR);
+        }
+      #else
+        WRITE(X_DIR_PIN, !INVERT_X_DIR);
+      #endif        
+      count_direction[X_AXIS]=1;
+    }
+    if((out_bits & (1<<Y_AXIS))!=0){
+      WRITE(Y_DIR_PIN, INVERT_Y_DIR);
+	  
+	  #ifdef Y_DUAL_STEPPER_DRIVERS
+	    WRITE(Y2_DIR_PIN, !(INVERT_Y_DIR == INVERT_Y2_VS_Y_DIR));
+	  #endif
+	  
+      count_direction[Y_AXIS]=-1;
+    }
+    else{
+      WRITE(Y_DIR_PIN, !INVERT_Y_DIR);
+	  
+	  #ifdef Y_DUAL_STEPPER_DRIVERS
+	    WRITE(Y2_DIR_PIN, (INVERT_Y_DIR == INVERT_Y2_VS_Y_DIR));
+	  #endif
+	  
+      count_direction[Y_AXIS]=1;
+    }
+
+    // Set direction en check limit switches
+    #ifndef COREXY
+    if ((out_bits & (1<<X_AXIS)) != 0) {   // stepping along -X axis
+    #else
+    if ((((out_bits & (1<<X_AXIS)) != 0)&&(out_bits & (1<<Y_AXIS)) != 0)) {   //-X occurs for -A and -B
+    #endif
+      CHECK_ENDSTOPS
+      {
+        #ifdef DUAL_X_CARRIAGE
+        // with 2 x-carriages, endstops are only checked in the homing direction for the active extruder
+        if ((current_block->active_extruder == 0 && X_HOME_DIR == -1) 
+            || (current_block->active_extruder != 0 && X2_HOME_DIR == -1))
+        #endif          
+        {
+          #if defined(X_MIN_PIN) && X_MIN_PIN > -1
+            bool x_min_endstop=(READ(X_MIN_PIN) != X_MIN_ENDSTOP_INVERTING);
+            if(x_min_endstop && old_x_min_endstop && (current_block->steps_x > 0)) {
+              endstops_trigsteps[X_AXIS] = count_position[X_AXIS];
+              endstop_x_hit=true;
+              step_events_completed = current_block->step_event_count;
+            }
+            old_x_min_endstop = x_min_endstop;
+          #endif
+        }
+      }
+    }
+    else { // +direction
+      CHECK_ENDSTOPS
+      {
+        #ifdef DUAL_X_CARRIAGE
+        // with 2 x-carriages, endstops are only checked in the homing direction for the active extruder
+        if ((current_block->active_extruder == 0 && X_HOME_DIR == 1) 
+            || (current_block->active_extruder != 0 && X2_HOME_DIR == 1))
+        #endif          
+        {
+          #if defined(X_MAX_PIN) && X_MAX_PIN > -1
+            bool x_max_endstop=(READ(X_MAX_PIN) != X_MAX_ENDSTOP_INVERTING);
+            if(x_max_endstop && old_x_max_endstop && (current_block->steps_x > 0)){
+              endstops_trigsteps[X_AXIS] = count_position[X_AXIS];
+              endstop_x_hit=true;
+              step_events_completed = current_block->step_event_count;
+            }
+            old_x_max_endstop = x_max_endstop;
+          #endif
+        }
+      }
+    }
+
+    #ifndef COREXY
+    if ((out_bits & (1<<Y_AXIS)) != 0) {   // -direction
+    #else
+    if ((((out_bits & (1<<X_AXIS)) != 0)&&(out_bits & (1<<Y_AXIS)) == 0)) {   // -Y occurs for -A and +B
+    #endif
+      CHECK_ENDSTOPS
+      {
+        #if defined(Y_MIN_PIN) && Y_MIN_PIN > -1
+          bool y_min_endstop=(READ(Y_MIN_PIN) != Y_MIN_ENDSTOP_INVERTING);
+          if(y_min_endstop && old_y_min_endstop && (current_block->steps_y > 0)) {
+            endstops_trigsteps[Y_AXIS] = count_position[Y_AXIS];
+            endstop_y_hit=true;
+            step_events_completed = current_block->step_event_count;
+          }
+          old_y_min_endstop = y_min_endstop;
+        #endif
+      }
+    }
+    else { // +direction
+      CHECK_ENDSTOPS
+      {
+        #if defined(Y_MAX_PIN) && Y_MAX_PIN > -1
+          bool y_max_endstop=(READ(Y_MAX_PIN) != Y_MAX_ENDSTOP_INVERTING);
+          if(y_max_endstop && old_y_max_endstop && (current_block->steps_y > 0)){
+            endstops_trigsteps[Y_AXIS] = count_position[Y_AXIS];
+            endstop_y_hit=true;
+            step_events_completed = current_block->step_event_count;
+          }
+          old_y_max_endstop = y_max_endstop;
+        #endif
+      }
+    }
+
+    if ((out_bits & (1<<Z_AXIS)) != 0) {   // -direction
+      WRITE(Z_DIR_PIN,INVERT_Z_DIR);
+      
+      #ifdef Z_DUAL_STEPPER_DRIVERS
+        WRITE(Z2_DIR_PIN,INVERT_Z_DIR);
+      #endif
+
+      count_direction[Z_AXIS]=-1;
+      CHECK_ENDSTOPS
+      {
+        #if defined(Z_MIN_PIN) && Z_MIN_PIN > -1
+          bool z_min_endstop=(READ(Z_MIN_PIN) != Z_MIN_ENDSTOP_INVERTING);
+          if(z_min_endstop && old_z_min_endstop && (current_block->steps_z > 0)) {
+            endstops_trigsteps[Z_AXIS] = count_position[Z_AXIS];
+            endstop_z_hit=true;
+            step_events_completed = current_block->step_event_count;
+          }
+          old_z_min_endstop = z_min_endstop;
+        #endif
+      }
+    }
+    else { // +direction
+      WRITE(Z_DIR_PIN,!INVERT_Z_DIR);
+
+      #ifdef Z_DUAL_STEPPER_DRIVERS
+        WRITE(Z2_DIR_PIN,!INVERT_Z_DIR);
+      #endif
+
+      count_direction[Z_AXIS]=1;
+      CHECK_ENDSTOPS
+      {
+        #if defined(Z_MAX_PIN) && Z_MAX_PIN > -1
+          bool z_max_endstop=(READ(Z_MAX_PIN) != Z_MAX_ENDSTOP_INVERTING);
+          if(z_max_endstop && old_z_max_endstop && (current_block->steps_z > 0)) {
+            endstops_trigsteps[Z_AXIS] = count_position[Z_AXIS];
+            endstop_z_hit=true;
+            step_events_completed = current_block->step_event_count;
+          }
+          old_z_max_endstop = z_max_endstop;
+        #endif
+      }
+    }
+
+    #ifndef ADVANCE
+      if ((out_bits & (1<<E_AXIS)) != 0) {  // -direction
+        REV_E_DIR();
+        count_direction[E_AXIS]=-1;
+      }
+      else { // +direction
+        NORM_E_DIR();
+        count_direction[E_AXIS]=1;
+      }
+    #endif //!ADVANCE
+
+
+
+    for(int8_t i=0; i < step_loops; i++) { // Take multiple steps per interrupt (For high speed moves)
+      #ifndef AT90USB
+      MSerial.checkRx(); // Check for serial chars.
+      #endif
+
+      #ifdef ADVANCE
+      counter_e += current_block->steps_e;
+      if (counter_e > 0) {
+        counter_e -= current_block->step_event_count;
+        if ((out_bits & (1<<E_AXIS)) != 0) { // - direction
+          e_steps[current_block->active_extruder]--;
+        }
+        else {
+          e_steps[current_block->active_extruder]++;
+        }
+      }
+      #endif //ADVANCE
+
+        counter_x += current_block->steps_x;
+        #ifdef CONFIG_STEPPERS_TOSHIBA
+	/* The toshiba stepper controller require much longer pulses
+	 * tjerfore we 'stage' decompose the pulses between high, and
+	 * low instead of doing each in turn. The extra tests add enough
+	 * lag to allow it work with without needing NOPs */ 
+      if (counter_x > 0) {
+        WRITE(X_STEP_PIN, HIGH);
+      }
+
+      counter_y += current_block->steps_y;
+      if (counter_y > 0) {
+        WRITE(Y_STEP_PIN, HIGH);
+      }
+
+      counter_z += current_block->steps_z;
+      if (counter_z > 0) {
+        WRITE(Z_STEP_PIN, HIGH);
+      }
+
+      #ifndef ADVANCE
+        counter_e += current_block->steps_e;
+        if (counter_e > 0) {
+          WRITE_E_STEP(HIGH);
+        }
+      #endif //!ADVANCE
+
+      if (counter_x > 0) {
+        counter_x -= current_block->step_event_count;
+        count_position[X_AXIS]+=count_direction[X_AXIS];   
+        WRITE(X_STEP_PIN, LOW);
+      }
+
+      if (counter_y > 0) {
+        counter_y -= current_block->step_event_count;
+        count_position[Y_AXIS]+=count_direction[Y_AXIS];
+        WRITE(Y_STEP_PIN, LOW);
+      }
+
+      if (counter_z > 0) {
+        counter_z -= current_block->step_event_count;
+        count_position[Z_AXIS]+=count_direction[Z_AXIS];
+        WRITE(Z_STEP_PIN, LOW);
+      }
+
+      #ifndef ADVANCE
+        if (counter_e > 0) {
+          counter_e -= current_block->step_event_count;
+          count_position[E_AXIS]+=count_direction[E_AXIS];
+          WRITE_E_STEP(LOW);
+        }
+      #endif //!ADVANCE
+#else
+        if (counter_x > 0) {
+        #ifdef DUAL_X_CARRIAGE
+          if (extruder_duplication_enabled){
+            WRITE(X_STEP_PIN, !INVERT_X_STEP_PIN);
+            WRITE(X2_STEP_PIN, !INVERT_X_STEP_PIN);
+          }
+          else {
+            if (current_block->active_extruder != 0)
+              WRITE(X2_STEP_PIN, !INVERT_X_STEP_PIN);
+            else
+              WRITE(X_STEP_PIN, !INVERT_X_STEP_PIN);
+          }
+        #else
+          WRITE(X_STEP_PIN, !INVERT_X_STEP_PIN);
+        #endif        
+          counter_x -= current_block->step_event_count;
+          count_position[X_AXIS]+=count_direction[X_AXIS];   
+        #ifdef DUAL_X_CARRIAGE
+          if (extruder_duplication_enabled){
+            WRITE(X_STEP_PIN, INVERT_X_STEP_PIN);
+            WRITE(X2_STEP_PIN, INVERT_X_STEP_PIN);
+          }
+          else {
+            if (current_block->active_extruder != 0)
+              WRITE(X2_STEP_PIN, INVERT_X_STEP_PIN);
+            else
+              WRITE(X_STEP_PIN, INVERT_X_STEP_PIN);
+          }
+        #else
+          WRITE(X_STEP_PIN, INVERT_X_STEP_PIN);
+        #endif
+        }
+
+        counter_y += current_block->steps_y;
+        if (counter_y > 0) {
+          WRITE(Y_STEP_PIN, !INVERT_Y_STEP_PIN);
+		  
+		  #ifdef Y_DUAL_STEPPER_DRIVERS
+			WRITE(Y2_STEP_PIN, !INVERT_Y_STEP_PIN);
+		  #endif
+		  
+          counter_y -= current_block->step_event_count;
+          count_position[Y_AXIS]+=count_direction[Y_AXIS];
+          WRITE(Y_STEP_PIN, INVERT_Y_STEP_PIN);
+		  
+		  #ifdef Y_DUAL_STEPPER_DRIVERS
+			WRITE(Y2_STEP_PIN, INVERT_Y_STEP_PIN);
+		  #endif
+        }
+
+      counter_z += current_block->steps_z;
+      if (counter_z > 0) {
+        WRITE(Z_STEP_PIN, !INVERT_Z_STEP_PIN);
+        
+        #ifdef Z_DUAL_STEPPER_DRIVERS
+          WRITE(Z2_STEP_PIN, !INVERT_Z_STEP_PIN);
+        #endif
+
+        counter_z -= current_block->step_event_count;
+        count_position[Z_AXIS]+=count_direction[Z_AXIS];
+        WRITE(Z_STEP_PIN, INVERT_Z_STEP_PIN);
+        
+        #ifdef Z_DUAL_STEPPER_DRIVERS
+          WRITE(Z2_STEP_PIN, INVERT_Z_STEP_PIN);
+        #endif
+      }
+
+      #ifndef ADVANCE
+        counter_e += current_block->steps_e;
+        if (counter_e > 0) {
+          WRITE_E_STEP(!INVERT_E_STEP_PIN);
+          counter_e -= current_block->step_event_count;
+          count_position[E_AXIS]+=count_direction[E_AXIS];
+          WRITE_E_STEP(INVERT_E_STEP_PIN);
+        }
+      #endif //!ADVANCE
+      #endif
+      step_events_completed += 1;
+      if(step_events_completed >= current_block->step_event_count) break;
+    }
+    // Calculare new timer value
+    unsigned short timer;
+    unsigned short step_rate;
+    if (step_events_completed <= (unsigned long int)current_block->accelerate_until) {
+
+      MultiU24X24toH16(acc_step_rate, acceleration_time, current_block->acceleration_rate);
+      acc_step_rate += current_block->initial_rate;
+
+      // upper limit
+      if(acc_step_rate > current_block->nominal_rate)
+        acc_step_rate = current_block->nominal_rate;
+
+      // step_rate to timer interval
+      timer = calc_timer(acc_step_rate);
+      OCR1A = timer;
+      acceleration_time += timer;
+      #ifdef ADVANCE
+        for(int8_t i=0; i < step_loops; i++) {
+          advance += advance_rate;
+        }
+        //if(advance > current_block->advance) advance = current_block->advance;
+        // Do E steps + advance steps
+        e_steps[current_block->active_extruder] += ((advance >>8) - old_advance);
+        old_advance = advance >>8;
+
+      #endif
+    }
+    else if (step_events_completed > (unsigned long int)current_block->decelerate_after) {
+      MultiU24X24toH16(step_rate, deceleration_time, current_block->acceleration_rate);
+
+      if(step_rate > acc_step_rate) { // Check step_rate stays positive
+        step_rate = current_block->final_rate;
+      }
+      else {
+        step_rate = acc_step_rate - step_rate; // Decelerate from aceleration end point.
+      }
+
+      // lower limit
+      if(step_rate < current_block->final_rate)
+        step_rate = current_block->final_rate;
+
+      // step_rate to timer interval
+      timer = calc_timer(step_rate);
+      OCR1A = timer;
+      deceleration_time += timer;
+      #ifdef ADVANCE
+        for(int8_t i=0; i < step_loops; i++) {
+          advance -= advance_rate;
+        }
+        if(advance < final_advance) advance = final_advance;
+        // Do E steps + advance steps
+        e_steps[current_block->active_extruder] += ((advance >>8) - old_advance);
+        old_advance = advance >>8;
+      #endif //ADVANCE
+    }
+    else {
+      OCR1A = OCR1A_nominal;
+      // ensure we're running at the correct step rate, even if we just came off an acceleration
+      step_loops = step_loops_nominal;
+    }
+
+    // If current block is finished, reset pointer
+    if (step_events_completed >= current_block->step_event_count) {
+      current_block = NULL;
+      plan_discard_current_block();
+    }
+  }
+}
+
+#ifdef ADVANCE
+  unsigned char old_OCR0A;
+  // Timer interrupt for E. e_steps is set in the main routine;
+  // Timer 0 is shared with millies
+  ISR(TIMER0_COMPA_vect)
+  {
+    old_OCR0A += 52; // ~10kHz interrupt (250000 / 26 = 9615kHz)
+    OCR0A = old_OCR0A;
+    // Set E direction (Depends on E direction + advance)
+    for(unsigned char i=0; i<4;i++) {
+      if (e_steps[0] != 0) {
+        WRITE(E0_STEP_PIN, INVERT_E_STEP_PIN);
+        if (e_steps[0] < 0) {
+          WRITE(E0_DIR_PIN, INVERT_E0_DIR);
+          e_steps[0]++;
+          WRITE(E0_STEP_PIN, !INVERT_E_STEP_PIN);
+        }
+        else if (e_steps[0] > 0) {
+          WRITE(E0_DIR_PIN, !INVERT_E0_DIR);
+          e_steps[0]--;
+          WRITE(E0_STEP_PIN, !INVERT_E_STEP_PIN);
+        }
+      }
+ #if EXTRUDERS > 1
+      if (e_steps[1] != 0) {
+        WRITE(E1_STEP_PIN, INVERT_E_STEP_PIN);
+        if (e_steps[1] < 0) {
+          WRITE(E1_DIR_PIN, INVERT_E1_DIR);
+          e_steps[1]++;
+          WRITE(E1_STEP_PIN, !INVERT_E_STEP_PIN);
+        }
+        else if (e_steps[1] > 0) {
+          WRITE(E1_DIR_PIN, !INVERT_E1_DIR);
+          e_steps[1]--;
+          WRITE(E1_STEP_PIN, !INVERT_E_STEP_PIN);
+        }
+      }
+ #endif
+ #if EXTRUDERS > 2
+      if (e_steps[2] != 0) {
+        WRITE(E2_STEP_PIN, INVERT_E_STEP_PIN);
+        if (e_steps[2] < 0) {
+          WRITE(E2_DIR_PIN, INVERT_E2_DIR);
+          e_steps[2]++;
+          WRITE(E2_STEP_PIN, !INVERT_E_STEP_PIN);
+        }
+        else if (e_steps[2] > 0) {
+          WRITE(E2_DIR_PIN, !INVERT_E2_DIR);
+          e_steps[2]--;
+          WRITE(E2_STEP_PIN, !INVERT_E_STEP_PIN);
+        }
+      }
+ #endif
+    }
+  }
+#endif // ADVANCE
+
+void st_init()
+{
+  digipot_init(); //Initialize Digipot Motor Current
+  microstep_init(); //Initialize Microstepping Pins
+
+  //Initialize Dir Pins
+  #if defined(X_DIR_PIN) && X_DIR_PIN > -1
+    SET_OUTPUT(X_DIR_PIN);
+  #endif
+  #if defined(X2_DIR_PIN) && X2_DIR_PIN > -1
+    SET_OUTPUT(X2_DIR_PIN);
+  #endif
+  #if defined(Y_DIR_PIN) && Y_DIR_PIN > -1
+    SET_OUTPUT(Y_DIR_PIN);
+		
+	#if defined(Y_DUAL_STEPPER_DRIVERS) && defined(Y2_DIR_PIN) && (Y2_DIR_PIN > -1)
+	  SET_OUTPUT(Y2_DIR_PIN);
+	#endif
+  #endif
+  #if defined(Z_DIR_PIN) && Z_DIR_PIN > -1
+    SET_OUTPUT(Z_DIR_PIN);
+
+    #if defined(Z_DUAL_STEPPER_DRIVERS) && defined(Z2_DIR_PIN) && (Z2_DIR_PIN > -1)
+      SET_OUTPUT(Z2_DIR_PIN);
+    #endif
+  #endif
+  #if defined(E0_DIR_PIN) && E0_DIR_PIN > -1
+    SET_OUTPUT(E0_DIR_PIN);
+  #endif
+  #if defined(E1_DIR_PIN) && (E1_DIR_PIN > -1)
+    SET_OUTPUT(E1_DIR_PIN);
+  #endif
+  #if defined(E2_DIR_PIN) && (E2_DIR_PIN > -1)
+    SET_OUTPUT(E2_DIR_PIN);
+  #endif
+
+  //Initialize Enable Pins - steppers default to disabled.
+
+  #if defined(X_ENABLE_PIN) && X_ENABLE_PIN > -1
+    SET_OUTPUT(X_ENABLE_PIN);
+    if(!X_ENABLE_ON) WRITE(X_ENABLE_PIN,HIGH);
+  #endif
+  #if defined(X2_ENABLE_PIN) && X2_ENABLE_PIN > -1
+    SET_OUTPUT(X2_ENABLE_PIN);
+    if(!X_ENABLE_ON) WRITE(X2_ENABLE_PIN,HIGH);
+  #endif
+  #if defined(Y_ENABLE_PIN) && Y_ENABLE_PIN > -1
+    SET_OUTPUT(Y_ENABLE_PIN);
+    if(!Y_ENABLE_ON) WRITE(Y_ENABLE_PIN,HIGH);
+	
+	#if defined(Y_DUAL_STEPPER_DRIVERS) && defined(Y2_ENABLE_PIN) && (Y2_ENABLE_PIN > -1)
+	  SET_OUTPUT(Y2_ENABLE_PIN);
+	  if(!Y_ENABLE_ON) WRITE(Y2_ENABLE_PIN,HIGH);
+	#endif
+  #endif
+  #if defined(Z_ENABLE_PIN) && Z_ENABLE_PIN > -1
+    SET_OUTPUT(Z_ENABLE_PIN);
+    if(!Z_ENABLE_ON) WRITE(Z_ENABLE_PIN,HIGH);
+
+    #if defined(Z_DUAL_STEPPER_DRIVERS) && defined(Z2_ENABLE_PIN) && (Z2_ENABLE_PIN > -1)
+      SET_OUTPUT(Z2_ENABLE_PIN);
+      if(!Z_ENABLE_ON) WRITE(Z2_ENABLE_PIN,HIGH);
+    #endif
+  #endif
+  #if defined(E0_ENABLE_PIN) && (E0_ENABLE_PIN > -1)
+    SET_OUTPUT(E0_ENABLE_PIN);
+    if(!E_ENABLE_ON) WRITE(E0_ENABLE_PIN,HIGH);
+  #endif
+  #if defined(E1_ENABLE_PIN) && (E1_ENABLE_PIN > -1)
+    SET_OUTPUT(E1_ENABLE_PIN);
+    if(!E_ENABLE_ON) WRITE(E1_ENABLE_PIN,HIGH);
+  #endif
+  #if defined(E2_ENABLE_PIN) && (E2_ENABLE_PIN > -1)
+    SET_OUTPUT(E2_ENABLE_PIN);
+    if(!E_ENABLE_ON) WRITE(E2_ENABLE_PIN,HIGH);
+  #endif
+
+  //endstops and pullups
+
+  #if defined(X_MIN_PIN) && X_MIN_PIN > -1
+    SET_INPUT(X_MIN_PIN);
+    #ifdef ENDSTOPPULLUP_XMIN
+      WRITE(X_MIN_PIN,HIGH);
+    #endif
+  #endif
+
+  #if defined(Y_MIN_PIN) && Y_MIN_PIN > -1
+    SET_INPUT(Y_MIN_PIN);
+    #ifdef ENDSTOPPULLUP_YMIN
+      WRITE(Y_MIN_PIN,HIGH);
+    #endif
+  #endif
+
+  #if defined(Z_MIN_PIN) && Z_MIN_PIN > -1
+    SET_INPUT(Z_MIN_PIN);
+    #ifdef ENDSTOPPULLUP_ZMIN
+      WRITE(Z_MIN_PIN,HIGH);
+    #endif
+  #endif
+
+  #if defined(X_MAX_PIN) && X_MAX_PIN > -1
+    SET_INPUT(X_MAX_PIN);
+    #ifdef ENDSTOPPULLUP_XMAX
+      WRITE(X_MAX_PIN,HIGH);
+    #endif
+  #endif
+
+  #if defined(Y_MAX_PIN) && Y_MAX_PIN > -1
+    SET_INPUT(Y_MAX_PIN);
+    #ifdef ENDSTOPPULLUP_YMAX
+      WRITE(Y_MAX_PIN,HIGH);
+    #endif
+  #endif
+
+  #if defined(Z_MAX_PIN) && Z_MAX_PIN > -1
+    SET_INPUT(Z_MAX_PIN);
+    #ifdef ENDSTOPPULLUP_ZMAX
+      WRITE(Z_MAX_PIN,HIGH);
+    #endif
+  #endif
+
+
+  //Initialize Step Pins
+  #if defined(X_STEP_PIN) && (X_STEP_PIN > -1)
+    SET_OUTPUT(X_STEP_PIN);
+    WRITE(X_STEP_PIN,INVERT_X_STEP_PIN);
+    disable_x();
+  #endif
+  #if defined(X2_STEP_PIN) && (X2_STEP_PIN > -1)
+    SET_OUTPUT(X2_STEP_PIN);
+    WRITE(X2_STEP_PIN,INVERT_X_STEP_PIN);
+    disable_x();
+  #endif
+  #if defined(Y_STEP_PIN) && (Y_STEP_PIN > -1)
+    SET_OUTPUT(Y_STEP_PIN);
+    WRITE(Y_STEP_PIN,INVERT_Y_STEP_PIN);
+    #if defined(Y_DUAL_STEPPER_DRIVERS) && defined(Y2_STEP_PIN) && (Y2_STEP_PIN > -1)
+      SET_OUTPUT(Y2_STEP_PIN);
+      WRITE(Y2_STEP_PIN,INVERT_Y_STEP_PIN);
+    #endif
+    disable_y();
+  #endif
+  #if defined(Z_STEP_PIN) && (Z_STEP_PIN > -1)
+    SET_OUTPUT(Z_STEP_PIN);
+    WRITE(Z_STEP_PIN,INVERT_Z_STEP_PIN);
+    #if defined(Z_DUAL_STEPPER_DRIVERS) && defined(Z2_STEP_PIN) && (Z2_STEP_PIN > -1)
+      SET_OUTPUT(Z2_STEP_PIN);
+      WRITE(Z2_STEP_PIN,INVERT_Z_STEP_PIN);
+    #endif
+    disable_z();
+  #endif
+  #if defined(E0_STEP_PIN) && (E0_STEP_PIN > -1)
+    SET_OUTPUT(E0_STEP_PIN);
+    WRITE(E0_STEP_PIN,INVERT_E_STEP_PIN);
+    disable_e0();
+  #endif
+  #if defined(E1_STEP_PIN) && (E1_STEP_PIN > -1)
+    SET_OUTPUT(E1_STEP_PIN);
+    WRITE(E1_STEP_PIN,INVERT_E_STEP_PIN);
+    disable_e1();
+  #endif
+  #if defined(E2_STEP_PIN) && (E2_STEP_PIN > -1)
+    SET_OUTPUT(E2_STEP_PIN);
+    WRITE(E2_STEP_PIN,INVERT_E_STEP_PIN);
+    disable_e2();
+  #endif
+
+  // waveform generation = 0100 = CTC
+  TCCR1B &= ~(1<<WGM13);
+  TCCR1B |=  (1<<WGM12);
+  TCCR1A &= ~(1<<WGM11);
+  TCCR1A &= ~(1<<WGM10);
+
+  // output mode = 00 (disconnected)
+  TCCR1A &= ~(3<<COM1A0);
+  TCCR1A &= ~(3<<COM1B0);
+
+  // Set the timer pre-scaler
+  // Generally we use a divider of 8, resulting in a 2MHz timer
+  // frequency on a 16MHz MCU. If you are going to change this, be
+  // sure to regenerate speed_lookuptable.h with
+  // create_speed_lookuptable.py
+  TCCR1B = (TCCR1B & ~(0x07<<CS10)) | (2<<CS10);
+
+  OCR1A = 0x4000;
+  TCNT1 = 0;
+  ENABLE_STEPPER_DRIVER_INTERRUPT();
+
+  #ifdef ADVANCE
+  #if defined(TCCR0A) && defined(WGM01)
+    TCCR0A &= ~(1<<WGM01);
+    TCCR0A &= ~(1<<WGM00);
+  #endif
+    e_steps[0] = 0;
+    e_steps[1] = 0;
+    e_steps[2] = 0;
+    TIMSK0 |= (1<<OCIE0A);
+  #endif //ADVANCE
+
+  enable_endstops(true); // Start with endstops active. After homing they can be disabled
+  sei();
+}
+
+
+// Block until all buffered steps are executed
+void st_synchronize()
+{
+    while( blocks_queued()) {
+    manage_heater();
+    manage_inactivity();
+    lcd_update();
+  }
+}
+
+void st_set_position(const long &x, const long &y, const long &z, const long &e)
+{
+  CRITICAL_SECTION_START;
+  count_position[X_AXIS] = x;
+  count_position[Y_AXIS] = y;
+  count_position[Z_AXIS] = z;
+  count_position[E_AXIS] = e;
+  CRITICAL_SECTION_END;
+}
+
+void st_set_e_position(const long &e)
+{
+  CRITICAL_SECTION_START;
+  count_position[E_AXIS] = e;
+  CRITICAL_SECTION_END;
+}
+
+long st_get_position(uint8_t axis)
+{
+  long count_pos;
+  CRITICAL_SECTION_START;
+  count_pos = count_position[axis];
+  CRITICAL_SECTION_END;
+  return count_pos;
+}
+
+#ifdef ENABLE_AUTO_BED_LEVELING
+float st_get_position_mm(uint8_t axis)
+{
+  float steper_position_in_steps = st_get_position(axis);
+  return steper_position_in_steps / axis_steps_per_unit[axis];
+}
+#endif  // ENABLE_AUTO_BED_LEVELING
+
+void finishAndDisableSteppers()
+{
+  st_synchronize();
+  disable_x();
+  disable_y();
+  disable_z();
+  disable_e0();
+  disable_e1();
+  disable_e2();
+}
+
+void quickStop()
+{
+  DISABLE_STEPPER_DRIVER_INTERRUPT();
+  while(blocks_queued())
+    plan_discard_current_block();
+  current_block = NULL;
+  ENABLE_STEPPER_DRIVER_INTERRUPT();
+}
+
+#ifdef BABYSTEPPING
+
+
+void babystep(const uint8_t axis,const bool direction)
+{
+  //MUST ONLY BE CALLED BY A ISR, it depends on that no other ISR interrupts this
+    //store initial pin states
+  switch(axis)
+  {
+  case X_AXIS:
+  {
+    enable_x();   
+    uint8_t old_x_dir_pin= READ(X_DIR_PIN);  //if dualzstepper, both point to same direction.
+   
+    //setup new step
+    WRITE(X_DIR_PIN,(INVERT_X_DIR)^direction);
+    #ifdef DUAL_X_CARRIAGE
+      WRITE(X2_DIR_PIN,(INVERT_X_DIR)^direction);
+    #endif
+    
+    //perform step 
+    WRITE(X_STEP_PIN, !INVERT_X_STEP_PIN); 
+    #ifdef DUAL_X_CARRIAGE
+      WRITE(X2_STEP_PIN, !INVERT_X_STEP_PIN);
+    #endif
+    {
+    float x=1./float(axis+1)/float(axis+2); //wait a tiny bit
+    }
+    WRITE(X_STEP_PIN, INVERT_X_STEP_PIN);
+    #ifdef DUAL_X_CARRIAGE
+      WRITE(X2_STEP_PIN, INVERT_X_STEP_PIN);
+    #endif
+
+    //get old pin state back.
+    WRITE(X_DIR_PIN,old_x_dir_pin);
+    #ifdef DUAL_X_CARRIAGE
+      WRITE(X2_DIR_PIN,old_x_dir_pin);
+    #endif
+
+  }
+  break;
+  case Y_AXIS:
+  {
+    enable_y();   
+    uint8_t old_y_dir_pin= READ(Y_DIR_PIN);  //if dualzstepper, both point to same direction.
+   
+    //setup new step
+    WRITE(Y_DIR_PIN,(INVERT_Y_DIR)^direction);
+    #ifdef DUAL_Y_CARRIAGE
+      WRITE(Y2_DIR_PIN,(INVERT_Y_DIR)^direction);
+    #endif
+    
+    //perform step 
+    WRITE(Y_STEP_PIN, !INVERT_Y_STEP_PIN); 
+    #ifdef DUAL_Y_CARRIAGE
+      WRITE(Y2_STEP_PIN, !INVERT_Y_STEP_PIN);
+    #endif
+    {
+    float x=1./float(axis+1)/float(axis+2); //wait a tiny bit
+    }
+    WRITE(Y_STEP_PIN, INVERT_Y_STEP_PIN);
+    #ifdef DUAL_Y_CARRIAGE
+      WRITE(Y2_STEP_PIN, INVERT_Y_STEP_PIN);
+    #endif
+
+    //get old pin state back.
+    WRITE(Y_DIR_PIN,old_y_dir_pin);
+    #ifdef DUAL_Y_CARRIAGE
+      WRITE(Y2_DIR_PIN,old_y_dir_pin);
+    #endif
+
+  }
+  break;
+ 
+#ifndef DELTA
+  case Z_AXIS:
+  {
+    enable_z();
+    uint8_t old_z_dir_pin= READ(Z_DIR_PIN);  //if dualzstepper, both point to same direction.
+    //setup new step
+    WRITE(Z_DIR_PIN,(INVERT_Z_DIR)^direction^BABYSTEP_INVERT_Z);
+    #ifdef Z_DUAL_STEPPER_DRIVERS
+      WRITE(Z2_DIR_PIN,(INVERT_Z_DIR)^direction^BABYSTEP_INVERT_Z);
+    #endif
+    //perform step 
+    WRITE(Z_STEP_PIN, !INVERT_Z_STEP_PIN); 
+    #ifdef Z_DUAL_STEPPER_DRIVERS
+      WRITE(Z2_STEP_PIN, !INVERT_Z_STEP_PIN);
+    #endif
+    //wait a tiny bit
+    {
+    float x=1./float(axis+1); //absolutely useless
+    }
+    WRITE(Z_STEP_PIN, INVERT_Z_STEP_PIN);
+    #ifdef Z_DUAL_STEPPER_DRIVERS
+      WRITE(Z2_STEP_PIN, INVERT_Z_STEP_PIN);
+    #endif
+
+    //get old pin state back.
+    WRITE(Z_DIR_PIN,old_z_dir_pin);
+    #ifdef Z_DUAL_STEPPER_DRIVERS
+      WRITE(Z2_DIR_PIN,old_z_dir_pin);
+    #endif
+
+  }
+  break;
+#else //DELTA
+  case Z_AXIS:
+  {
+    enable_x();
+    enable_y();
+    enable_z();
+    uint8_t old_x_dir_pin= READ(X_DIR_PIN);  
+    uint8_t old_y_dir_pin= READ(Y_DIR_PIN);  
+    uint8_t old_z_dir_pin= READ(Z_DIR_PIN);  
+    //setup new step
+    WRITE(X_DIR_PIN,(INVERT_X_DIR)^direction^BABYSTEP_INVERT_Z);
+    WRITE(Y_DIR_PIN,(INVERT_Y_DIR)^direction^BABYSTEP_INVERT_Z);
+    WRITE(Z_DIR_PIN,(INVERT_Z_DIR)^direction^BABYSTEP_INVERT_Z);
+    
+    //perform step 
+    WRITE(X_STEP_PIN, !INVERT_X_STEP_PIN); 
+    WRITE(Y_STEP_PIN, !INVERT_Y_STEP_PIN); 
+    WRITE(Z_STEP_PIN, !INVERT_Z_STEP_PIN); 
+    
+    //wait a tiny bit
+    {
+    float x=1./float(axis+1); //absolutely useless
+    }
+    WRITE(X_STEP_PIN, INVERT_X_STEP_PIN); 
+    WRITE(Y_STEP_PIN, INVERT_Y_STEP_PIN); 
+    WRITE(Z_STEP_PIN, INVERT_Z_STEP_PIN);
+
+    //get old pin state back.
+    WRITE(X_DIR_PIN,old_x_dir_pin);
+    WRITE(Y_DIR_PIN,old_y_dir_pin);
+    WRITE(Z_DIR_PIN,old_z_dir_pin);
+
+  }
+  break;
+#endif
+ 
+  default:    break;
+  }
+}
+#endif //BABYSTEPPING
+
+void digitalPotWrite(int address, int value) // From Arduino DigitalPotControl example
+{
+  #if defined(DIGIPOTSS_PIN) && DIGIPOTSS_PIN > -1
+    digitalWrite(DIGIPOTSS_PIN,LOW); // take the SS pin low to select the chip
+    SPI.transfer(address); //  send in the address and value via SPI:
+    SPI.transfer(value);
+    digitalWrite(DIGIPOTSS_PIN,HIGH); // take the SS pin high to de-select the chip:
+    //delay(10);
+  #endif
+}
+
+void digipot_init() //Initialize Digipot Motor Current
+{
+  #if defined(DIGIPOTSS_PIN) && DIGIPOTSS_PIN > -1
+    const uint8_t digipot_motor_current[] = DIGIPOT_MOTOR_CURRENT;
+
+    SPI.begin();
+    pinMode(DIGIPOTSS_PIN, OUTPUT);
+    for(int i=0;i<=4;i++)
+      //digitalPotWrite(digipot_ch[i], digipot_motor_current[i]);
+      digipot_current(i,digipot_motor_current[i]);
+  #endif
+  #ifdef MOTOR_CURRENT_PWM_XY_PIN
+    pinMode(MOTOR_CURRENT_PWM_XY_PIN, OUTPUT);
+    pinMode(MOTOR_CURRENT_PWM_Z_PIN, OUTPUT);
+    pinMode(MOTOR_CURRENT_PWM_E_PIN, OUTPUT);
+    digipot_current(0, motor_current_setting[0]);
+    digipot_current(1, motor_current_setting[1]);
+    digipot_current(2, motor_current_setting[2]);
+    //Set timer5 to 31khz so the PWM of the motor power is as constant as possible. (removes a buzzing noise)
+    TCCR5B = (TCCR5B & ~(_BV(CS50) | _BV(CS51) | _BV(CS52))) | _BV(CS50);
+  #endif
+}
+
+void digipot_current(uint8_t driver, int current)
+{
+  #if defined(DIGIPOTSS_PIN) && DIGIPOTSS_PIN > -1
+    const uint8_t digipot_ch[] = DIGIPOT_CHANNELS;
+    digitalPotWrite(digipot_ch[driver], current);
+  #endif
+  #ifdef MOTOR_CURRENT_PWM_XY_PIN
+  if (driver == 0) analogWrite(MOTOR_CURRENT_PWM_XY_PIN, (long)current * 255L / (long)MOTOR_CURRENT_PWM_RANGE);
+  if (driver == 1) analogWrite(MOTOR_CURRENT_PWM_Z_PIN, (long)current * 255L / (long)MOTOR_CURRENT_PWM_RANGE);
+  if (driver == 2) analogWrite(MOTOR_CURRENT_PWM_E_PIN, (long)current * 255L / (long)MOTOR_CURRENT_PWM_RANGE);
+  #endif
+}
+
+void microstep_init()
+{
+  const uint8_t microstep_modes[] = MICROSTEP_MODES;
+
+  #if defined(E1_MS1_PIN) && E1_MS1_PIN > -1
+  pinMode(E1_MS1_PIN,OUTPUT);
+  pinMode(E1_MS2_PIN,OUTPUT); 
+  #endif
+
+  #if defined(X_MS1_PIN) && X_MS1_PIN > -1
+  pinMode(X_MS1_PIN,OUTPUT);
+  pinMode(X_MS2_PIN,OUTPUT);  
+  pinMode(Y_MS1_PIN,OUTPUT);
+  pinMode(Y_MS2_PIN,OUTPUT);
+  pinMode(Z_MS1_PIN,OUTPUT);
+  pinMode(Z_MS2_PIN,OUTPUT);
+  pinMode(E0_MS1_PIN,OUTPUT);
+  pinMode(E0_MS2_PIN,OUTPUT);
+  for(int i=0;i<=4;i++) microstep_mode(i,microstep_modes[i]);
+  #endif
+}
+
+void microstep_ms(uint8_t driver, int8_t ms1, int8_t ms2)
+{
+  if(ms1 > -1) switch(driver)
+  {
+    case 0: digitalWrite( X_MS1_PIN,ms1); break;
+    case 1: digitalWrite( Y_MS1_PIN,ms1); break;
+    case 2: digitalWrite( Z_MS1_PIN,ms1); break;
+    case 3: digitalWrite(E0_MS1_PIN,ms1); break;
+    #if defined(E1_MS1_PIN) && E1_MS1_PIN > -1
+    case 4: digitalWrite(E1_MS1_PIN,ms1); break;
+    #endif
+  }
+  if(ms2 > -1) switch(driver)
+  {
+    case 0: digitalWrite( X_MS2_PIN,ms2); break;
+    case 1: digitalWrite( Y_MS2_PIN,ms2); break;
+    case 2: digitalWrite( Z_MS2_PIN,ms2); break;
+    case 3: digitalWrite(E0_MS2_PIN,ms2); break;
+    #if defined(E1_MS2_PIN) && E1_MS2_PIN > -1
+    case 4: digitalWrite(E1_MS2_PIN,ms2); break;
+    #endif
+  }
+}
+
+void microstep_mode(uint8_t driver, uint8_t stepping_mode)
+{
+  switch(stepping_mode)
+  {
+    case 1: microstep_ms(driver,MICROSTEP1); break;
+    case 2: microstep_ms(driver,MICROSTEP2); break;
+    case 4: microstep_ms(driver,MICROSTEP4); break;
+    case 8: microstep_ms(driver,MICROSTEP8); break;
+    case 16: microstep_ms(driver,MICROSTEP16); break;
+  }
+}
+
+void microstep_readings()
+{
+      SERIAL_PROTOCOLPGM("MS1,MS2 Pins\n");
+      SERIAL_PROTOCOLPGM("X: ");
+      SERIAL_PROTOCOL(   digitalRead(X_MS1_PIN));
+      SERIAL_PROTOCOLLN( digitalRead(X_MS2_PIN));
+      SERIAL_PROTOCOLPGM("Y: ");
+      SERIAL_PROTOCOL(   digitalRead(Y_MS1_PIN));
+      SERIAL_PROTOCOLLN( digitalRead(Y_MS2_PIN));
+      SERIAL_PROTOCOLPGM("Z: ");
+      SERIAL_PROTOCOL(   digitalRead(Z_MS1_PIN));
+      SERIAL_PROTOCOLLN( digitalRead(Z_MS2_PIN));
+      SERIAL_PROTOCOLPGM("E0: ");
+      SERIAL_PROTOCOL(   digitalRead(E0_MS1_PIN));
+      SERIAL_PROTOCOLLN( digitalRead(E0_MS2_PIN));
+      #if defined(E1_MS1_PIN) && E1_MS1_PIN > -1
+      SERIAL_PROTOCOLPGM("E1: ");
+      SERIAL_PROTOCOL(   digitalRead(E1_MS1_PIN));
+      SERIAL_PROTOCOLLN( digitalRead(E1_MS2_PIN));
+      #endif
+}
+

+ 101 - 0
stepper.h

@@ -0,0 +1,101 @@
+/*
+  stepper.h - stepper motor driver: executes motion plans of planner.c using the stepper motors
+  Part of Grbl
+
+  Copyright (c) 2009-2011 Simen Svale Skogsrud
+
+  Grbl is free software: you can redistribute it and/or modify
+  it under the terms of the GNU General Public License as published by
+  the Free Software Foundation, either version 3 of the License, or
+  (at your option) any later version.
+
+  Grbl is distributed in the hope that it will be useful,
+  but WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+  GNU General Public License for more details.
+
+  You should have received a copy of the GNU General Public License
+  along with Grbl.  If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#ifndef stepper_h
+#define stepper_h 
+
+#include "planner.h"
+
+#if EXTRUDERS > 2
+  #define WRITE_E_STEP(v) { if(current_block->active_extruder == 2) { WRITE(E2_STEP_PIN, v); } else { if(current_block->active_extruder == 1) { WRITE(E1_STEP_PIN, v); } else { WRITE(E0_STEP_PIN, v); }}}
+  #define NORM_E_DIR() { if(current_block->active_extruder == 2) { WRITE(E2_DIR_PIN, !INVERT_E2_DIR); } else { if(current_block->active_extruder == 1) { WRITE(E1_DIR_PIN, !INVERT_E1_DIR); } else { WRITE(E0_DIR_PIN, !INVERT_E0_DIR); }}}
+  #define REV_E_DIR() { if(current_block->active_extruder == 2) { WRITE(E2_DIR_PIN, INVERT_E2_DIR); } else { if(current_block->active_extruder == 1) { WRITE(E1_DIR_PIN, INVERT_E1_DIR); } else { WRITE(E0_DIR_PIN, INVERT_E0_DIR); }}}
+#elif EXTRUDERS > 1
+  #ifndef DUAL_X_CARRIAGE
+    #define WRITE_E_STEP(v) { if(current_block->active_extruder == 1) { WRITE(E1_STEP_PIN, v); } else { WRITE(E0_STEP_PIN, v); }}
+    #define NORM_E_DIR() { if(current_block->active_extruder == 1) { WRITE(E1_DIR_PIN, !INVERT_E1_DIR); } else { WRITE(E0_DIR_PIN, !INVERT_E0_DIR); }}
+    #define REV_E_DIR() { if(current_block->active_extruder == 1) { WRITE(E1_DIR_PIN, INVERT_E1_DIR); } else { WRITE(E0_DIR_PIN, INVERT_E0_DIR); }}
+  #else
+    extern bool extruder_duplication_enabled;
+    #define WRITE_E_STEP(v) { if(extruder_duplication_enabled) { WRITE(E0_STEP_PIN, v); WRITE(E1_STEP_PIN, v); } else if(current_block->active_extruder == 1) { WRITE(E1_STEP_PIN, v); } else { WRITE(E0_STEP_PIN, v); }}
+    #define NORM_E_DIR() { if(extruder_duplication_enabled) { WRITE(E0_DIR_PIN, !INVERT_E0_DIR); WRITE(E1_DIR_PIN, !INVERT_E1_DIR); } else if(current_block->active_extruder == 1) { WRITE(E1_DIR_PIN, !INVERT_E1_DIR); } else { WRITE(E0_DIR_PIN, !INVERT_E0_DIR); }}
+    #define REV_E_DIR() { if(extruder_duplication_enabled) { WRITE(E0_DIR_PIN, INVERT_E0_DIR); WRITE(E1_DIR_PIN, INVERT_E1_DIR); } else if(current_block->active_extruder == 1) { WRITE(E1_DIR_PIN, INVERT_E1_DIR); } else { WRITE(E0_DIR_PIN, INVERT_E0_DIR); }}
+  #endif  
+#else
+  #define WRITE_E_STEP(v) WRITE(E0_STEP_PIN, v)
+  #define NORM_E_DIR() WRITE(E0_DIR_PIN, !INVERT_E0_DIR)
+  #define REV_E_DIR() WRITE(E0_DIR_PIN, INVERT_E0_DIR)
+#endif
+
+#ifdef ABORT_ON_ENDSTOP_HIT_FEATURE_ENABLED
+extern bool abort_on_endstop_hit;
+#endif
+
+// Initialize and start the stepper motor subsystem
+void st_init();
+
+// Block until all buffered steps are executed
+void st_synchronize();
+
+// Set current position in steps
+void st_set_position(const long &x, const long &y, const long &z, const long &e);
+void st_set_e_position(const long &e);
+
+// Get current position in steps
+long st_get_position(uint8_t axis);
+
+#ifdef ENABLE_AUTO_BED_LEVELING
+// Get current position in mm
+float st_get_position_mm(uint8_t axis);
+#endif  //ENABLE_AUTO_BED_LEVELING
+
+// The stepper subsystem goes to sleep when it runs out of things to execute. Call this
+// to notify the subsystem that it is time to go to work.
+void st_wake_up();
+
+  
+void checkHitEndstops(); //call from somewhere to create an serial error message with the locations the endstops where hit, in case they were triggered
+void endstops_hit_on_purpose(); //avoid creation of the message, i.e. after homing and before a routine call of checkHitEndstops();
+
+void enable_endstops(bool check); // Enable/disable endstop checking
+
+void checkStepperErrors(); //Print errors detected by the stepper
+
+void finishAndDisableSteppers();
+
+extern block_t *current_block;  // A pointer to the block currently being traced
+
+void quickStop();
+
+void digitalPotWrite(int address, int value);
+void microstep_ms(uint8_t driver, int8_t ms1, int8_t ms2);
+void microstep_mode(uint8_t driver, uint8_t stepping);
+void digipot_init();
+void digipot_current(uint8_t driver, int current);
+void microstep_init();
+void microstep_readings();
+
+#ifdef BABYSTEPPING
+  void babystep(const uint8_t axis,const bool direction); // perform a short step with a single stepper motor, outside of any convention
+#endif
+     
+
+
+#endif

+ 1784 - 0
temperature.cpp

@@ -0,0 +1,1784 @@
+/*
+  temperature.c - temperature control
+  Part of Marlin
+  
+ Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm
+ 
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+ 
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+ 
+ You should have received a copy of the GNU General Public License
+ along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+/*
+ This firmware is a mashup between Sprinter and grbl.
+  (https://github.com/kliment/Sprinter)
+  (https://github.com/simen/grbl/tree)
+ 
+ It has preliminary support for Matthew Roberts advance algorithm 
+    http://reprap.org/pipermail/reprap-dev/2011-May/003323.html
+
+ */
+
+
+#include "Marlin.h"
+#include "ultralcd.h"
+#include "temperature.h"
+#include "watchdog.h"
+
+#include "Sd2PinMap.h"
+
+
+//===========================================================================
+//=============================public variables============================
+//===========================================================================
+int target_temperature[EXTRUDERS] = { 0 };
+int target_temperature_bed = 0;
+int current_temperature_raw[EXTRUDERS] = { 0 };
+float current_temperature[EXTRUDERS] = { 0.0 };
+int current_temperature_bed_raw = 0;
+float current_temperature_bed = 0.0;
+#ifdef TEMP_SENSOR_1_AS_REDUNDANT
+  int redundant_temperature_raw = 0;
+  float redundant_temperature = 0.0;
+#endif
+#ifdef PIDTEMP
+  float Kp=DEFAULT_Kp;
+  float Ki=(DEFAULT_Ki*PID_dT);
+  float Kd=(DEFAULT_Kd/PID_dT);
+  #ifdef PID_ADD_EXTRUSION_RATE
+    float Kc=DEFAULT_Kc;
+  #endif
+#endif //PIDTEMP
+
+#ifdef PIDTEMPBED
+  float bedKp=DEFAULT_bedKp;
+  float bedKi=(DEFAULT_bedKi*PID_dT);
+  float bedKd=(DEFAULT_bedKd/PID_dT);
+#endif //PIDTEMPBED
+  
+#ifdef FAN_SOFT_PWM
+  unsigned char fanSpeedSoftPwm;
+#endif
+
+unsigned char soft_pwm_bed;
+  
+#ifdef BABYSTEPPING
+  volatile int babystepsTodo[3]={0,0,0};
+#endif
+
+#ifdef FILAMENT_SENSOR
+  int current_raw_filwidth = 0;  //Holds measured filament diameter - one extruder only
+#endif  
+//===========================================================================
+//=============================private variables============================
+//===========================================================================
+static volatile bool temp_meas_ready = false;
+
+#ifdef PIDTEMP
+  //static cannot be external:
+  static float temp_iState[EXTRUDERS] = { 0 };
+  static float temp_dState[EXTRUDERS] = { 0 };
+  static float pTerm[EXTRUDERS];
+  static float iTerm[EXTRUDERS];
+  static float dTerm[EXTRUDERS];
+  //int output;
+  static float pid_error[EXTRUDERS];
+  static float temp_iState_min[EXTRUDERS];
+  static float temp_iState_max[EXTRUDERS];
+  // static float pid_input[EXTRUDERS];
+  // static float pid_output[EXTRUDERS];
+  static bool pid_reset[EXTRUDERS];
+#endif //PIDTEMP
+#ifdef PIDTEMPBED
+  //static cannot be external:
+  static float temp_iState_bed = { 0 };
+  static float temp_dState_bed = { 0 };
+  static float pTerm_bed;
+  static float iTerm_bed;
+  static float dTerm_bed;
+  //int output;
+  static float pid_error_bed;
+  static float temp_iState_min_bed;
+  static float temp_iState_max_bed;
+#else //PIDTEMPBED
+	static unsigned long  previous_millis_bed_heater;
+#endif //PIDTEMPBED
+  static unsigned char soft_pwm[EXTRUDERS];
+
+#ifdef FAN_SOFT_PWM
+  static unsigned char soft_pwm_fan;
+#endif
+#if (defined(EXTRUDER_0_AUTO_FAN_PIN) && EXTRUDER_0_AUTO_FAN_PIN > -1) || \
+    (defined(EXTRUDER_1_AUTO_FAN_PIN) && EXTRUDER_1_AUTO_FAN_PIN > -1) || \
+    (defined(EXTRUDER_2_AUTO_FAN_PIN) && EXTRUDER_2_AUTO_FAN_PIN > -1)
+  static unsigned long extruder_autofan_last_check;
+#endif  
+
+#if EXTRUDERS > 3
+  # error Unsupported number of extruders
+#elif EXTRUDERS > 2
+  # define ARRAY_BY_EXTRUDERS(v1, v2, v3) { v1, v2, v3 }
+#elif EXTRUDERS > 1
+  # define ARRAY_BY_EXTRUDERS(v1, v2, v3) { v1, v2 }
+#else
+  # define ARRAY_BY_EXTRUDERS(v1, v2, v3) { v1 }
+#endif
+
+// Init min and max temp with extreme values to prevent false errors during startup
+static int minttemp_raw[EXTRUDERS] = ARRAY_BY_EXTRUDERS( HEATER_0_RAW_LO_TEMP , HEATER_1_RAW_LO_TEMP , HEATER_2_RAW_LO_TEMP );
+static int maxttemp_raw[EXTRUDERS] = ARRAY_BY_EXTRUDERS( HEATER_0_RAW_HI_TEMP , HEATER_1_RAW_HI_TEMP , HEATER_2_RAW_HI_TEMP );
+static int minttemp[EXTRUDERS] = ARRAY_BY_EXTRUDERS( 0, 0, 0 );
+static int maxttemp[EXTRUDERS] = ARRAY_BY_EXTRUDERS( 16383, 16383, 16383 );
+//static int bed_minttemp_raw = HEATER_BED_RAW_LO_TEMP; /* No bed mintemp error implemented?!? */
+#ifdef BED_MAXTEMP
+static int bed_maxttemp_raw = HEATER_BED_RAW_HI_TEMP;
+#endif
+
+#ifdef TEMP_SENSOR_1_AS_REDUNDANT
+  static void *heater_ttbl_map[2] = {(void *)HEATER_0_TEMPTABLE, (void *)HEATER_1_TEMPTABLE };
+  static uint8_t heater_ttbllen_map[2] = { HEATER_0_TEMPTABLE_LEN, HEATER_1_TEMPTABLE_LEN };
+#else
+  static void *heater_ttbl_map[EXTRUDERS] = ARRAY_BY_EXTRUDERS( (void *)HEATER_0_TEMPTABLE, (void *)HEATER_1_TEMPTABLE, (void *)HEATER_2_TEMPTABLE );
+  static uint8_t heater_ttbllen_map[EXTRUDERS] = ARRAY_BY_EXTRUDERS( HEATER_0_TEMPTABLE_LEN, HEATER_1_TEMPTABLE_LEN, HEATER_2_TEMPTABLE_LEN );
+#endif
+
+static float analog2temp(int raw, uint8_t e);
+static float analog2tempBed(int raw);
+static void updateTemperaturesFromRawValues();
+
+#ifdef WATCH_TEMP_PERIOD
+int watch_start_temp[EXTRUDERS] = ARRAY_BY_EXTRUDERS(0,0,0);
+unsigned long watchmillis[EXTRUDERS] = ARRAY_BY_EXTRUDERS(0,0,0);
+#endif //WATCH_TEMP_PERIOD
+
+#ifndef SOFT_PWM_SCALE
+#define SOFT_PWM_SCALE 0
+#endif
+
+#ifdef FILAMENT_SENSOR
+  static int meas_shift_index;  //used to point to a delayed sample in buffer for filament width sensor
+#endif
+//===========================================================================
+//=============================   functions      ============================
+//===========================================================================
+
+void PID_autotune(float temp, int extruder, int ncycles)
+{
+  float input = 0.0;
+  int cycles=0;
+  bool heating = true;
+
+  unsigned long temp_millis = millis();
+  unsigned long t1=temp_millis;
+  unsigned long t2=temp_millis;
+  long t_high = 0;
+  long t_low = 0;
+
+  long bias, d;
+  float Ku, Tu;
+  float Kp, Ki, Kd;
+  float max = 0, min = 10000;
+
+#if (defined(EXTRUDER_0_AUTO_FAN_PIN) && EXTRUDER_0_AUTO_FAN_PIN > -1) || \
+    (defined(EXTRUDER_1_AUTO_FAN_PIN) && EXTRUDER_1_AUTO_FAN_PIN > -1) || \
+    (defined(EXTRUDER_2_AUTO_FAN_PIN) && EXTRUDER_2_AUTO_FAN_PIN > -1)
+  unsigned long extruder_autofan_last_check = millis();
+#endif
+
+  if ((extruder >= EXTRUDERS)
+  #if (TEMP_BED_PIN <= -1)
+       ||(extruder < 0)
+  #endif
+       ){
+          SERIAL_ECHOLN("PID Autotune failed. Bad extruder number.");
+          return;
+        }
+	
+  SERIAL_ECHOLN("PID Autotune start");
+  
+  disable_heater(); // switch off all heaters.
+
+  if (extruder<0)
+  {
+     soft_pwm_bed = (MAX_BED_POWER)/2;
+     bias = d = (MAX_BED_POWER)/2;
+   }
+   else
+   {
+     soft_pwm[extruder] = (PID_MAX)/2;
+     bias = d = (PID_MAX)/2;
+  }
+
+
+
+
+ for(;;) {
+
+    if(temp_meas_ready == true) { // temp sample ready
+      updateTemperaturesFromRawValues();
+
+      input = (extruder<0)?current_temperature_bed:current_temperature[extruder];
+
+      max=max(max,input);
+      min=min(min,input);
+
+      #if (defined(EXTRUDER_0_AUTO_FAN_PIN) && EXTRUDER_0_AUTO_FAN_PIN > -1) || \
+          (defined(EXTRUDER_1_AUTO_FAN_PIN) && EXTRUDER_1_AUTO_FAN_PIN > -1) || \
+          (defined(EXTRUDER_2_AUTO_FAN_PIN) && EXTRUDER_2_AUTO_FAN_PIN > -1)
+      if(millis() - extruder_autofan_last_check > 2500) {
+        checkExtruderAutoFans();
+        extruder_autofan_last_check = millis();
+      }
+      #endif
+
+      if(heating == true && input > temp) {
+        if(millis() - t2 > 5000) { 
+          heating=false;
+          if (extruder<0)
+            soft_pwm_bed = (bias - d) >> 1;
+          else
+            soft_pwm[extruder] = (bias - d) >> 1;
+          t1=millis();
+          t_high=t1 - t2;
+          max=temp;
+        }
+      }
+      if(heating == false && input < temp) {
+        if(millis() - t1 > 5000) {
+          heating=true;
+          t2=millis();
+          t_low=t2 - t1;
+          if(cycles > 0) {
+            bias += (d*(t_high - t_low))/(t_low + t_high);
+            bias = constrain(bias, 20 ,(extruder<0?(MAX_BED_POWER):(PID_MAX))-20);
+            if(bias > (extruder<0?(MAX_BED_POWER):(PID_MAX))/2) d = (extruder<0?(MAX_BED_POWER):(PID_MAX)) - 1 - bias;
+            else d = bias;
+
+            SERIAL_PROTOCOLPGM(" bias: "); SERIAL_PROTOCOL(bias);
+            SERIAL_PROTOCOLPGM(" d: "); SERIAL_PROTOCOL(d);
+            SERIAL_PROTOCOLPGM(" min: "); SERIAL_PROTOCOL(min);
+            SERIAL_PROTOCOLPGM(" max: "); SERIAL_PROTOCOLLN(max);
+            if(cycles > 2) {
+              Ku = (4.0*d)/(3.14159*(max-min)/2.0);
+              Tu = ((float)(t_low + t_high)/1000.0);
+              SERIAL_PROTOCOLPGM(" Ku: "); SERIAL_PROTOCOL(Ku);
+              SERIAL_PROTOCOLPGM(" Tu: "); SERIAL_PROTOCOLLN(Tu);
+              Kp = 0.6*Ku;
+              Ki = 2*Kp/Tu;
+              Kd = Kp*Tu/8;
+              SERIAL_PROTOCOLLNPGM(" Classic PID ");
+              SERIAL_PROTOCOLPGM(" Kp: "); SERIAL_PROTOCOLLN(Kp);
+              SERIAL_PROTOCOLPGM(" Ki: "); SERIAL_PROTOCOLLN(Ki);
+              SERIAL_PROTOCOLPGM(" Kd: "); SERIAL_PROTOCOLLN(Kd);
+              /*
+              Kp = 0.33*Ku;
+              Ki = Kp/Tu;
+              Kd = Kp*Tu/3;
+              SERIAL_PROTOCOLLNPGM(" Some overshoot ");
+              SERIAL_PROTOCOLPGM(" Kp: "); SERIAL_PROTOCOLLN(Kp);
+              SERIAL_PROTOCOLPGM(" Ki: "); SERIAL_PROTOCOLLN(Ki);
+              SERIAL_PROTOCOLPGM(" Kd: "); SERIAL_PROTOCOLLN(Kd);
+              Kp = 0.2*Ku;
+              Ki = 2*Kp/Tu;
+              Kd = Kp*Tu/3;
+              SERIAL_PROTOCOLLNPGM(" No overshoot ");
+              SERIAL_PROTOCOLPGM(" Kp: "); SERIAL_PROTOCOLLN(Kp);
+              SERIAL_PROTOCOLPGM(" Ki: "); SERIAL_PROTOCOLLN(Ki);
+              SERIAL_PROTOCOLPGM(" Kd: "); SERIAL_PROTOCOLLN(Kd);
+              */
+            }
+          }
+          if (extruder<0)
+            soft_pwm_bed = (bias + d) >> 1;
+          else
+            soft_pwm[extruder] = (bias + d) >> 1;
+          cycles++;
+          min=temp;
+        }
+      } 
+    }
+    if(input > (temp + 20)) {
+      SERIAL_PROTOCOLLNPGM("PID Autotune failed! Temperature too high");
+      return;
+    }
+    if(millis() - temp_millis > 2000) {
+      int p;
+      if (extruder<0){
+        p=soft_pwm_bed;       
+        SERIAL_PROTOCOLPGM("ok B:");
+      }else{
+        p=soft_pwm[extruder];       
+        SERIAL_PROTOCOLPGM("ok T:");
+      }
+			
+      SERIAL_PROTOCOL(input);   
+      SERIAL_PROTOCOLPGM(" @:");
+      SERIAL_PROTOCOLLN(p);       
+
+      temp_millis = millis();
+    }
+    if(((millis() - t1) + (millis() - t2)) > (10L*60L*1000L*2L)) {
+      SERIAL_PROTOCOLLNPGM("PID Autotune failed! timeout");
+      return;
+    }
+    if(cycles > ncycles) {
+      SERIAL_PROTOCOLLNPGM("PID Autotune finished! Put the last Kp, Ki and Kd constants from above into Configuration.h");
+      return;
+    }
+    lcd_update();
+  }
+}
+
+void updatePID()
+{
+#ifdef PIDTEMP
+  for(int e = 0; e < EXTRUDERS; e++) { 
+     temp_iState_max[e] = PID_INTEGRAL_DRIVE_MAX / Ki;  
+  }
+#endif
+#ifdef PIDTEMPBED
+  temp_iState_max_bed = PID_INTEGRAL_DRIVE_MAX / bedKi;  
+#endif
+}
+  
+int getHeaterPower(int heater) {
+	if (heater<0)
+		return soft_pwm_bed;
+  return soft_pwm[heater];
+}
+
+#if (defined(EXTRUDER_0_AUTO_FAN_PIN) && EXTRUDER_0_AUTO_FAN_PIN > -1) || \
+    (defined(EXTRUDER_1_AUTO_FAN_PIN) && EXTRUDER_1_AUTO_FAN_PIN > -1) || \
+    (defined(EXTRUDER_2_AUTO_FAN_PIN) && EXTRUDER_2_AUTO_FAN_PIN > -1)
+
+  #if defined(FAN_PIN) && FAN_PIN > -1
+    #if EXTRUDER_0_AUTO_FAN_PIN == FAN_PIN 
+       #error "You cannot set EXTRUDER_0_AUTO_FAN_PIN equal to FAN_PIN"
+    #endif
+    #if EXTRUDER_1_AUTO_FAN_PIN == FAN_PIN 
+       #error "You cannot set EXTRUDER_1_AUTO_FAN_PIN equal to FAN_PIN"
+    #endif
+    #if EXTRUDER_2_AUTO_FAN_PIN == FAN_PIN 
+       #error "You cannot set EXTRUDER_2_AUTO_FAN_PIN equal to FAN_PIN"
+    #endif
+  #endif 
+
+void setExtruderAutoFanState(int pin, bool state)
+{
+  unsigned char newFanSpeed = (state != 0) ? EXTRUDER_AUTO_FAN_SPEED : 0;
+  // this idiom allows both digital and PWM fan outputs (see M42 handling).
+  pinMode(pin, OUTPUT);
+  digitalWrite(pin, newFanSpeed);
+  analogWrite(pin, newFanSpeed);
+}
+
+void checkExtruderAutoFans()
+{
+  uint8_t fanState = 0;
+
+  // which fan pins need to be turned on?      
+  #if defined(EXTRUDER_0_AUTO_FAN_PIN) && EXTRUDER_0_AUTO_FAN_PIN > -1
+    if (current_temperature[0] > EXTRUDER_AUTO_FAN_TEMPERATURE) 
+      fanState |= 1;
+  #endif
+  #if defined(EXTRUDER_1_AUTO_FAN_PIN) && EXTRUDER_1_AUTO_FAN_PIN > -1
+    if (current_temperature[1] > EXTRUDER_AUTO_FAN_TEMPERATURE) 
+    {
+      if (EXTRUDER_1_AUTO_FAN_PIN == EXTRUDER_0_AUTO_FAN_PIN) 
+        fanState |= 1;
+      else
+        fanState |= 2;
+    }
+  #endif
+  #if defined(EXTRUDER_2_AUTO_FAN_PIN) && EXTRUDER_2_AUTO_FAN_PIN > -1
+    if (current_temperature[2] > EXTRUDER_AUTO_FAN_TEMPERATURE) 
+    {
+      if (EXTRUDER_2_AUTO_FAN_PIN == EXTRUDER_0_AUTO_FAN_PIN) 
+        fanState |= 1;
+      else if (EXTRUDER_2_AUTO_FAN_PIN == EXTRUDER_1_AUTO_FAN_PIN) 
+        fanState |= 2;
+      else
+        fanState |= 4;
+    }
+  #endif
+  
+  // update extruder auto fan states
+  #if defined(EXTRUDER_0_AUTO_FAN_PIN) && EXTRUDER_0_AUTO_FAN_PIN > -1
+    setExtruderAutoFanState(EXTRUDER_0_AUTO_FAN_PIN, (fanState & 1) != 0);
+  #endif 
+  #if defined(EXTRUDER_1_AUTO_FAN_PIN) && EXTRUDER_1_AUTO_FAN_PIN > -1
+    if (EXTRUDER_1_AUTO_FAN_PIN != EXTRUDER_0_AUTO_FAN_PIN) 
+      setExtruderAutoFanState(EXTRUDER_1_AUTO_FAN_PIN, (fanState & 2) != 0);
+  #endif 
+  #if defined(EXTRUDER_2_AUTO_FAN_PIN) && EXTRUDER_2_AUTO_FAN_PIN > -1
+    if (EXTRUDER_2_AUTO_FAN_PIN != EXTRUDER_0_AUTO_FAN_PIN 
+        && EXTRUDER_2_AUTO_FAN_PIN != EXTRUDER_1_AUTO_FAN_PIN)
+      setExtruderAutoFanState(EXTRUDER_2_AUTO_FAN_PIN, (fanState & 4) != 0);
+  #endif 
+}
+
+#endif // any extruder auto fan pins set
+
+void manage_heater()
+{
+  float pid_input;
+  float pid_output;
+
+  if(temp_meas_ready != true)   //better readability
+    return; 
+
+  updateTemperaturesFromRawValues();
+
+  for(int e = 0; e < EXTRUDERS; e++) 
+  {
+
+#if defined (THERMAL_RUNAWAY_PROTECTION_PERIOD) && THERMAL_RUNAWAY_PROTECTION_PERIOD > 0
+    thermal_runaway_protection(&thermal_runaway_state_machine[e], &thermal_runaway_timer[e], current_temperature[e], target_temperature[e], e, THERMAL_RUNAWAY_PROTECTION_PERIOD, THERMAL_RUNAWAY_PROTECTION_HYSTERESIS);
+  #endif
+
+  #ifdef PIDTEMP
+    pid_input = current_temperature[e];
+
+    #ifndef PID_OPENLOOP
+        pid_error[e] = target_temperature[e] - pid_input;
+        if(pid_error[e] > PID_FUNCTIONAL_RANGE) {
+          pid_output = BANG_MAX;
+          pid_reset[e] = true;
+        }
+        else if(pid_error[e] < -PID_FUNCTIONAL_RANGE || target_temperature[e] == 0) {
+          pid_output = 0;
+          pid_reset[e] = true;
+        }
+        else {
+          if(pid_reset[e] == true) {
+            temp_iState[e] = 0.0;
+            pid_reset[e] = false;
+          }
+          pTerm[e] = Kp * pid_error[e];
+          temp_iState[e] += pid_error[e];
+          temp_iState[e] = constrain(temp_iState[e], temp_iState_min[e], temp_iState_max[e]);
+          iTerm[e] = Ki * temp_iState[e];
+
+          //K1 defined in Configuration.h in the PID settings
+          #define K2 (1.0-K1)
+          dTerm[e] = (Kd * (pid_input - temp_dState[e]))*K2 + (K1 * dTerm[e]);
+          pid_output = pTerm[e] + iTerm[e] - dTerm[e];
+          if (pid_output > PID_MAX) {
+            if (pid_error[e] > 0 )  temp_iState[e] -= pid_error[e]; // conditional un-integration
+            pid_output=PID_MAX;
+          } else if (pid_output < 0){
+            if (pid_error[e] < 0 )  temp_iState[e] -= pid_error[e]; // conditional un-integration
+            pid_output=0;
+          }
+        }
+        temp_dState[e] = pid_input;
+    #else 
+          pid_output = constrain(target_temperature[e], 0, PID_MAX);
+    #endif //PID_OPENLOOP
+    #ifdef PID_DEBUG
+    SERIAL_ECHO_START;
+    SERIAL_ECHO(" PID_DEBUG ");
+    SERIAL_ECHO(e);
+    SERIAL_ECHO(": Input ");
+    SERIAL_ECHO(pid_input);
+    SERIAL_ECHO(" Output ");
+    SERIAL_ECHO(pid_output);
+    SERIAL_ECHO(" pTerm ");
+    SERIAL_ECHO(pTerm[e]);
+    SERIAL_ECHO(" iTerm ");
+    SERIAL_ECHO(iTerm[e]);
+    SERIAL_ECHO(" dTerm ");
+    SERIAL_ECHOLN(dTerm[e]);
+    #endif //PID_DEBUG
+  #else /* PID off */
+    pid_output = 0;
+    if(current_temperature[e] < target_temperature[e]) {
+      pid_output = PID_MAX;
+    }
+  #endif
+
+    // Check if temperature is within the correct range
+    if((current_temperature[e] > minttemp[e]) && (current_temperature[e] < maxttemp[e])) 
+    {
+      soft_pwm[e] = (int)pid_output >> 1;
+    }
+    else {
+      soft_pwm[e] = 0;
+    }
+
+    #ifdef WATCH_TEMP_PERIOD
+    if(watchmillis[e] && millis() - watchmillis[e] > WATCH_TEMP_PERIOD)
+    {
+        if(degHotend(e) < watch_start_temp[e] + WATCH_TEMP_INCREASE)
+        {
+            setTargetHotend(0, e);
+            LCD_MESSAGEPGM("Heating failed");
+            SERIAL_ECHO_START;
+            SERIAL_ECHOLN("Heating failed");
+        }else{
+            watchmillis[e] = 0;
+        }
+    }
+    #endif
+    #ifdef TEMP_SENSOR_1_AS_REDUNDANT
+      if(fabs(current_temperature[0] - redundant_temperature) > MAX_REDUNDANT_TEMP_SENSOR_DIFF) {
+        disable_heater();
+        if(IsStopped() == false) {
+          SERIAL_ERROR_START;
+          SERIAL_ERRORLNPGM("Extruder switched off. Temperature difference between temp sensors is too high !");
+          LCD_ALERTMESSAGEPGM("Err: REDUNDANT TEMP ERROR");
+        }
+        #ifndef BOGUS_TEMPERATURE_FAILSAFE_OVERRIDE
+          Stop();
+        #endif
+      }
+    #endif
+  } // End extruder for loop
+
+  #if (defined(EXTRUDER_0_AUTO_FAN_PIN) && EXTRUDER_0_AUTO_FAN_PIN > -1) || \
+      (defined(EXTRUDER_1_AUTO_FAN_PIN) && EXTRUDER_1_AUTO_FAN_PIN > -1) || \
+      (defined(EXTRUDER_2_AUTO_FAN_PIN) && EXTRUDER_2_AUTO_FAN_PIN > -1)
+  if(millis() - extruder_autofan_last_check > 2500)  // only need to check fan state very infrequently
+  {
+    checkExtruderAutoFans();
+    extruder_autofan_last_check = millis();
+  }  
+  #endif       
+  
+  #ifndef PIDTEMPBED
+  if(millis() - previous_millis_bed_heater < BED_CHECK_INTERVAL)
+    return;
+  previous_millis_bed_heater = millis();
+  #endif
+
+  #if TEMP_SENSOR_BED != 0
+  
+    #ifdef THERMAL_RUNAWAY_PROTECTION_BED_PERIOD && THERMAL_RUNAWAY_PROTECTION_BED_PERIOD > 0
+      thermal_runaway_protection(&thermal_runaway_bed_state_machine, &thermal_runaway_bed_timer, current_temperature_bed, target_temperature_bed, 9, THERMAL_RUNAWAY_PROTECTION_BED_PERIOD, THERMAL_RUNAWAY_PROTECTION_BED_HYSTERESIS);
+    #endif
+
+  #ifdef PIDTEMPBED
+    pid_input = current_temperature_bed;
+
+    #ifndef PID_OPENLOOP
+		  pid_error_bed = target_temperature_bed - pid_input;
+		  pTerm_bed = bedKp * pid_error_bed;
+		  temp_iState_bed += pid_error_bed;
+		  temp_iState_bed = constrain(temp_iState_bed, temp_iState_min_bed, temp_iState_max_bed);
+		  iTerm_bed = bedKi * temp_iState_bed;
+
+		  //K1 defined in Configuration.h in the PID settings
+		  #define K2 (1.0-K1)
+		  dTerm_bed= (bedKd * (pid_input - temp_dState_bed))*K2 + (K1 * dTerm_bed);
+		  temp_dState_bed = pid_input;
+
+		  pid_output = pTerm_bed + iTerm_bed - dTerm_bed;
+          	  if (pid_output > MAX_BED_POWER) {
+            	    if (pid_error_bed > 0 )  temp_iState_bed -= pid_error_bed; // conditional un-integration
+                    pid_output=MAX_BED_POWER;
+          	  } else if (pid_output < 0){
+            	    if (pid_error_bed < 0 )  temp_iState_bed -= pid_error_bed; // conditional un-integration
+                    pid_output=0;
+                  }
+
+    #else 
+      pid_output = constrain(target_temperature_bed, 0, MAX_BED_POWER);
+    #endif //PID_OPENLOOP
+
+	  if((current_temperature_bed > BED_MINTEMP) && (current_temperature_bed < BED_MAXTEMP)) 
+	  {
+	    soft_pwm_bed = (int)pid_output >> 1;
+	  }
+	  else {
+	    soft_pwm_bed = 0;
+	  }
+
+    #elif !defined(BED_LIMIT_SWITCHING)
+      // Check if temperature is within the correct range
+      if((current_temperature_bed > BED_MINTEMP) && (current_temperature_bed < BED_MAXTEMP))
+      {
+        if(current_temperature_bed >= target_temperature_bed)
+        {
+          soft_pwm_bed = 0;
+        }
+        else 
+        {
+          soft_pwm_bed = MAX_BED_POWER>>1;
+        }
+      }
+      else
+      {
+        soft_pwm_bed = 0;
+        WRITE(HEATER_BED_PIN,LOW);
+      }
+    #else //#ifdef BED_LIMIT_SWITCHING
+      // Check if temperature is within the correct band
+      if((current_temperature_bed > BED_MINTEMP) && (current_temperature_bed < BED_MAXTEMP))
+      {
+        if(current_temperature_bed > target_temperature_bed + BED_HYSTERESIS)
+        {
+          soft_pwm_bed = 0;
+        }
+        else if(current_temperature_bed <= target_temperature_bed - BED_HYSTERESIS)
+        {
+          soft_pwm_bed = MAX_BED_POWER>>1;
+        }
+      }
+      else
+      {
+        soft_pwm_bed = 0;
+        WRITE(HEATER_BED_PIN,LOW);
+      }
+    #endif
+  #endif
+  
+//code for controlling the extruder rate based on the width sensor 
+#ifdef FILAMENT_SENSOR
+  if(filament_sensor) 
+	{
+	meas_shift_index=delay_index1-meas_delay_cm;
+		  if(meas_shift_index<0)
+			  meas_shift_index = meas_shift_index + (MAX_MEASUREMENT_DELAY+1);  //loop around buffer if needed
+		  
+		  //get the delayed info and add 100 to reconstitute to a percent of the nominal filament diameter
+		  //then square it to get an area
+		  
+		  if(meas_shift_index<0)
+			  meas_shift_index=0;
+		  else if (meas_shift_index>MAX_MEASUREMENT_DELAY)
+			  meas_shift_index=MAX_MEASUREMENT_DELAY;
+		  
+		     volumetric_multiplier[FILAMENT_SENSOR_EXTRUDER_NUM] = pow((float)(100+measurement_delay[meas_shift_index])/100.0,2);
+		     if (volumetric_multiplier[FILAMENT_SENSOR_EXTRUDER_NUM] <0.01)
+		    	 volumetric_multiplier[FILAMENT_SENSOR_EXTRUDER_NUM]=0.01;
+	}
+#endif
+}
+
+#define PGM_RD_W(x)   (short)pgm_read_word(&x)
+// Derived from RepRap FiveD extruder::getTemperature()
+// For hot end temperature measurement.
+static float analog2temp(int raw, uint8_t e) {
+#ifdef TEMP_SENSOR_1_AS_REDUNDANT
+  if(e > EXTRUDERS)
+#else
+  if(e >= EXTRUDERS)
+#endif
+  {
+      SERIAL_ERROR_START;
+      SERIAL_ERROR((int)e);
+      SERIAL_ERRORLNPGM(" - Invalid extruder number !");
+      kill();
+      return 0.0;
+  } 
+  #ifdef HEATER_0_USES_MAX6675
+    if (e == 0)
+    {
+      return 0.25 * raw;
+    }
+  #endif
+
+  if(heater_ttbl_map[e] != NULL)
+  {
+    float celsius = 0;
+    uint8_t i;
+    short (*tt)[][2] = (short (*)[][2])(heater_ttbl_map[e]);
+
+    for (i=1; i<heater_ttbllen_map[e]; i++)
+    {
+      if (PGM_RD_W((*tt)[i][0]) > raw)
+      {
+        celsius = PGM_RD_W((*tt)[i-1][1]) + 
+          (raw - PGM_RD_W((*tt)[i-1][0])) * 
+          (float)(PGM_RD_W((*tt)[i][1]) - PGM_RD_W((*tt)[i-1][1])) /
+          (float)(PGM_RD_W((*tt)[i][0]) - PGM_RD_W((*tt)[i-1][0]));
+        break;
+      }
+    }
+
+    // Overflow: Set to last value in the table
+    if (i == heater_ttbllen_map[e]) celsius = PGM_RD_W((*tt)[i-1][1]);
+
+    return celsius;
+  }
+  return ((raw * ((5.0 * 100.0) / 1024.0) / OVERSAMPLENR) * TEMP_SENSOR_AD595_GAIN) + TEMP_SENSOR_AD595_OFFSET;
+}
+
+// Derived from RepRap FiveD extruder::getTemperature()
+// For bed temperature measurement.
+static float analog2tempBed(int raw) {
+  #ifdef BED_USES_THERMISTOR
+    float celsius = 0;
+    byte i;
+
+    for (i=1; i<BEDTEMPTABLE_LEN; i++)
+    {
+      if (PGM_RD_W(BEDTEMPTABLE[i][0]) > raw)
+      {
+        celsius  = PGM_RD_W(BEDTEMPTABLE[i-1][1]) + 
+          (raw - PGM_RD_W(BEDTEMPTABLE[i-1][0])) * 
+          (float)(PGM_RD_W(BEDTEMPTABLE[i][1]) - PGM_RD_W(BEDTEMPTABLE[i-1][1])) /
+          (float)(PGM_RD_W(BEDTEMPTABLE[i][0]) - PGM_RD_W(BEDTEMPTABLE[i-1][0]));
+        break;
+      }
+    }
+
+    // Overflow: Set to last value in the table
+    if (i == BEDTEMPTABLE_LEN) celsius = PGM_RD_W(BEDTEMPTABLE[i-1][1]);
+
+    return celsius;
+  #elif defined BED_USES_AD595
+    return ((raw * ((5.0 * 100.0) / 1024.0) / OVERSAMPLENR) * TEMP_SENSOR_AD595_GAIN) + TEMP_SENSOR_AD595_OFFSET;
+  #else
+    return 0;
+  #endif
+}
+
+/* Called to get the raw values into the the actual temperatures. The raw values are created in interrupt context,
+    and this function is called from normal context as it is too slow to run in interrupts and will block the stepper routine otherwise */
+static void updateTemperaturesFromRawValues()
+{
+    for(uint8_t e=0;e<EXTRUDERS;e++)
+    {
+        current_temperature[e] = analog2temp(current_temperature_raw[e], e);
+    }
+    current_temperature_bed = analog2tempBed(current_temperature_bed_raw);
+    #ifdef TEMP_SENSOR_1_AS_REDUNDANT
+      redundant_temperature = analog2temp(redundant_temperature_raw, 1);
+    #endif
+    #if defined (FILAMENT_SENSOR) && (FILWIDTH_PIN > -1)    //check if a sensor is supported 
+      filament_width_meas = analog2widthFil();
+    #endif  
+    //Reset the watchdog after we know we have a temperature measurement.
+    watchdog_reset();
+
+    CRITICAL_SECTION_START;
+    temp_meas_ready = false;
+    CRITICAL_SECTION_END;
+}
+
+
+// For converting raw Filament Width to milimeters 
+#ifdef FILAMENT_SENSOR
+float analog2widthFil() { 
+return current_raw_filwidth/16383.0*5.0; 
+//return current_raw_filwidth; 
+} 
+ 
+// For converting raw Filament Width to a ratio 
+int widthFil_to_size_ratio() { 
+ 
+float temp; 
+      
+temp=filament_width_meas;
+if(filament_width_meas<MEASURED_LOWER_LIMIT)
+	temp=filament_width_nominal;  //assume sensor cut out
+else if (filament_width_meas>MEASURED_UPPER_LIMIT)
+	temp= MEASURED_UPPER_LIMIT;
+
+
+return(filament_width_nominal/temp*100); 
+
+
+} 
+#endif
+
+
+
+
+
+void tp_init()
+{
+#if MB(RUMBA) && ((TEMP_SENSOR_0==-1)||(TEMP_SENSOR_1==-1)||(TEMP_SENSOR_2==-1)||(TEMP_SENSOR_BED==-1))
+  //disable RUMBA JTAG in case the thermocouple extension is plugged on top of JTAG connector
+  MCUCR=(1<<JTD); 
+  MCUCR=(1<<JTD);
+#endif
+  
+  // Finish init of mult extruder arrays 
+  for(int e = 0; e < EXTRUDERS; e++) {
+    // populate with the first value 
+    maxttemp[e] = maxttemp[0];
+#ifdef PIDTEMP
+    temp_iState_min[e] = 0.0;
+    temp_iState_max[e] = PID_INTEGRAL_DRIVE_MAX / Ki;
+#endif //PIDTEMP
+#ifdef PIDTEMPBED
+    temp_iState_min_bed = 0.0;
+    temp_iState_max_bed = PID_INTEGRAL_DRIVE_MAX / bedKi;
+#endif //PIDTEMPBED
+  }
+
+  #if defined(HEATER_0_PIN) && (HEATER_0_PIN > -1) 
+    SET_OUTPUT(HEATER_0_PIN);
+  #endif  
+  #if defined(HEATER_1_PIN) && (HEATER_1_PIN > -1) 
+    SET_OUTPUT(HEATER_1_PIN);
+  #endif  
+  #if defined(HEATER_2_PIN) && (HEATER_2_PIN > -1) 
+    SET_OUTPUT(HEATER_2_PIN);
+  #endif  
+  #if defined(HEATER_BED_PIN) && (HEATER_BED_PIN > -1) 
+    SET_OUTPUT(HEATER_BED_PIN);
+  #endif  
+  #if defined(FAN_PIN) && (FAN_PIN > -1) 
+    SET_OUTPUT(FAN_PIN);
+    #ifdef FAST_PWM_FAN
+    setPwmFrequency(FAN_PIN, 1); // No prescaling. Pwm frequency = F_CPU/256/8
+    #endif
+    #ifdef FAN_SOFT_PWM
+    soft_pwm_fan = fanSpeedSoftPwm / 2;
+    #endif
+  #endif  
+
+  #ifdef HEATER_0_USES_MAX6675
+    #ifndef SDSUPPORT
+      SET_OUTPUT(SCK_PIN);
+      WRITE(SCK_PIN,0);
+    
+      SET_OUTPUT(MOSI_PIN);
+      WRITE(MOSI_PIN,1);
+    
+      SET_INPUT(MISO_PIN);
+      WRITE(MISO_PIN,1);
+    #endif
+    /* Using pinMode and digitalWrite, as that was the only way I could get it to compile */
+    
+    //Have to toggle SD card CS pin to low first, to enable firmware to talk with SD card
+	pinMode(SS_PIN, OUTPUT);
+	digitalWrite(SS_PIN,0);  
+	pinMode(MAX6675_SS, OUTPUT);
+	digitalWrite(MAX6675_SS,1);
+  #endif
+
+  // Set analog inputs
+  ADCSRA = 1<<ADEN | 1<<ADSC | 1<<ADIF | 0x07;
+  DIDR0 = 0;
+  #ifdef DIDR2
+    DIDR2 = 0;
+  #endif
+  #if defined(TEMP_0_PIN) && (TEMP_0_PIN > -1)
+    #if TEMP_0_PIN < 8
+       DIDR0 |= 1 << TEMP_0_PIN; 
+    #else
+       DIDR2 |= 1<<(TEMP_0_PIN - 8); 
+    #endif
+  #endif
+  #if defined(TEMP_1_PIN) && (TEMP_1_PIN > -1)
+    #if TEMP_1_PIN < 8
+       DIDR0 |= 1<<TEMP_1_PIN; 
+    #else
+       DIDR2 |= 1<<(TEMP_1_PIN - 8); 
+    #endif
+  #endif
+  #if defined(TEMP_2_PIN) && (TEMP_2_PIN > -1)
+    #if TEMP_2_PIN < 8
+       DIDR0 |= 1 << TEMP_2_PIN; 
+    #else
+       DIDR2 |= 1<<(TEMP_2_PIN - 8); 
+    #endif
+  #endif
+  #if defined(TEMP_BED_PIN) && (TEMP_BED_PIN > -1)
+    #if TEMP_BED_PIN < 8
+       DIDR0 |= 1<<TEMP_BED_PIN; 
+    #else
+       DIDR2 |= 1<<(TEMP_BED_PIN - 8); 
+    #endif
+  #endif
+  
+  //Added for Filament Sensor 
+  #ifdef FILAMENT_SENSOR
+   #if defined(FILWIDTH_PIN) && (FILWIDTH_PIN > -1) 
+	#if FILWIDTH_PIN < 8 
+       	   DIDR0 |= 1<<FILWIDTH_PIN;  
+	#else 
+       	   DIDR2 |= 1<<(FILWIDTH_PIN - 8);  
+	#endif 
+   #endif
+  #endif
+  
+  // Use timer0 for temperature measurement
+  // Interleave temperature interrupt with millies interrupt
+  OCR0B = 128;
+  TIMSK0 |= (1<<OCIE0B);  
+  
+  // Wait for temperature measurement to settle
+  delay(250);
+
+#ifdef HEATER_0_MINTEMP
+  minttemp[0] = HEATER_0_MINTEMP;
+  while(analog2temp(minttemp_raw[0], 0) < HEATER_0_MINTEMP) {
+#if HEATER_0_RAW_LO_TEMP < HEATER_0_RAW_HI_TEMP
+    minttemp_raw[0] += OVERSAMPLENR;
+#else
+    minttemp_raw[0] -= OVERSAMPLENR;
+#endif
+  }
+#endif //MINTEMP
+#ifdef HEATER_0_MAXTEMP
+  maxttemp[0] = HEATER_0_MAXTEMP;
+  while(analog2temp(maxttemp_raw[0], 0) > HEATER_0_MAXTEMP) {
+#if HEATER_0_RAW_LO_TEMP < HEATER_0_RAW_HI_TEMP
+    maxttemp_raw[0] -= OVERSAMPLENR;
+#else
+    maxttemp_raw[0] += OVERSAMPLENR;
+#endif
+  }
+#endif //MAXTEMP
+
+#if (EXTRUDERS > 1) && defined(HEATER_1_MINTEMP)
+  minttemp[1] = HEATER_1_MINTEMP;
+  while(analog2temp(minttemp_raw[1], 1) < HEATER_1_MINTEMP) {
+#if HEATER_1_RAW_LO_TEMP < HEATER_1_RAW_HI_TEMP
+    minttemp_raw[1] += OVERSAMPLENR;
+#else
+    minttemp_raw[1] -= OVERSAMPLENR;
+#endif
+  }
+#endif // MINTEMP 1
+#if (EXTRUDERS > 1) && defined(HEATER_1_MAXTEMP)
+  maxttemp[1] = HEATER_1_MAXTEMP;
+  while(analog2temp(maxttemp_raw[1], 1) > HEATER_1_MAXTEMP) {
+#if HEATER_1_RAW_LO_TEMP < HEATER_1_RAW_HI_TEMP
+    maxttemp_raw[1] -= OVERSAMPLENR;
+#else
+    maxttemp_raw[1] += OVERSAMPLENR;
+#endif
+  }
+#endif //MAXTEMP 1
+
+#if (EXTRUDERS > 2) && defined(HEATER_2_MINTEMP)
+  minttemp[2] = HEATER_2_MINTEMP;
+  while(analog2temp(minttemp_raw[2], 2) < HEATER_2_MINTEMP) {
+#if HEATER_2_RAW_LO_TEMP < HEATER_2_RAW_HI_TEMP
+    minttemp_raw[2] += OVERSAMPLENR;
+#else
+    minttemp_raw[2] -= OVERSAMPLENR;
+#endif
+  }
+#endif //MINTEMP 2
+#if (EXTRUDERS > 2) && defined(HEATER_2_MAXTEMP)
+  maxttemp[2] = HEATER_2_MAXTEMP;
+  while(analog2temp(maxttemp_raw[2], 2) > HEATER_2_MAXTEMP) {
+#if HEATER_2_RAW_LO_TEMP < HEATER_2_RAW_HI_TEMP
+    maxttemp_raw[2] -= OVERSAMPLENR;
+#else
+    maxttemp_raw[2] += OVERSAMPLENR;
+#endif
+  }
+#endif //MAXTEMP 2
+
+#ifdef BED_MINTEMP
+  /* No bed MINTEMP error implemented?!? */ /*
+  while(analog2tempBed(bed_minttemp_raw) < BED_MINTEMP) {
+#if HEATER_BED_RAW_LO_TEMP < HEATER_BED_RAW_HI_TEMP
+    bed_minttemp_raw += OVERSAMPLENR;
+#else
+    bed_minttemp_raw -= OVERSAMPLENR;
+#endif
+  }
+  */
+#endif //BED_MINTEMP
+#ifdef BED_MAXTEMP
+  while(analog2tempBed(bed_maxttemp_raw) > BED_MAXTEMP) {
+#if HEATER_BED_RAW_LO_TEMP < HEATER_BED_RAW_HI_TEMP
+    bed_maxttemp_raw -= OVERSAMPLENR;
+#else
+    bed_maxttemp_raw += OVERSAMPLENR;
+#endif
+  }
+#endif //BED_MAXTEMP
+}
+
+void setWatch() 
+{  
+#ifdef WATCH_TEMP_PERIOD
+  for (int e = 0; e < EXTRUDERS; e++)
+  {
+    if(degHotend(e) < degTargetHotend(e) - (WATCH_TEMP_INCREASE * 2))
+    {
+      watch_start_temp[e] = degHotend(e);
+      watchmillis[e] = millis();
+    } 
+  }
+#endif 
+}
+
+#if (defined (THERMAL_RUNAWAY_PROTECTION_PERIOD) && THERMAL_RUNAWAY_PROTECTION_PERIOD > 0) || (defined (THERMAL_RUNAWAY_PROTECTION_BED_PERIOD) && THERMAL_RUNAWAY_PROTECTION_BED_PERIOD > 0)
+void thermal_runaway_protection(int *state, unsigned long *timer, float temperature, float target_temperature, int heater_id, int period_seconds, int hysteresis_degc)
+{
+/*
+      SERIAL_ECHO_START;
+      SERIAL_ECHO("Thermal Thermal Runaway Running. Heater ID:");
+      SERIAL_ECHO(heater_id);
+      SERIAL_ECHO(" ;  State:");
+      SERIAL_ECHO(*state);
+      SERIAL_ECHO(" ;  Timer:");
+      SERIAL_ECHO(*timer);
+      SERIAL_ECHO(" ;  Temperature:");
+      SERIAL_ECHO(temperature);
+      SERIAL_ECHO(" ;  Target Temp:");
+      SERIAL_ECHO(target_temperature);
+      SERIAL_ECHOLN("");    
+*/
+  if ((target_temperature == 0) || thermal_runaway)
+  {
+    *state = 0;
+    *timer = 0;
+    return;
+  }
+  switch (*state)
+  {
+    case 0: // "Heater Inactive" state
+      if (target_temperature > 0) *state = 1;
+      break;
+    case 1: // "First Heating" state
+      if (temperature >= target_temperature) *state = 2;
+      break;
+    case 2: // "Temperature Stable" state
+      if (temperature >= (target_temperature - hysteresis_degc))
+      {
+        *timer = millis();
+      } 
+      else if ( (millis() - *timer) > ((unsigned long) period_seconds) * 1000)
+      {
+        SERIAL_ERROR_START;
+        SERIAL_ERRORLNPGM("Thermal Runaway, system stopped! Heater_ID: ");
+        SERIAL_ERRORLN((int)heater_id);
+        LCD_ALERTMESSAGEPGM("THERMAL RUNAWAY");
+        thermal_runaway = true;
+        while(1)
+        {
+          disable_heater();
+          disable_x();
+          disable_y();
+          disable_z();
+          disable_e0();
+          disable_e1();
+          disable_e2();
+          manage_heater();
+          lcd_update();
+        }
+      }
+      break;
+  }
+}
+#endif
+
+void disable_heater()
+{
+  for(int i=0;i<EXTRUDERS;i++)
+    setTargetHotend(0,i);
+  setTargetBed(0);
+  #if defined(TEMP_0_PIN) && TEMP_0_PIN > -1
+  target_temperature[0]=0;
+  soft_pwm[0]=0;
+   #if defined(HEATER_0_PIN) && HEATER_0_PIN > -1  
+     WRITE(HEATER_0_PIN,LOW);
+   #endif
+  #endif
+     
+  #if defined(TEMP_1_PIN) && TEMP_1_PIN > -1 && EXTRUDERS > 1
+    target_temperature[1]=0;
+    soft_pwm[1]=0;
+    #if defined(HEATER_1_PIN) && HEATER_1_PIN > -1 
+      WRITE(HEATER_1_PIN,LOW);
+    #endif
+  #endif
+      
+  #if defined(TEMP_2_PIN) && TEMP_2_PIN > -1 && EXTRUDERS > 2
+    target_temperature[2]=0;
+    soft_pwm[2]=0;
+    #if defined(HEATER_2_PIN) && HEATER_2_PIN > -1  
+      WRITE(HEATER_2_PIN,LOW);
+    #endif
+  #endif 
+
+  #if defined(TEMP_BED_PIN) && TEMP_BED_PIN > -1
+    target_temperature_bed=0;
+    soft_pwm_bed=0;
+    #if defined(HEATER_BED_PIN) && HEATER_BED_PIN > -1  
+      WRITE(HEATER_BED_PIN,LOW);
+    #endif
+  #endif 
+}
+
+void max_temp_error(uint8_t e) {
+  disable_heater();
+  if(IsStopped() == false) {
+    SERIAL_ERROR_START;
+    SERIAL_ERRORLN((int)e);
+    SERIAL_ERRORLNPGM(": Extruder switched off. MAXTEMP triggered !");
+    LCD_ALERTMESSAGEPGM("Err: MAXTEMP");
+  }
+  #ifndef BOGUS_TEMPERATURE_FAILSAFE_OVERRIDE
+  Stop();
+  #endif
+}
+
+void min_temp_error(uint8_t e) {
+  disable_heater();
+  if(IsStopped() == false) {
+    SERIAL_ERROR_START;
+    SERIAL_ERRORLN((int)e);
+    SERIAL_ERRORLNPGM(": Extruder switched off. MINTEMP triggered !");
+    LCD_ALERTMESSAGEPGM("Err: MINTEMP");
+  }
+  #ifndef BOGUS_TEMPERATURE_FAILSAFE_OVERRIDE
+  Stop();
+  #endif
+}
+
+void bed_max_temp_error(void) {
+#if HEATER_BED_PIN > -1
+  WRITE(HEATER_BED_PIN, 0);
+#endif
+  if(IsStopped() == false) {
+    SERIAL_ERROR_START;
+    SERIAL_ERRORLNPGM("Temperature heated bed switched off. MAXTEMP triggered !!");
+    LCD_ALERTMESSAGEPGM("Err: MAXTEMP BED");
+  }
+  #ifndef BOGUS_TEMPERATURE_FAILSAFE_OVERRIDE
+  Stop();
+  #endif
+}
+
+#ifdef HEATER_0_USES_MAX6675
+#define MAX6675_HEAT_INTERVAL 250
+long max6675_previous_millis = MAX6675_HEAT_INTERVAL;
+int max6675_temp = 2000;
+
+int read_max6675()
+{
+  if (millis() - max6675_previous_millis < MAX6675_HEAT_INTERVAL) 
+    return max6675_temp;
+  
+  max6675_previous_millis = millis();
+  max6675_temp = 0;
+    
+  #ifdef	PRR
+    PRR &= ~(1<<PRSPI);
+  #elif defined PRR0
+    PRR0 &= ~(1<<PRSPI);
+  #endif
+  
+  SPCR = (1<<MSTR) | (1<<SPE) | (1<<SPR0);
+  
+  // enable TT_MAX6675
+  WRITE(MAX6675_SS, 0);
+  
+  // ensure 100ns delay - a bit extra is fine
+  asm("nop");//50ns on 20Mhz, 62.5ns on 16Mhz
+  asm("nop");//50ns on 20Mhz, 62.5ns on 16Mhz
+  
+  // read MSB
+  SPDR = 0;
+  for (;(SPSR & (1<<SPIF)) == 0;);
+  max6675_temp = SPDR;
+  max6675_temp <<= 8;
+  
+  // read LSB
+  SPDR = 0;
+  for (;(SPSR & (1<<SPIF)) == 0;);
+  max6675_temp |= SPDR;
+  
+  // disable TT_MAX6675
+  WRITE(MAX6675_SS, 1);
+
+  if (max6675_temp & 4) 
+  {
+    // thermocouple open
+    max6675_temp = 2000;
+  }
+  else 
+  {
+    max6675_temp = max6675_temp >> 3;
+  }
+
+  return max6675_temp;
+}
+#endif
+
+
+// Timer 0 is shared with millies
+ISR(TIMER0_COMPB_vect)
+{
+  //these variables are only accesible from the ISR, but static, so they don't lose their value
+  static unsigned char temp_count = 0;
+  static unsigned long raw_temp_0_value = 0;
+  static unsigned long raw_temp_1_value = 0;
+  static unsigned long raw_temp_2_value = 0;
+  static unsigned long raw_temp_bed_value = 0;
+  static unsigned char temp_state = 10;
+  static unsigned char pwm_count = (1 << SOFT_PWM_SCALE);
+  static unsigned char soft_pwm_0;
+#ifdef SLOW_PWM_HEATERS
+  static unsigned char slow_pwm_count = 0;
+  static unsigned char state_heater_0 = 0;
+  static unsigned char state_timer_heater_0 = 0;
+#endif 
+#if (EXTRUDERS > 1) || defined(HEATERS_PARALLEL)
+  static unsigned char soft_pwm_1;
+#ifdef SLOW_PWM_HEATERS
+  static unsigned char state_heater_1 = 0;
+  static unsigned char state_timer_heater_1 = 0;
+#endif 
+#endif
+#if EXTRUDERS > 2
+  static unsigned char soft_pwm_2;
+#ifdef SLOW_PWM_HEATERS
+  static unsigned char state_heater_2 = 0;
+  static unsigned char state_timer_heater_2 = 0;
+#endif 
+#endif
+#if HEATER_BED_PIN > -1
+  static unsigned char soft_pwm_b;
+#ifdef SLOW_PWM_HEATERS
+  static unsigned char state_heater_b = 0;
+  static unsigned char state_timer_heater_b = 0;
+#endif 
+#endif
+  
+#if defined(FILWIDTH_PIN) &&(FILWIDTH_PIN > -1)
+  static unsigned long raw_filwidth_value = 0;  //added for filament width sensor
+#endif
+  
+#ifndef SLOW_PWM_HEATERS
+  /*
+   * standard PWM modulation
+   */
+  if(pwm_count == 0){
+    soft_pwm_0 = soft_pwm[0];
+    if(soft_pwm_0 > 0) { 
+      WRITE(HEATER_0_PIN,1);
+#ifdef HEATERS_PARALLEL
+      WRITE(HEATER_1_PIN,1);
+#endif
+    } else WRITE(HEATER_0_PIN,0);
+    
+#if EXTRUDERS > 1
+    soft_pwm_1 = soft_pwm[1];
+    if(soft_pwm_1 > 0) WRITE(HEATER_1_PIN,1); else WRITE(HEATER_1_PIN,0);
+#endif
+#if EXTRUDERS > 2
+    soft_pwm_2 = soft_pwm[2];
+    if(soft_pwm_2 > 0) WRITE(HEATER_2_PIN,1); else WRITE(HEATER_2_PIN,0);
+#endif
+#if defined(HEATER_BED_PIN) && HEATER_BED_PIN > -1
+    soft_pwm_b = soft_pwm_bed;
+    if(soft_pwm_b > 0) WRITE(HEATER_BED_PIN,1); else WRITE(HEATER_BED_PIN,0);
+#endif
+#ifdef FAN_SOFT_PWM
+    soft_pwm_fan = fanSpeedSoftPwm / 2;
+    if(soft_pwm_fan > 0) WRITE(FAN_PIN,1); else WRITE(FAN_PIN,0);
+#endif
+  }
+  if(soft_pwm_0 < pwm_count) { 
+    WRITE(HEATER_0_PIN,0);
+#ifdef HEATERS_PARALLEL
+    WRITE(HEATER_1_PIN,0);
+#endif
+  }
+#if EXTRUDERS > 1
+  if(soft_pwm_1 < pwm_count) WRITE(HEATER_1_PIN,0);
+#endif
+#if EXTRUDERS > 2
+  if(soft_pwm_2 < pwm_count) WRITE(HEATER_2_PIN,0);
+#endif
+#if defined(HEATER_BED_PIN) && HEATER_BED_PIN > -1
+  if(soft_pwm_b < pwm_count) WRITE(HEATER_BED_PIN,0);
+#endif
+#ifdef FAN_SOFT_PWM
+  if(soft_pwm_fan < pwm_count) WRITE(FAN_PIN,0);
+#endif
+  
+  pwm_count += (1 << SOFT_PWM_SCALE);
+  pwm_count &= 0x7f;
+  
+#else //ifndef SLOW_PWM_HEATERS
+  /*
+   * SLOW PWM HEATERS
+   *
+   * for heaters drived by relay
+   */
+#ifndef MIN_STATE_TIME
+#define MIN_STATE_TIME 16 // MIN_STATE_TIME * 65.5 = time in milliseconds
+#endif
+  if (slow_pwm_count == 0) {
+    // EXTRUDER 0 
+    soft_pwm_0 = soft_pwm[0];
+    if (soft_pwm_0 > 0) {
+      // turn ON heather only if the minimum time is up 
+      if (state_timer_heater_0 == 0) { 
+	// if change state set timer 
+	if (state_heater_0 == 0) {
+	  state_timer_heater_0 = MIN_STATE_TIME;
+	}
+	state_heater_0 = 1;
+	WRITE(HEATER_0_PIN, 1);
+#ifdef HEATERS_PARALLEL
+	WRITE(HEATER_1_PIN, 1);
+#endif
+      }
+    } else {
+      // turn OFF heather only if the minimum time is up 
+      if (state_timer_heater_0 == 0) {
+	// if change state set timer 
+	if (state_heater_0 == 1) {
+	  state_timer_heater_0 = MIN_STATE_TIME;
+	}
+	state_heater_0 = 0;
+	WRITE(HEATER_0_PIN, 0);
+#ifdef HEATERS_PARALLEL
+	WRITE(HEATER_1_PIN, 0);
+#endif
+      }
+    }
+    
+#if EXTRUDERS > 1
+    // EXTRUDER 1
+    soft_pwm_1 = soft_pwm[1];
+    if (soft_pwm_1 > 0) {
+      // turn ON heather only if the minimum time is up 
+      if (state_timer_heater_1 == 0) { 
+	// if change state set timer 
+	if (state_heater_1 == 0) {
+	  state_timer_heater_1 = MIN_STATE_TIME;
+	}
+	state_heater_1 = 1;
+	WRITE(HEATER_1_PIN, 1);
+      }
+    } else {
+      // turn OFF heather only if the minimum time is up 
+      if (state_timer_heater_1 == 0) {
+	// if change state set timer 
+	if (state_heater_1 == 1) {
+	  state_timer_heater_1 = MIN_STATE_TIME;
+	}
+	state_heater_1 = 0;
+	WRITE(HEATER_1_PIN, 0);
+      }
+    }
+#endif
+    
+#if EXTRUDERS > 2
+    // EXTRUDER 2
+    soft_pwm_2 = soft_pwm[2];
+    if (soft_pwm_2 > 0) {
+      // turn ON heather only if the minimum time is up 
+      if (state_timer_heater_2 == 0) { 
+	// if change state set timer 
+	if (state_heater_2 == 0) {
+	  state_timer_heater_2 = MIN_STATE_TIME;
+	}
+	state_heater_2 = 1;
+	WRITE(HEATER_2_PIN, 1);
+      }
+    } else {
+      // turn OFF heather only if the minimum time is up 
+      if (state_timer_heater_2 == 0) {
+	// if change state set timer 
+	if (state_heater_2 == 1) {
+	  state_timer_heater_2 = MIN_STATE_TIME;
+	}
+	state_heater_2 = 0;
+	WRITE(HEATER_2_PIN, 0);
+      }
+    }
+#endif
+    
+#if defined(HEATER_BED_PIN) && HEATER_BED_PIN > -1
+    // BED
+    soft_pwm_b = soft_pwm_bed;
+    if (soft_pwm_b > 0) {
+      // turn ON heather only if the minimum time is up 
+      if (state_timer_heater_b == 0) { 
+	// if change state set timer 
+	if (state_heater_b == 0) {
+	  state_timer_heater_b = MIN_STATE_TIME;
+	}
+	state_heater_b = 1;
+	WRITE(HEATER_BED_PIN, 1);
+      }
+    } else {
+      // turn OFF heather only if the minimum time is up 
+      if (state_timer_heater_b == 0) {
+	// if change state set timer 
+	if (state_heater_b == 1) {
+	  state_timer_heater_b = MIN_STATE_TIME;
+	}
+	state_heater_b = 0;
+	WRITE(HEATER_BED_PIN, 0);
+      }
+    }
+#endif
+  } // if (slow_pwm_count == 0)
+  
+  // EXTRUDER 0 
+  if (soft_pwm_0 < slow_pwm_count) {
+    // turn OFF heather only if the minimum time is up 
+    if (state_timer_heater_0 == 0) { 
+      // if change state set timer 
+      if (state_heater_0 == 1) {
+	state_timer_heater_0 = MIN_STATE_TIME;
+      }
+      state_heater_0 = 0;
+      WRITE(HEATER_0_PIN, 0);
+#ifdef HEATERS_PARALLEL
+      WRITE(HEATER_1_PIN, 0);
+#endif
+    }
+  }
+    
+#if EXTRUDERS > 1
+  // EXTRUDER 1 
+  if (soft_pwm_1 < slow_pwm_count) {
+    // turn OFF heather only if the minimum time is up 
+    if (state_timer_heater_1 == 0) { 
+      // if change state set timer 
+      if (state_heater_1 == 1) {
+	state_timer_heater_1 = MIN_STATE_TIME;
+      }
+      state_heater_1 = 0;
+      WRITE(HEATER_1_PIN, 0);
+    }
+  }
+#endif
+  
+#if EXTRUDERS > 2
+  // EXTRUDER 2
+  if (soft_pwm_2 < slow_pwm_count) {
+    // turn OFF heather only if the minimum time is up 
+    if (state_timer_heater_2 == 0) { 
+      // if change state set timer 
+      if (state_heater_2 == 1) {
+	state_timer_heater_2 = MIN_STATE_TIME;
+      }
+      state_heater_2 = 0;
+      WRITE(HEATER_2_PIN, 0);
+    }
+  }
+#endif
+  
+#if defined(HEATER_BED_PIN) && HEATER_BED_PIN > -1
+  // BED
+  if (soft_pwm_b < slow_pwm_count) {
+    // turn OFF heather only if the minimum time is up 
+    if (state_timer_heater_b == 0) { 
+      // if change state set timer 
+      if (state_heater_b == 1) {
+	state_timer_heater_b = MIN_STATE_TIME;
+      }
+      state_heater_b = 0;
+      WRITE(HEATER_BED_PIN, 0);
+    }
+  }
+#endif
+  
+#ifdef FAN_SOFT_PWM
+  if (pwm_count == 0){
+    soft_pwm_fan = fanSpeedSoftPwm / 2;
+    if (soft_pwm_fan > 0) WRITE(FAN_PIN,1); else WRITE(FAN_PIN,0);
+  }
+  if (soft_pwm_fan < pwm_count) WRITE(FAN_PIN,0);
+#endif
+  
+  pwm_count += (1 << SOFT_PWM_SCALE);
+  pwm_count &= 0x7f;
+  
+  // increment slow_pwm_count only every 64 pwm_count circa 65.5ms
+  if ((pwm_count % 64) == 0) {
+    slow_pwm_count++;
+    slow_pwm_count &= 0x7f;
+    
+    // Extruder 0
+    if (state_timer_heater_0 > 0) {
+      state_timer_heater_0--;
+    } 
+  
+#if EXTRUDERS > 1
+    // Extruder 1
+    if (state_timer_heater_1 > 0) 
+      state_timer_heater_1--;
+#endif
+    
+#if EXTRUDERS > 2
+    // Extruder 2
+    if (state_timer_heater_2 > 0) 
+      state_timer_heater_2--;
+#endif
+    
+#if defined(HEATER_BED_PIN) && HEATER_BED_PIN > -1
+    // Bed   
+    if (state_timer_heater_b > 0) 
+      state_timer_heater_b--;
+#endif
+  } //if ((pwm_count % 64) == 0) {
+  
+#endif //ifndef SLOW_PWM_HEATERS
+  
+  switch(temp_state) {
+    case 0: // Prepare TEMP_0
+      #if defined(TEMP_0_PIN) && (TEMP_0_PIN > -1)
+        #if TEMP_0_PIN > 7
+          ADCSRB = 1<<MUX5;
+        #else
+          ADCSRB = 0;
+        #endif
+        ADMUX = ((1 << REFS0) | (TEMP_0_PIN & 0x07));
+        ADCSRA |= 1<<ADSC; // Start conversion
+      #endif
+      lcd_buttons_update();
+      temp_state = 1;
+      break;
+    case 1: // Measure TEMP_0
+      #if defined(TEMP_0_PIN) && (TEMP_0_PIN > -1)
+        raw_temp_0_value += ADC;
+      #endif
+      #ifdef HEATER_0_USES_MAX6675 // TODO remove the blocking
+        raw_temp_0_value = read_max6675();
+      #endif
+      temp_state = 2;
+      break;
+    case 2: // Prepare TEMP_BED
+      #if defined(TEMP_BED_PIN) && (TEMP_BED_PIN > -1)
+        #if TEMP_BED_PIN > 7
+          ADCSRB = 1<<MUX5;
+        #else
+          ADCSRB = 0;
+        #endif
+        ADMUX = ((1 << REFS0) | (TEMP_BED_PIN & 0x07));
+        ADCSRA |= 1<<ADSC; // Start conversion
+      #endif
+      lcd_buttons_update();
+      temp_state = 3;
+      break;
+    case 3: // Measure TEMP_BED
+      #if defined(TEMP_BED_PIN) && (TEMP_BED_PIN > -1)
+        raw_temp_bed_value += ADC;
+      #endif
+      temp_state = 4;
+      break;
+    case 4: // Prepare TEMP_1
+      #if defined(TEMP_1_PIN) && (TEMP_1_PIN > -1)
+        #if TEMP_1_PIN > 7
+          ADCSRB = 1<<MUX5;
+        #else
+          ADCSRB = 0;
+        #endif
+        ADMUX = ((1 << REFS0) | (TEMP_1_PIN & 0x07));
+        ADCSRA |= 1<<ADSC; // Start conversion
+      #endif
+      lcd_buttons_update();
+      temp_state = 5;
+      break;
+    case 5: // Measure TEMP_1
+      #if defined(TEMP_1_PIN) && (TEMP_1_PIN > -1)
+        raw_temp_1_value += ADC;
+      #endif
+      temp_state = 6;
+      break;
+    case 6: // Prepare TEMP_2
+      #if defined(TEMP_2_PIN) && (TEMP_2_PIN > -1)
+        #if TEMP_2_PIN > 7
+          ADCSRB = 1<<MUX5;
+        #else
+          ADCSRB = 0;
+        #endif
+        ADMUX = ((1 << REFS0) | (TEMP_2_PIN & 0x07));
+        ADCSRA |= 1<<ADSC; // Start conversion
+      #endif
+      lcd_buttons_update();
+      temp_state = 7;
+      break;
+    case 7: // Measure TEMP_2
+      #if defined(TEMP_2_PIN) && (TEMP_2_PIN > -1)
+        raw_temp_2_value += ADC;
+      #endif
+      temp_state = 8;//change so that Filament Width is also measured
+      
+      break;
+    case 8: //Prepare FILWIDTH 
+     #if defined(FILWIDTH_PIN) && (FILWIDTH_PIN> -1) 
+      #if FILWIDTH_PIN>7 
+         ADCSRB = 1<<MUX5;
+      #else
+         ADCSRB = 0; 
+      #endif 
+      ADMUX = ((1 << REFS0) | (FILWIDTH_PIN & 0x07)); 
+      ADCSRA |= 1<<ADSC; // Start conversion 
+     #endif 
+     lcd_buttons_update();       
+     temp_state = 9; 
+     break; 
+    case 9:   //Measure FILWIDTH 
+     #if defined(FILWIDTH_PIN) &&(FILWIDTH_PIN > -1) 
+     //raw_filwidth_value += ADC;  //remove to use an IIR filter approach 
+      if(ADC>102)  //check that ADC is reading a voltage > 0.5 volts, otherwise don't take in the data.
+        {
+    	raw_filwidth_value= raw_filwidth_value-(raw_filwidth_value>>7);  //multipliy raw_filwidth_value by 127/128
+        
+        raw_filwidth_value= raw_filwidth_value + ((unsigned long)ADC<<7);  //add new ADC reading 
+        }
+     #endif 
+     temp_state = 0;   
+      
+     temp_count++;
+     break;      
+      
+      
+    case 10: //Startup, delay initial temp reading a tiny bit so the hardware can settle.
+      temp_state = 0;
+      break;
+//    default:
+//      SERIAL_ERROR_START;
+//      SERIAL_ERRORLNPGM("Temp measurement error!");
+//      break;
+  }
+    
+  if(temp_count >= OVERSAMPLENR) // 10 * 16 * 1/(16000000/64/256)  = 164ms.
+  {
+    if (!temp_meas_ready) //Only update the raw values if they have been read. Else we could be updating them during reading.
+    {
+      current_temperature_raw[0] = raw_temp_0_value;
+#if EXTRUDERS > 1
+      current_temperature_raw[1] = raw_temp_1_value;
+#endif
+#ifdef TEMP_SENSOR_1_AS_REDUNDANT
+      redundant_temperature_raw = raw_temp_1_value;
+#endif
+#if EXTRUDERS > 2
+      current_temperature_raw[2] = raw_temp_2_value;
+#endif
+      current_temperature_bed_raw = raw_temp_bed_value;
+    }
+
+//Add similar code for Filament Sensor - can be read any time since IIR filtering is used 
+#if defined(FILWIDTH_PIN) &&(FILWIDTH_PIN > -1)
+  current_raw_filwidth = raw_filwidth_value>>10;  //need to divide to get to 0-16384 range since we used 1/128 IIR filter approach 
+#endif
+    
+    
+    temp_meas_ready = true;
+    temp_count = 0;
+    raw_temp_0_value = 0;
+    raw_temp_1_value = 0;
+    raw_temp_2_value = 0;
+    raw_temp_bed_value = 0;
+
+#if HEATER_0_RAW_LO_TEMP > HEATER_0_RAW_HI_TEMP
+    if(current_temperature_raw[0] <= maxttemp_raw[0]) {
+#else
+    if(current_temperature_raw[0] >= maxttemp_raw[0]) {
+#endif
+        max_temp_error(0);
+    }
+#if HEATER_0_RAW_LO_TEMP > HEATER_0_RAW_HI_TEMP
+    if(current_temperature_raw[0] >= minttemp_raw[0]) {
+#else
+    if(current_temperature_raw[0] <= minttemp_raw[0]) {
+#endif
+        min_temp_error(0);
+    }
+#if EXTRUDERS > 1
+#if HEATER_1_RAW_LO_TEMP > HEATER_1_RAW_HI_TEMP
+    if(current_temperature_raw[1] <= maxttemp_raw[1]) {
+#else
+    if(current_temperature_raw[1] >= maxttemp_raw[1]) {
+#endif
+        max_temp_error(1);
+    }
+#if HEATER_1_RAW_LO_TEMP > HEATER_1_RAW_HI_TEMP
+    if(current_temperature_raw[1] >= minttemp_raw[1]) {
+#else
+    if(current_temperature_raw[1] <= minttemp_raw[1]) {
+#endif
+        min_temp_error(1);
+    }
+#endif
+#if EXTRUDERS > 2
+#if HEATER_2_RAW_LO_TEMP > HEATER_2_RAW_HI_TEMP
+    if(current_temperature_raw[2] <= maxttemp_raw[2]) {
+#else
+    if(current_temperature_raw[2] >= maxttemp_raw[2]) {
+#endif
+        max_temp_error(2);
+    }
+#if HEATER_2_RAW_LO_TEMP > HEATER_2_RAW_HI_TEMP
+    if(current_temperature_raw[2] >= minttemp_raw[2]) {
+#else
+    if(current_temperature_raw[2] <= minttemp_raw[2]) {
+#endif
+        min_temp_error(2);
+    }
+#endif
+  
+  /* No bed MINTEMP error? */
+#if defined(BED_MAXTEMP) && (TEMP_SENSOR_BED != 0)
+# if HEATER_BED_RAW_LO_TEMP > HEATER_BED_RAW_HI_TEMP
+    if(current_temperature_bed_raw <= bed_maxttemp_raw) {
+#else
+    if(current_temperature_bed_raw >= bed_maxttemp_raw) {
+#endif
+       target_temperature_bed = 0;
+       bed_max_temp_error();
+    }
+#endif
+  }
+  
+#ifdef BABYSTEPPING
+  for(uint8_t axis=0;axis<3;axis++)
+  {
+    int curTodo=babystepsTodo[axis]; //get rid of volatile for performance
+   
+    if(curTodo>0)
+    {
+      babystep(axis,/*fwd*/true);
+      babystepsTodo[axis]--; //less to do next time
+    }
+    else
+    if(curTodo<0)
+    {
+      babystep(axis,/*fwd*/false);
+      babystepsTodo[axis]++; //less to do next time
+    }
+  }
+#endif //BABYSTEPPING
+}
+
+#ifdef PIDTEMP
+// Apply the scale factors to the PID values
+
+
+float scalePID_i(float i)
+{
+	return i*PID_dT;
+}
+
+float unscalePID_i(float i)
+{
+	return i/PID_dT;
+}
+
+float scalePID_d(float d)
+{
+    return d/PID_dT;
+}
+
+float unscalePID_d(float d)
+{
+	return d*PID_dT;
+}
+
+#endif //PIDTEMP
+
+

+ 193 - 0
temperature.h

@@ -0,0 +1,193 @@
+/*
+  temperature.h - temperature controller
+  Part of Marlin
+
+  Copyright (c) 2011 Erik van der Zalm
+
+  Grbl is free software: you can redistribute it and/or modify
+  it under the terms of the GNU General Public License as published by
+  the Free Software Foundation, either version 3 of the License, or
+  (at your option) any later version.
+
+  Grbl is distributed in the hope that it will be useful,
+  but WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+  GNU General Public License for more details.
+
+  You should have received a copy of the GNU General Public License
+  along with Grbl.  If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#ifndef temperature_h
+#define temperature_h 
+
+#include "Marlin.h"
+#include "planner.h"
+#ifdef PID_ADD_EXTRUSION_RATE
+  #include "stepper.h"
+#endif
+
+// public functions
+void tp_init();  //initialize the heating
+void manage_heater(); //it is critical that this is called periodically.
+
+#ifdef FILAMENT_SENSOR
+// For converting raw Filament Width to milimeters 
+ float analog2widthFil(); 
+ 
+// For converting raw Filament Width to an extrusion ratio 
+ int widthFil_to_size_ratio();
+#endif
+
+// low level conversion routines
+// do not use these routines and variables outside of temperature.cpp
+extern int target_temperature[EXTRUDERS];  
+extern float current_temperature[EXTRUDERS];
+#ifdef SHOW_TEMP_ADC_VALUES
+  extern int current_temperature_raw[EXTRUDERS];
+  extern int current_temperature_bed_raw;
+#endif
+extern int target_temperature_bed;
+extern float current_temperature_bed;
+#ifdef TEMP_SENSOR_1_AS_REDUNDANT
+  extern float redundant_temperature;
+#endif
+
+#if defined(CONTROLLERFAN_PIN) && CONTROLLERFAN_PIN > -1
+  extern unsigned char soft_pwm_bed;
+#endif
+
+#ifdef PIDTEMP
+  extern float Kp,Ki,Kd,Kc;
+  float scalePID_i(float i);
+  float scalePID_d(float d);
+  float unscalePID_i(float i);
+  float unscalePID_d(float d);
+
+#endif
+#ifdef PIDTEMPBED
+  extern float bedKp,bedKi,bedKd;
+#endif
+  
+  
+#ifdef BABYSTEPPING
+  extern volatile int babystepsTodo[3];
+#endif
+  
+//high level conversion routines, for use outside of temperature.cpp
+//inline so that there is no performance decrease.
+//deg=degreeCelsius
+
+FORCE_INLINE float degHotend(uint8_t extruder) {  
+  return current_temperature[extruder];
+};
+
+#ifdef SHOW_TEMP_ADC_VALUES
+  FORCE_INLINE float rawHotendTemp(uint8_t extruder) {  
+    return current_temperature_raw[extruder];
+  };
+
+  FORCE_INLINE float rawBedTemp() {  
+    return current_temperature_bed_raw;
+  };
+#endif
+
+FORCE_INLINE float degBed() {
+  return current_temperature_bed;
+};
+
+FORCE_INLINE float degTargetHotend(uint8_t extruder) {  
+  return target_temperature[extruder];
+};
+
+FORCE_INLINE float degTargetBed() {   
+  return target_temperature_bed;
+};
+
+FORCE_INLINE void setTargetHotend(const float &celsius, uint8_t extruder) {  
+  target_temperature[extruder] = celsius;
+};
+
+FORCE_INLINE void setTargetBed(const float &celsius) {  
+  target_temperature_bed = celsius;
+};
+
+FORCE_INLINE bool isHeatingHotend(uint8_t extruder){  
+  return target_temperature[extruder] > current_temperature[extruder];
+};
+
+FORCE_INLINE bool isHeatingBed() {
+  return target_temperature_bed > current_temperature_bed;
+};
+
+FORCE_INLINE bool isCoolingHotend(uint8_t extruder) {  
+  return target_temperature[extruder] < current_temperature[extruder];
+};
+
+FORCE_INLINE bool isCoolingBed() {
+  return target_temperature_bed < current_temperature_bed;
+};
+
+#define degHotend0() degHotend(0)
+#define degTargetHotend0() degTargetHotend(0)
+#define setTargetHotend0(_celsius) setTargetHotend((_celsius), 0)
+#define isHeatingHotend0() isHeatingHotend(0)
+#define isCoolingHotend0() isCoolingHotend(0)
+#if EXTRUDERS > 1
+#define degHotend1() degHotend(1)
+#define degTargetHotend1() degTargetHotend(1)
+#define setTargetHotend1(_celsius) setTargetHotend((_celsius), 1)
+#define isHeatingHotend1() isHeatingHotend(1)
+#define isCoolingHotend1() isCoolingHotend(1)
+#else
+#define setTargetHotend1(_celsius) do{}while(0)
+#endif
+#if EXTRUDERS > 2
+#define degHotend2() degHotend(2)
+#define degTargetHotend2() degTargetHotend(2)
+#define setTargetHotend2(_celsius) setTargetHotend((_celsius), 2)
+#define isHeatingHotend2() isHeatingHotend(2)
+#define isCoolingHotend2() isCoolingHotend(2)
+#else
+#define setTargetHotend2(_celsius) do{}while(0)
+#endif
+#if EXTRUDERS > 3
+#error Invalid number of extruders
+#endif
+
+
+
+int getHeaterPower(int heater);
+void disable_heater();
+void setWatch();
+void updatePID();
+
+#if (defined (THERMAL_RUNAWAY_PROTECTION_PERIOD) && THERMAL_RUNAWAY_PROTECTION_PERIOD > 0) || (defined (THERMAL_RUNAWAY_PROTECTION_BED_PERIOD) && THERMAL_RUNAWAY_PROTECTION_BED_PERIOD > 0)
+void thermal_runaway_protection(int *state, unsigned long *timer, float temperature, float target_temperature, int heater_id, int period_seconds, int hysteresis_degc);
+static int thermal_runaway_state_machine[3]; // = {0,0,0};
+static unsigned long thermal_runaway_timer[3]; // = {0,0,0};
+static bool thermal_runaway = false;
+  #if TEMP_SENSOR_BED != 0
+    static int thermal_runaway_bed_state_machine;
+    static unsigned long thermal_runaway_bed_timer;
+  #endif
+#endif
+
+FORCE_INLINE void autotempShutdown(){
+ #ifdef AUTOTEMP
+ if(autotemp_enabled)
+ {
+  autotemp_enabled=false;
+  if(degTargetHotend(active_extruder)>autotemp_min)
+    setTargetHotend(0,active_extruder);
+ }
+ #endif
+}
+
+void PID_autotune(float temp, int extruder, int ncycles);
+
+void setExtruderAutoFanState(int pin, bool state);
+void checkExtruderAutoFans();
+
+#endif
+

+ 1186 - 0
thermistortables.h

@@ -0,0 +1,1186 @@
+#ifndef THERMISTORTABLES_H_
+#define THERMISTORTABLES_H_
+
+#include "Marlin.h"
+
+#define OVERSAMPLENR 16
+
+#if (THERMISTORHEATER_0 == 1) || (THERMISTORHEATER_1 == 1)  || (THERMISTORHEATER_2 == 1) || (THERMISTORBED == 1) //100k bed thermistor
+
+const short temptable_1[][2] PROGMEM = {
+{       23*OVERSAMPLENR ,       300     },
+{       25*OVERSAMPLENR ,       295     },
+{       27*OVERSAMPLENR ,       290     },
+{       28*OVERSAMPLENR ,       285     },
+{       31*OVERSAMPLENR ,       280     },
+{       33*OVERSAMPLENR ,       275     },
+{       35*OVERSAMPLENR ,       270     },
+{       38*OVERSAMPLENR ,       265     },
+{       41*OVERSAMPLENR ,       260     },
+{       44*OVERSAMPLENR ,       255     },
+{       48*OVERSAMPLENR ,       250     },
+{       52*OVERSAMPLENR ,       245     },
+{       56*OVERSAMPLENR ,       240     },
+{       61*OVERSAMPLENR ,       235     },
+{       66*OVERSAMPLENR ,       230     },
+{       71*OVERSAMPLENR ,       225     },
+{       78*OVERSAMPLENR ,       220     },
+{       84*OVERSAMPLENR ,       215     },
+{       92*OVERSAMPLENR ,       210     },
+{       100*OVERSAMPLENR        ,       205     },
+{       109*OVERSAMPLENR        ,       200     },
+{       120*OVERSAMPLENR        ,       195     },
+{       131*OVERSAMPLENR        ,       190     },
+{       143*OVERSAMPLENR        ,       185     },
+{       156*OVERSAMPLENR        ,       180     },
+{       171*OVERSAMPLENR        ,       175     },
+{       187*OVERSAMPLENR        ,       170     },
+{       205*OVERSAMPLENR        ,       165     },
+{       224*OVERSAMPLENR        ,       160     },
+{       245*OVERSAMPLENR        ,       155     },
+{       268*OVERSAMPLENR        ,       150     },
+{       293*OVERSAMPLENR        ,       145     },
+{       320*OVERSAMPLENR        ,       140     },
+{       348*OVERSAMPLENR        ,       135     },
+{       379*OVERSAMPLENR        ,       130     },
+{       411*OVERSAMPLENR        ,       125     },
+{       445*OVERSAMPLENR        ,       120     },
+{       480*OVERSAMPLENR        ,       115     },
+{       516*OVERSAMPLENR        ,       110     },
+{       553*OVERSAMPLENR        ,       105     },
+{       591*OVERSAMPLENR        ,       100     },
+{       628*OVERSAMPLENR        ,       95      },
+{       665*OVERSAMPLENR        ,       90      },
+{       702*OVERSAMPLENR        ,       85      },
+{       737*OVERSAMPLENR        ,       80      },
+{       770*OVERSAMPLENR        ,       75      },
+{       801*OVERSAMPLENR        ,       70      },
+{       830*OVERSAMPLENR        ,       65      },
+{       857*OVERSAMPLENR        ,       60      },
+{       881*OVERSAMPLENR        ,       55      },
+{       903*OVERSAMPLENR        ,       50      },
+{       922*OVERSAMPLENR        ,       45      },
+{       939*OVERSAMPLENR        ,       40      },
+{       954*OVERSAMPLENR        ,       35      },
+{       966*OVERSAMPLENR        ,       30      },
+{       977*OVERSAMPLENR        ,       25      },
+{       985*OVERSAMPLENR        ,       20      },
+{       993*OVERSAMPLENR        ,       15      },
+{       999*OVERSAMPLENR        ,       10      },
+{       1004*OVERSAMPLENR       ,       5       },
+{       1008*OVERSAMPLENR       ,       0       } //safety
+};
+#endif
+#if (THERMISTORHEATER_0 == 2) || (THERMISTORHEATER_1 == 2) || (THERMISTORHEATER_2 == 2) || (THERMISTORBED == 2) //200k bed thermistor
+const short temptable_2[][2] PROGMEM = {
+//200k ATC Semitec 204GT-2
+//Verified by linagee. Source: http://shop.arcol.hu/static/datasheets/thermistors.pdf
+// Calculated using 4.7kohm pullup, voltage divider math, and manufacturer provided temp/resistance
+   {1*OVERSAMPLENR, 848},
+   {30*OVERSAMPLENR, 300}, //top rating 300C
+   {34*OVERSAMPLENR, 290},
+   {39*OVERSAMPLENR, 280},
+   {46*OVERSAMPLENR, 270},
+   {53*OVERSAMPLENR, 260},
+   {63*OVERSAMPLENR, 250},
+   {74*OVERSAMPLENR, 240},
+   {87*OVERSAMPLENR, 230},
+   {104*OVERSAMPLENR, 220},
+   {124*OVERSAMPLENR, 210},
+   {148*OVERSAMPLENR, 200},
+   {176*OVERSAMPLENR, 190},
+   {211*OVERSAMPLENR, 180},
+   {252*OVERSAMPLENR, 170},
+   {301*OVERSAMPLENR, 160},
+   {357*OVERSAMPLENR, 150},
+   {420*OVERSAMPLENR, 140},
+   {489*OVERSAMPLENR, 130},
+   {562*OVERSAMPLENR, 120},
+   {636*OVERSAMPLENR, 110},
+   {708*OVERSAMPLENR, 100},
+   {775*OVERSAMPLENR, 90},
+   {835*OVERSAMPLENR, 80},
+   {884*OVERSAMPLENR, 70},
+   {924*OVERSAMPLENR, 60},
+   {955*OVERSAMPLENR, 50},
+   {977*OVERSAMPLENR, 40},
+   {993*OVERSAMPLENR, 30},
+   {1004*OVERSAMPLENR, 20},
+   {1012*OVERSAMPLENR, 10},
+   {1016*OVERSAMPLENR, 0},
+};
+
+#endif
+#if (THERMISTORHEATER_0 == 3) || (THERMISTORHEATER_1 == 3) || (THERMISTORHEATER_2 == 3) || (THERMISTORBED == 3) //mendel-parts
+const short temptable_3[][2] PROGMEM = {
+                {1*OVERSAMPLENR,864},
+                {21*OVERSAMPLENR,300},
+                {25*OVERSAMPLENR,290},
+                {29*OVERSAMPLENR,280},
+                {33*OVERSAMPLENR,270},
+                {39*OVERSAMPLENR,260},
+                {46*OVERSAMPLENR,250},
+                {54*OVERSAMPLENR,240},
+                {64*OVERSAMPLENR,230},
+                {75*OVERSAMPLENR,220},
+                {90*OVERSAMPLENR,210},
+                {107*OVERSAMPLENR,200},
+                {128*OVERSAMPLENR,190},
+                {154*OVERSAMPLENR,180},
+                {184*OVERSAMPLENR,170},
+                {221*OVERSAMPLENR,160},
+                {265*OVERSAMPLENR,150},
+                {316*OVERSAMPLENR,140},
+                {375*OVERSAMPLENR,130},
+                {441*OVERSAMPLENR,120},
+                {513*OVERSAMPLENR,110},
+                {588*OVERSAMPLENR,100},
+                {734*OVERSAMPLENR,80},
+                {856*OVERSAMPLENR,60},
+                {938*OVERSAMPLENR,40},
+                {986*OVERSAMPLENR,20},
+                {1008*OVERSAMPLENR,0},
+                {1018*OVERSAMPLENR,-20}
+        };
+
+#endif
+#if (THERMISTORHEATER_0 == 4) || (THERMISTORHEATER_1 == 4) || (THERMISTORHEATER_2 == 4) || (THERMISTORBED == 4) //10k thermistor
+const short temptable_4[][2] PROGMEM = {
+   {1*OVERSAMPLENR, 430},
+   {54*OVERSAMPLENR, 137},
+   {107*OVERSAMPLENR, 107},
+   {160*OVERSAMPLENR, 91},
+   {213*OVERSAMPLENR, 80},
+   {266*OVERSAMPLENR, 71},
+   {319*OVERSAMPLENR, 64},
+   {372*OVERSAMPLENR, 57},
+   {425*OVERSAMPLENR, 51},
+   {478*OVERSAMPLENR, 46},
+   {531*OVERSAMPLENR, 41},
+   {584*OVERSAMPLENR, 35},
+   {637*OVERSAMPLENR, 30},
+   {690*OVERSAMPLENR, 25},
+   {743*OVERSAMPLENR, 20},
+   {796*OVERSAMPLENR, 14},
+   {849*OVERSAMPLENR, 7},
+   {902*OVERSAMPLENR, 0},
+   {955*OVERSAMPLENR, -11},
+   {1008*OVERSAMPLENR, -35}
+};
+#endif
+
+#if (THERMISTORHEATER_0 == 5) || (THERMISTORHEATER_1 == 5) || (THERMISTORHEATER_2 == 5) || (THERMISTORBED == 5) //100k ParCan thermistor (104GT-2)
+const short temptable_5[][2] PROGMEM = {
+// ATC Semitec 104GT-2 (Used in ParCan)
+// Verified by linagee. Source: http://shop.arcol.hu/static/datasheets/thermistors.pdf
+// Calculated using 4.7kohm pullup, voltage divider math, and manufacturer provided temp/resistance
+   {1*OVERSAMPLENR, 713},
+   {17*OVERSAMPLENR, 300}, //top rating 300C
+   {20*OVERSAMPLENR, 290},
+   {23*OVERSAMPLENR, 280},
+   {27*OVERSAMPLENR, 270},
+   {31*OVERSAMPLENR, 260},
+   {37*OVERSAMPLENR, 250},
+   {43*OVERSAMPLENR, 240},
+   {51*OVERSAMPLENR, 230},
+   {61*OVERSAMPLENR, 220},
+   {73*OVERSAMPLENR, 210},
+   {87*OVERSAMPLENR, 200},
+   {106*OVERSAMPLENR, 190},
+   {128*OVERSAMPLENR, 180},
+   {155*OVERSAMPLENR, 170},
+   {189*OVERSAMPLENR, 160},
+   {230*OVERSAMPLENR, 150},
+   {278*OVERSAMPLENR, 140},
+   {336*OVERSAMPLENR, 130},
+   {402*OVERSAMPLENR, 120},
+   {476*OVERSAMPLENR, 110},
+   {554*OVERSAMPLENR, 100},
+   {635*OVERSAMPLENR, 90},
+   {713*OVERSAMPLENR, 80},
+   {784*OVERSAMPLENR, 70},
+   {846*OVERSAMPLENR, 60},
+   {897*OVERSAMPLENR, 50},
+   {937*OVERSAMPLENR, 40},
+   {966*OVERSAMPLENR, 30},
+   {986*OVERSAMPLENR, 20},
+   {1000*OVERSAMPLENR, 10},
+   {1010*OVERSAMPLENR, 0}
+};
+#endif
+
+#if (THERMISTORHEATER_0 == 6) || (THERMISTORHEATER_1 == 6) || (THERMISTORHEATER_2 == 6) || (THERMISTORBED == 6) // 100k Epcos thermistor
+const short temptable_6[][2] PROGMEM = {
+   {1*OVERSAMPLENR, 350},
+   {28*OVERSAMPLENR, 250}, //top rating 250C
+   {31*OVERSAMPLENR, 245},
+   {35*OVERSAMPLENR, 240},
+   {39*OVERSAMPLENR, 235},
+   {42*OVERSAMPLENR, 230},
+   {44*OVERSAMPLENR, 225},
+   {49*OVERSAMPLENR, 220},
+   {53*OVERSAMPLENR, 215},
+   {62*OVERSAMPLENR, 210},
+   {71*OVERSAMPLENR, 205}, //fitted graphically
+   {78*OVERSAMPLENR, 200}, //fitted graphically
+   {94*OVERSAMPLENR, 190},
+   {102*OVERSAMPLENR, 185},
+   {116*OVERSAMPLENR, 170},
+   {143*OVERSAMPLENR, 160},
+   {183*OVERSAMPLENR, 150},
+   {223*OVERSAMPLENR, 140},
+   {270*OVERSAMPLENR, 130},
+   {318*OVERSAMPLENR, 120},
+   {383*OVERSAMPLENR, 110},
+   {413*OVERSAMPLENR, 105},
+   {439*OVERSAMPLENR, 100},
+   {484*OVERSAMPLENR, 95},
+   {513*OVERSAMPLENR, 90},
+   {607*OVERSAMPLENR, 80},
+   {664*OVERSAMPLENR, 70},
+   {781*OVERSAMPLENR, 60},
+   {810*OVERSAMPLENR, 55},
+   {849*OVERSAMPLENR, 50},
+   {914*OVERSAMPLENR, 45},
+   {914*OVERSAMPLENR, 40},
+   {935*OVERSAMPLENR, 35},
+   {954*OVERSAMPLENR, 30},
+   {970*OVERSAMPLENR, 25},
+   {978*OVERSAMPLENR, 22},
+   {1008*OVERSAMPLENR, 3},
+   {1023*OVERSAMPLENR, 0}  //to allow internal 0 degrees C
+};
+#endif
+
+#if (THERMISTORHEATER_0 == 7) || (THERMISTORHEATER_1 == 7) || (THERMISTORHEATER_2 == 7) || (THERMISTORBED == 7) // 100k Honeywell 135-104LAG-J01
+const short temptable_7[][2] PROGMEM = {
+   {1*OVERSAMPLENR, 941},
+   {19*OVERSAMPLENR, 362},
+   {37*OVERSAMPLENR, 299}, //top rating 300C
+   {55*OVERSAMPLENR, 266},
+   {73*OVERSAMPLENR, 245},
+   {91*OVERSAMPLENR, 229},
+   {109*OVERSAMPLENR, 216},
+   {127*OVERSAMPLENR, 206},
+   {145*OVERSAMPLENR, 197},
+   {163*OVERSAMPLENR, 190},
+   {181*OVERSAMPLENR, 183},
+   {199*OVERSAMPLENR, 177},
+   {217*OVERSAMPLENR, 171},
+   {235*OVERSAMPLENR, 166},
+   {253*OVERSAMPLENR, 162},
+   {271*OVERSAMPLENR, 157},
+   {289*OVERSAMPLENR, 153},
+   {307*OVERSAMPLENR, 149},
+   {325*OVERSAMPLENR, 146},
+   {343*OVERSAMPLENR, 142},
+   {361*OVERSAMPLENR, 139},
+   {379*OVERSAMPLENR, 135},
+   {397*OVERSAMPLENR, 132},
+   {415*OVERSAMPLENR, 129},
+   {433*OVERSAMPLENR, 126},
+   {451*OVERSAMPLENR, 123},
+   {469*OVERSAMPLENR, 121},
+   {487*OVERSAMPLENR, 118},
+   {505*OVERSAMPLENR, 115},
+   {523*OVERSAMPLENR, 112},
+   {541*OVERSAMPLENR, 110},
+   {559*OVERSAMPLENR, 107},
+   {577*OVERSAMPLENR, 105},
+   {595*OVERSAMPLENR, 102},
+   {613*OVERSAMPLENR, 99},
+   {631*OVERSAMPLENR, 97},
+   {649*OVERSAMPLENR, 94},
+   {667*OVERSAMPLENR, 92},
+   {685*OVERSAMPLENR, 89},
+   {703*OVERSAMPLENR, 86},
+   {721*OVERSAMPLENR, 84},
+   {739*OVERSAMPLENR, 81},
+   {757*OVERSAMPLENR, 78},
+   {775*OVERSAMPLENR, 75},
+   {793*OVERSAMPLENR, 72},
+   {811*OVERSAMPLENR, 69},
+   {829*OVERSAMPLENR, 66},
+   {847*OVERSAMPLENR, 62},
+   {865*OVERSAMPLENR, 59},
+   {883*OVERSAMPLENR, 55},
+   {901*OVERSAMPLENR, 51},
+   {919*OVERSAMPLENR, 46},
+   {937*OVERSAMPLENR, 41},
+   {955*OVERSAMPLENR, 35},
+   {973*OVERSAMPLENR, 27},
+   {991*OVERSAMPLENR, 17},
+   {1009*OVERSAMPLENR, 1},
+   {1023*OVERSAMPLENR, 0}  //to allow internal 0 degrees C
+};
+#endif
+
+#if (THERMISTORHEATER_0 == 71) || (THERMISTORHEATER_1 == 71) || (THERMISTORHEATER_2 == 71) || (THERMISTORBED == 71) // 100k Honeywell 135-104LAF-J01
+// R0 = 100000 Ohm
+// T0 = 25 °C
+// Beta = 3974
+// R1 = 0 Ohm
+// R2 = 4700 Ohm
+const short temptable_71[][2] PROGMEM = {
+   {35*OVERSAMPLENR, 300},
+   {51*OVERSAMPLENR, 270},
+   {54*OVERSAMPLENR, 265},
+   {58*OVERSAMPLENR, 260},
+   {59*OVERSAMPLENR, 258},
+   {61*OVERSAMPLENR, 256},
+   {63*OVERSAMPLENR, 254},
+   {64*OVERSAMPLENR, 252},
+   {66*OVERSAMPLENR, 250},
+   {67*OVERSAMPLENR, 249},
+   {68*OVERSAMPLENR, 248},
+   {69*OVERSAMPLENR, 247},
+   {70*OVERSAMPLENR, 246},
+   {71*OVERSAMPLENR, 245},
+   {72*OVERSAMPLENR, 244},
+   {73*OVERSAMPLENR, 243},
+   {74*OVERSAMPLENR, 242},
+   {75*OVERSAMPLENR, 241},
+   {76*OVERSAMPLENR, 240},
+   {77*OVERSAMPLENR, 239},
+   {78*OVERSAMPLENR, 238},
+   {79*OVERSAMPLENR, 237},
+   {80*OVERSAMPLENR, 236},
+   {81*OVERSAMPLENR, 235},
+   {82*OVERSAMPLENR, 234},
+   {84*OVERSAMPLENR, 233},
+   {85*OVERSAMPLENR, 232},
+   {86*OVERSAMPLENR, 231},
+   {87*OVERSAMPLENR, 230},
+   {89*OVERSAMPLENR, 229},
+   {90*OVERSAMPLENR, 228},
+   {91*OVERSAMPLENR, 227},
+   {92*OVERSAMPLENR, 226},
+   {94*OVERSAMPLENR, 225},
+   {95*OVERSAMPLENR, 224},
+   {97*OVERSAMPLENR, 223},
+   {98*OVERSAMPLENR, 222},
+   {99*OVERSAMPLENR, 221},
+   {101*OVERSAMPLENR, 220},
+   {102*OVERSAMPLENR, 219},
+   {104*OVERSAMPLENR, 218},
+   {106*OVERSAMPLENR, 217},
+   {107*OVERSAMPLENR, 216},
+   {109*OVERSAMPLENR, 215},
+   {110*OVERSAMPLENR, 214},
+   {112*OVERSAMPLENR, 213},
+   {114*OVERSAMPLENR, 212},
+   {115*OVERSAMPLENR, 211},
+   {117*OVERSAMPLENR, 210},
+   {119*OVERSAMPLENR, 209},
+   {121*OVERSAMPLENR, 208},
+   {123*OVERSAMPLENR, 207},
+   {125*OVERSAMPLENR, 206},
+   {126*OVERSAMPLENR, 205},
+   {128*OVERSAMPLENR, 204},
+   {130*OVERSAMPLENR, 203},
+   {132*OVERSAMPLENR, 202},
+   {134*OVERSAMPLENR, 201},
+   {136*OVERSAMPLENR, 200},
+   {139*OVERSAMPLENR, 199},
+   {141*OVERSAMPLENR, 198},
+   {143*OVERSAMPLENR, 197},
+   {145*OVERSAMPLENR, 196},
+   {147*OVERSAMPLENR, 195},
+   {150*OVERSAMPLENR, 194},
+   {152*OVERSAMPLENR, 193},
+   {154*OVERSAMPLENR, 192},
+   {157*OVERSAMPLENR, 191},
+   {159*OVERSAMPLENR, 190},
+   {162*OVERSAMPLENR, 189},
+   {164*OVERSAMPLENR, 188},
+   {167*OVERSAMPLENR, 187},
+   {170*OVERSAMPLENR, 186},
+   {172*OVERSAMPLENR, 185},
+   {175*OVERSAMPLENR, 184},
+   {178*OVERSAMPLENR, 183},
+   {181*OVERSAMPLENR, 182},
+   {184*OVERSAMPLENR, 181},
+   {187*OVERSAMPLENR, 180},
+   {190*OVERSAMPLENR, 179},
+   {193*OVERSAMPLENR, 178},
+   {196*OVERSAMPLENR, 177},
+   {199*OVERSAMPLENR, 176},
+   {202*OVERSAMPLENR, 175},
+   {205*OVERSAMPLENR, 174},
+   {208*OVERSAMPLENR, 173},
+   {212*OVERSAMPLENR, 172},
+   {215*OVERSAMPLENR, 171},
+   {219*OVERSAMPLENR, 170},
+   {237*OVERSAMPLENR, 165},
+   {256*OVERSAMPLENR, 160},
+   {300*OVERSAMPLENR, 150},
+   {351*OVERSAMPLENR, 140},
+   {470*OVERSAMPLENR, 120},
+   {504*OVERSAMPLENR, 115},
+   {538*OVERSAMPLENR, 110},
+   {552*OVERSAMPLENR, 108},
+   {566*OVERSAMPLENR, 106},
+   {580*OVERSAMPLENR, 104},
+   {594*OVERSAMPLENR, 102},
+   {608*OVERSAMPLENR, 100},
+   {622*OVERSAMPLENR, 98},
+   {636*OVERSAMPLENR, 96},
+   {650*OVERSAMPLENR, 94},
+   {664*OVERSAMPLENR, 92},
+   {678*OVERSAMPLENR, 90},
+   {712*OVERSAMPLENR, 85},
+   {745*OVERSAMPLENR, 80},
+   {758*OVERSAMPLENR, 78},
+   {770*OVERSAMPLENR, 76},
+   {783*OVERSAMPLENR, 74},
+   {795*OVERSAMPLENR, 72},
+   {806*OVERSAMPLENR, 70},
+   {818*OVERSAMPLENR, 68},
+   {829*OVERSAMPLENR, 66},
+   {840*OVERSAMPLENR, 64},
+   {850*OVERSAMPLENR, 62},
+   {860*OVERSAMPLENR, 60},
+   {870*OVERSAMPLENR, 58},
+   {879*OVERSAMPLENR, 56},
+   {888*OVERSAMPLENR, 54},
+   {897*OVERSAMPLENR, 52},
+   {905*OVERSAMPLENR, 50},
+   {924*OVERSAMPLENR, 45},
+   {940*OVERSAMPLENR, 40},
+   {955*OVERSAMPLENR, 35},
+   {967*OVERSAMPLENR, 30},
+   {970*OVERSAMPLENR, 29},
+   {972*OVERSAMPLENR, 28},
+   {974*OVERSAMPLENR, 27},
+   {976*OVERSAMPLENR, 26},
+   {978*OVERSAMPLENR, 25},
+   {980*OVERSAMPLENR, 24},
+   {982*OVERSAMPLENR, 23},
+   {984*OVERSAMPLENR, 22},
+   {985*OVERSAMPLENR, 21},
+   {987*OVERSAMPLENR, 20},
+   {995*OVERSAMPLENR, 15},
+   {1001*OVERSAMPLENR, 10},
+   {1006*OVERSAMPLENR, 5},
+   {1010*OVERSAMPLENR, 0},
+};
+#endif
+
+#if (THERMISTORHEATER_0 == 8) || (THERMISTORHEATER_1 == 8) || (THERMISTORHEATER_2 == 8) || (THERMISTORBED == 8)
+// 100k 0603 SMD Vishay NTCS0603E3104FXT (4.7k pullup)
+const short temptable_8[][2] PROGMEM = {
+   {1*OVERSAMPLENR, 704},
+   {54*OVERSAMPLENR, 216},
+   {107*OVERSAMPLENR, 175},
+   {160*OVERSAMPLENR, 152},
+   {213*OVERSAMPLENR, 137},
+   {266*OVERSAMPLENR, 125},
+   {319*OVERSAMPLENR, 115},
+   {372*OVERSAMPLENR, 106},
+   {425*OVERSAMPLENR, 99},
+   {478*OVERSAMPLENR, 91},
+   {531*OVERSAMPLENR, 85},
+   {584*OVERSAMPLENR, 78},
+   {637*OVERSAMPLENR, 71},
+   {690*OVERSAMPLENR, 65},
+   {743*OVERSAMPLENR, 58},
+   {796*OVERSAMPLENR, 50},
+   {849*OVERSAMPLENR, 42},
+   {902*OVERSAMPLENR, 31},
+   {955*OVERSAMPLENR, 17},
+   {1008*OVERSAMPLENR, 0}
+};
+#endif
+#if (THERMISTORHEATER_0 == 9) || (THERMISTORHEATER_1 == 9) || (THERMISTORHEATER_2 == 9) || (THERMISTORBED == 9)
+// 100k GE Sensing AL03006-58.2K-97-G1 (4.7k pullup)
+const short temptable_9[][2] PROGMEM = {
+	{1*OVERSAMPLENR, 936},
+	{36*OVERSAMPLENR, 300},
+	{71*OVERSAMPLENR, 246},
+	{106*OVERSAMPLENR, 218},
+	{141*OVERSAMPLENR, 199},
+	{176*OVERSAMPLENR, 185},
+	{211*OVERSAMPLENR, 173},
+	{246*OVERSAMPLENR, 163},
+	{281*OVERSAMPLENR, 155},
+	{316*OVERSAMPLENR, 147},
+	{351*OVERSAMPLENR, 140},
+	{386*OVERSAMPLENR, 134},
+	{421*OVERSAMPLENR, 128},
+	{456*OVERSAMPLENR, 122},
+	{491*OVERSAMPLENR, 117},
+	{526*OVERSAMPLENR, 112},
+	{561*OVERSAMPLENR, 107},
+	{596*OVERSAMPLENR, 102},
+	{631*OVERSAMPLENR, 97},
+	{666*OVERSAMPLENR, 92},
+	{701*OVERSAMPLENR, 87},
+	{736*OVERSAMPLENR, 81},
+	{771*OVERSAMPLENR, 76},
+	{806*OVERSAMPLENR, 70},
+	{841*OVERSAMPLENR, 63},
+	{876*OVERSAMPLENR, 56},
+	{911*OVERSAMPLENR, 48},
+	{946*OVERSAMPLENR, 38},
+	{981*OVERSAMPLENR, 23},
+	{1005*OVERSAMPLENR, 5},
+	{1016*OVERSAMPLENR, 0}
+};
+#endif
+#if (THERMISTORHEATER_0 == 10) || (THERMISTORHEATER_1 == 10) || (THERMISTORHEATER_2 == 10) || (THERMISTORBED == 10)
+// 100k RS thermistor 198-961 (4.7k pullup)
+const short temptable_10[][2] PROGMEM = {
+   {1*OVERSAMPLENR, 929},
+   {36*OVERSAMPLENR, 299},
+   {71*OVERSAMPLENR, 246},
+   {106*OVERSAMPLENR, 217},
+   {141*OVERSAMPLENR, 198},
+   {176*OVERSAMPLENR, 184},
+   {211*OVERSAMPLENR, 173},
+   {246*OVERSAMPLENR, 163},
+   {281*OVERSAMPLENR, 154},
+   {316*OVERSAMPLENR, 147},
+   {351*OVERSAMPLENR, 140},
+   {386*OVERSAMPLENR, 134},
+   {421*OVERSAMPLENR, 128},
+   {456*OVERSAMPLENR, 122},
+   {491*OVERSAMPLENR, 117},
+   {526*OVERSAMPLENR, 112},
+   {561*OVERSAMPLENR, 107},
+   {596*OVERSAMPLENR, 102},
+   {631*OVERSAMPLENR, 97},
+   {666*OVERSAMPLENR, 91},
+   {701*OVERSAMPLENR, 86},
+   {736*OVERSAMPLENR, 81},
+   {771*OVERSAMPLENR, 76},
+   {806*OVERSAMPLENR, 70},
+   {841*OVERSAMPLENR, 63},
+   {876*OVERSAMPLENR, 56},
+   {911*OVERSAMPLENR, 48},
+   {946*OVERSAMPLENR, 38},
+   {981*OVERSAMPLENR, 23},
+   {1005*OVERSAMPLENR, 5},
+   {1016*OVERSAMPLENR, 0}
+};
+#endif
+
+#if (THERMISTORHEATER_0 == 11) || (THERMISTORHEATER_1 == 11) || (THERMISTORHEATER_2 == 11) || (THERMISTORBED == 11) 
+// QU-BD silicone bed QWG-104F-3950 thermistor
+
+const short temptable_11[][2] PROGMEM = {
+         {1*OVERSAMPLENR,        938},
+         {31*OVERSAMPLENR,       314},
+         {41*OVERSAMPLENR,       290},
+         {51*OVERSAMPLENR,       272},
+         {61*OVERSAMPLENR,       258},
+         {71*OVERSAMPLENR,       247},
+         {81*OVERSAMPLENR,       237},
+         {91*OVERSAMPLENR,       229},
+         {101*OVERSAMPLENR,      221},
+         {111*OVERSAMPLENR,      215},
+         {121*OVERSAMPLENR,      209},
+         {131*OVERSAMPLENR,      204},
+         {141*OVERSAMPLENR,      199},
+         {151*OVERSAMPLENR,      195},
+         {161*OVERSAMPLENR,      190},
+         {171*OVERSAMPLENR,      187},
+         {181*OVERSAMPLENR,      183},
+         {191*OVERSAMPLENR,      179},
+         {201*OVERSAMPLENR,      176},
+         {221*OVERSAMPLENR,      170},
+         {241*OVERSAMPLENR,      165},
+         {261*OVERSAMPLENR,      160},
+         {281*OVERSAMPLENR,      155},
+         {301*OVERSAMPLENR,      150},
+         {331*OVERSAMPLENR,      144},
+         {361*OVERSAMPLENR,      139},
+         {391*OVERSAMPLENR,      133},
+         {421*OVERSAMPLENR,      128},
+         {451*OVERSAMPLENR,      123},
+         {491*OVERSAMPLENR,      117},
+         {531*OVERSAMPLENR,      111},
+         {571*OVERSAMPLENR,      105},
+         {611*OVERSAMPLENR,      100},
+         {641*OVERSAMPLENR,      95},
+         {681*OVERSAMPLENR,      90},
+         {711*OVERSAMPLENR,      85},
+         {751*OVERSAMPLENR,      79},
+         {791*OVERSAMPLENR,      72},
+         {811*OVERSAMPLENR,      69},
+         {831*OVERSAMPLENR,      65},
+         {871*OVERSAMPLENR,      57},
+         {881*OVERSAMPLENR,      55},
+         {901*OVERSAMPLENR,      51},
+         {921*OVERSAMPLENR,      45},
+         {941*OVERSAMPLENR,      39},
+         {971*OVERSAMPLENR,      28},
+         {981*OVERSAMPLENR,      23},
+         {991*OVERSAMPLENR,      17},
+         {1001*OVERSAMPLENR,     9},
+         {1021*OVERSAMPLENR,     -27}
+};
+#endif
+
+#if (THERMISTORHEATER_0 == 13) || (THERMISTORHEATER_1 == 13) || (THERMISTORHEATER_2 == 13) || (THERMISTORBED == 13)
+// Hisens thermistor B25/50 =3950 +/-1%
+
+const short temptable_13[][2] PROGMEM = {
+ {	22.5*OVERSAMPLENR,	300	},
+{	24.125*OVERSAMPLENR,	295	},
+{	25.875*OVERSAMPLENR,	290	},
+{	27.8125*OVERSAMPLENR,	285	},
+{	29.9375*OVERSAMPLENR,	280	},
+{	32.25*OVERSAMPLENR,	275	},
+{	34.8125*OVERSAMPLENR,	270	},
+{	37.625*OVERSAMPLENR,	265	},
+{	40.6875*OVERSAMPLENR,	260	},
+{	44.0625*OVERSAMPLENR,	255	},
+{	47.75*OVERSAMPLENR,	250	},
+{	51.8125*OVERSAMPLENR,	245	},
+{	56.3125*OVERSAMPLENR,	240	},
+{	61.25*OVERSAMPLENR,	235	},
+{	66.75*OVERSAMPLENR,	230	},
+{	72.8125*OVERSAMPLENR,	225	},
+{	79.5*OVERSAMPLENR,	220	},
+{	87*OVERSAMPLENR,	215	},
+{	95.3125*OVERSAMPLENR,	210	},
+{	104.1875*OVERSAMPLENR,	205	},
+{	112.75*OVERSAMPLENR,	200	},
+{	123.125*OVERSAMPLENR,	195	},
+{	135.75*OVERSAMPLENR,	190	},
+{	148.3125*OVERSAMPLENR,	185	},
+{	163.8125*OVERSAMPLENR,	180	},
+{	179*OVERSAMPLENR,	175	},
+{	211.125*OVERSAMPLENR,	170	},
+{	216.125*OVERSAMPLENR,	165	},
+{	236.5625*OVERSAMPLENR,	160	},
+{	258.5*OVERSAMPLENR,	155	},
+{	279.875*OVERSAMPLENR,	150	},
+{	305.375*OVERSAMPLENR,	145	},
+{	333.25*OVERSAMPLENR,	140	},
+{	362.5625*OVERSAMPLENR,	135	},
+{	393.6875*OVERSAMPLENR,	130	},
+{	425*OVERSAMPLENR,	125	},
+{	460.625*OVERSAMPLENR,	120	},
+{	495.1875*OVERSAMPLENR,	115	},
+{	530.875*OVERSAMPLENR,	110	},
+{	567.25*OVERSAMPLENR,	105	},
+{	601.625*OVERSAMPLENR,	100	},
+{	637.875*OVERSAMPLENR,	95	},
+{	674.5625*OVERSAMPLENR,	90	},
+{	710*OVERSAMPLENR,	85	},
+{	744.125*OVERSAMPLENR,	80	},
+{	775.9375*OVERSAMPLENR,	75	},
+{	806.875*OVERSAMPLENR,	70	},
+{	835.1875*OVERSAMPLENR,	65	},
+{	861.125*OVERSAMPLENR,	60	},
+{	884.375*OVERSAMPLENR,	55	},
+{	904.5625*OVERSAMPLENR,	50	},
+{	923.8125*OVERSAMPLENR,	45	},
+{	940.375*OVERSAMPLENR,	40	},
+{	954.625*OVERSAMPLENR,	35	},
+{	966.875*OVERSAMPLENR,	30	},
+{	977.0625*OVERSAMPLENR,	25	},
+{	986*OVERSAMPLENR,	20	},
+{	993.375*OVERSAMPLENR,	15	},
+{	999.5*OVERSAMPLENR,	10	},
+{	1004.5*OVERSAMPLENR,	5	},
+{	1008.5*OVERSAMPLENR,	0	}
+
+ };
+#endif
+
+#if (THERMISTORHEATER_0 == 20) || (THERMISTORHEATER_1 == 20) || (THERMISTORHEATER_2 == 20) || (THERMISTORBED == 20) // PT100 with INA826 amp on Ultimaker v2.0 electronics
+/* The PT100 in the Ultimaker v2.0 electronics has a high sample value for a high temperature.
+This does not match the normal thermistor behaviour so we need to set the following defines */
+#if (THERMISTORHEATER_0 == 20)
+# define HEATER_0_RAW_HI_TEMP 16383
+# define HEATER_0_RAW_LO_TEMP 0
+#endif
+#if (THERMISTORHEATER_1 == 20)
+# define HEATER_1_RAW_HI_TEMP 16383
+# define HEATER_1_RAW_LO_TEMP 0
+#endif
+#if (THERMISTORHEATER_2 == 20)
+# define HEATER_2_RAW_HI_TEMP 16383
+# define HEATER_2_RAW_LO_TEMP 0
+#endif
+#if (THERMISTORBED == 20)
+# define HEATER_BED_RAW_HI_TEMP 16383
+# define HEATER_BED_RAW_LO_TEMP 0
+#endif
+const short temptable_20[][2] PROGMEM = {
+{         0*OVERSAMPLENR ,       0     },
+{       227*OVERSAMPLENR ,       1     },
+{       236*OVERSAMPLENR ,       10     },
+{       245*OVERSAMPLENR ,       20     },
+{       253*OVERSAMPLENR ,       30     },
+{       262*OVERSAMPLENR ,       40     },
+{       270*OVERSAMPLENR ,       50     },
+{       279*OVERSAMPLENR ,       60     },
+{       287*OVERSAMPLENR ,       70     },
+{       295*OVERSAMPLENR ,       80     },
+{       304*OVERSAMPLENR ,       90     },
+{       312*OVERSAMPLENR ,       100     },
+{       320*OVERSAMPLENR ,       110     },
+{       329*OVERSAMPLENR ,       120     },
+{       337*OVERSAMPLENR ,       130     },
+{       345*OVERSAMPLENR ,       140     },
+{       353*OVERSAMPLENR ,       150     },
+{       361*OVERSAMPLENR ,       160     },
+{       369*OVERSAMPLENR ,       170     },
+{       377*OVERSAMPLENR ,       180     },
+{       385*OVERSAMPLENR ,       190     },
+{       393*OVERSAMPLENR ,       200     },
+{       401*OVERSAMPLENR ,       210     },
+{       409*OVERSAMPLENR ,       220     },
+{       417*OVERSAMPLENR ,       230     },
+{       424*OVERSAMPLENR ,       240     },
+{       432*OVERSAMPLENR ,       250     },
+{       440*OVERSAMPLENR ,       260     },
+{       447*OVERSAMPLENR ,       270     },
+{       455*OVERSAMPLENR ,       280     },
+{       463*OVERSAMPLENR ,       290     },
+{       470*OVERSAMPLENR ,       300     },
+{       478*OVERSAMPLENR ,       310     },
+{       485*OVERSAMPLENR ,       320     },
+{       493*OVERSAMPLENR ,       330     },
+{       500*OVERSAMPLENR ,       340     },
+{       507*OVERSAMPLENR ,       350     },
+{       515*OVERSAMPLENR ,       360     },
+{       522*OVERSAMPLENR ,       370     },
+{       529*OVERSAMPLENR ,       380     },
+{       537*OVERSAMPLENR ,       390     },
+{       544*OVERSAMPLENR ,       400     },
+{       614*OVERSAMPLENR ,       500     },
+{       681*OVERSAMPLENR ,       600     },
+{       744*OVERSAMPLENR ,       700     },
+{       805*OVERSAMPLENR ,       800     },
+{       862*OVERSAMPLENR ,       900     },
+{       917*OVERSAMPLENR ,       1000     },
+{       968*OVERSAMPLENR ,       1100     }
+};
+#endif
+
+#if (THERMISTORHEATER_0 == 51) || (THERMISTORHEATER_1 == 51) || (THERMISTORHEATER_2 == 51) || (THERMISTORBED == 51)
+// 100k EPCOS (WITH 1kohm RESISTOR FOR PULLUP, R9 ON SANGUINOLOLU! NOT FOR 4.7kohm PULLUP! THIS IS NOT NORMAL!)
+// Verified by linagee.
+// Calculated using 1kohm pullup, voltage divider math, and manufacturer provided temp/resistance
+// Advantage: Twice the resolution and better linearity from 150C to 200C
+const short temptable_51[][2] PROGMEM = {
+   {1*OVERSAMPLENR, 350},
+   {190*OVERSAMPLENR, 250}, //top rating 250C
+   {203*OVERSAMPLENR, 245},
+   {217*OVERSAMPLENR, 240},
+   {232*OVERSAMPLENR, 235},
+   {248*OVERSAMPLENR, 230},
+   {265*OVERSAMPLENR, 225},
+   {283*OVERSAMPLENR, 220},
+   {302*OVERSAMPLENR, 215},
+   {322*OVERSAMPLENR, 210},
+   {344*OVERSAMPLENR, 205},
+   {366*OVERSAMPLENR, 200},
+   {390*OVERSAMPLENR, 195},
+   {415*OVERSAMPLENR, 190},
+   {440*OVERSAMPLENR, 185},
+   {467*OVERSAMPLENR, 180},
+   {494*OVERSAMPLENR, 175},
+   {522*OVERSAMPLENR, 170},
+   {551*OVERSAMPLENR, 165},
+   {580*OVERSAMPLENR, 160},
+   {609*OVERSAMPLENR, 155},
+   {638*OVERSAMPLENR, 150},
+   {666*OVERSAMPLENR, 145},
+   {695*OVERSAMPLENR, 140},
+   {722*OVERSAMPLENR, 135},
+   {749*OVERSAMPLENR, 130},
+   {775*OVERSAMPLENR, 125},
+   {800*OVERSAMPLENR, 120},
+   {823*OVERSAMPLENR, 115},
+   {845*OVERSAMPLENR, 110},
+   {865*OVERSAMPLENR, 105},
+   {884*OVERSAMPLENR, 100},
+   {901*OVERSAMPLENR, 95},
+   {917*OVERSAMPLENR, 90},
+   {932*OVERSAMPLENR, 85},
+   {944*OVERSAMPLENR, 80},
+   {956*OVERSAMPLENR, 75},
+   {966*OVERSAMPLENR, 70},
+   {975*OVERSAMPLENR, 65},
+   {982*OVERSAMPLENR, 60},
+   {989*OVERSAMPLENR, 55},
+   {995*OVERSAMPLENR, 50},
+   {1000*OVERSAMPLENR, 45},
+   {1004*OVERSAMPLENR, 40},
+   {1007*OVERSAMPLENR, 35},
+   {1010*OVERSAMPLENR, 30},
+   {1013*OVERSAMPLENR, 25},
+   {1015*OVERSAMPLENR, 20},
+   {1017*OVERSAMPLENR, 15},
+   {1018*OVERSAMPLENR, 10},
+   {1019*OVERSAMPLENR, 5},
+   {1020*OVERSAMPLENR, 0},
+   {1021*OVERSAMPLENR, -5}
+};
+#endif
+
+#if (THERMISTORHEATER_0 == 52) || (THERMISTORHEATER_1 == 52) || (THERMISTORHEATER_2 == 52) || (THERMISTORBED == 52) 
+// 200k ATC Semitec 204GT-2 (WITH 1kohm RESISTOR FOR PULLUP, R9 ON SANGUINOLOLU! NOT FOR 4.7kohm PULLUP! THIS IS NOT NORMAL!)
+// Verified by linagee. Source: http://shop.arcol.hu/static/datasheets/thermistors.pdf
+// Calculated using 1kohm pullup, voltage divider math, and manufacturer provided temp/resistance
+// Advantage: More resolution and better linearity from 150C to 200C
+const short temptable_52[][2] PROGMEM = {
+   {1*OVERSAMPLENR, 500},
+   {125*OVERSAMPLENR, 300}, //top rating 300C
+   {142*OVERSAMPLENR, 290},
+   {162*OVERSAMPLENR, 280},
+   {185*OVERSAMPLENR, 270},
+   {211*OVERSAMPLENR, 260},
+   {240*OVERSAMPLENR, 250},
+   {274*OVERSAMPLENR, 240},
+   {312*OVERSAMPLENR, 230},
+   {355*OVERSAMPLENR, 220},
+   {401*OVERSAMPLENR, 210},
+   {452*OVERSAMPLENR, 200},
+   {506*OVERSAMPLENR, 190},
+   {563*OVERSAMPLENR, 180},
+   {620*OVERSAMPLENR, 170},
+   {677*OVERSAMPLENR, 160},
+   {732*OVERSAMPLENR, 150},
+   {783*OVERSAMPLENR, 140},
+   {830*OVERSAMPLENR, 130},
+   {871*OVERSAMPLENR, 120},
+   {906*OVERSAMPLENR, 110},
+   {935*OVERSAMPLENR, 100},
+   {958*OVERSAMPLENR, 90},
+   {976*OVERSAMPLENR, 80},
+   {990*OVERSAMPLENR, 70},
+   {1000*OVERSAMPLENR, 60},
+   {1008*OVERSAMPLENR, 50},
+   {1013*OVERSAMPLENR, 40},
+   {1017*OVERSAMPLENR, 30},
+   {1019*OVERSAMPLENR, 20},
+   {1021*OVERSAMPLENR, 10},
+   {1022*OVERSAMPLENR, 0}
+};
+#endif
+
+#if (THERMISTORHEATER_0 == 55) || (THERMISTORHEATER_1 == 55) || (THERMISTORHEATER_2 == 55) || (THERMISTORBED == 55) 
+// 100k ATC Semitec 104GT-2 (Used on ParCan) (WITH 1kohm RESISTOR FOR PULLUP, R9 ON SANGUINOLOLU! NOT FOR 4.7kohm PULLUP! THIS IS NOT NORMAL!)
+// Verified by linagee. Source: http://shop.arcol.hu/static/datasheets/thermistors.pdf
+// Calculated using 1kohm pullup, voltage divider math, and manufacturer provided temp/resistance
+// Advantage: More resolution and better linearity from 150C to 200C
+const short temptable_55[][2] PROGMEM = {
+   {1*OVERSAMPLENR, 500},
+   {76*OVERSAMPLENR, 300},
+   {87*OVERSAMPLENR, 290},
+   {100*OVERSAMPLENR, 280},
+   {114*OVERSAMPLENR, 270},
+   {131*OVERSAMPLENR, 260},
+   {152*OVERSAMPLENR, 250},
+   {175*OVERSAMPLENR, 240},
+   {202*OVERSAMPLENR, 230},
+   {234*OVERSAMPLENR, 220},
+   {271*OVERSAMPLENR, 210},
+   {312*OVERSAMPLENR, 200},
+   {359*OVERSAMPLENR, 190},
+   {411*OVERSAMPLENR, 180},
+   {467*OVERSAMPLENR, 170},
+   {527*OVERSAMPLENR, 160},
+   {590*OVERSAMPLENR, 150},
+   {652*OVERSAMPLENR, 140},
+   {713*OVERSAMPLENR, 130},
+   {770*OVERSAMPLENR, 120},
+   {822*OVERSAMPLENR, 110},
+   {867*OVERSAMPLENR, 100},
+   {905*OVERSAMPLENR, 90},
+   {936*OVERSAMPLENR, 80},
+   {961*OVERSAMPLENR, 70},
+   {979*OVERSAMPLENR, 60},
+   {993*OVERSAMPLENR, 50},
+   {1003*OVERSAMPLENR, 40},
+   {1010*OVERSAMPLENR, 30},
+   {1015*OVERSAMPLENR, 20},
+   {1018*OVERSAMPLENR, 10},
+   {1020*OVERSAMPLENR, 0}
+};
+#endif
+
+#if (THERMISTORHEATER_0 == 60) || (THERMISTORHEATER_1 == 60) || (THERMISTORHEATER_2 == 60) || (THERMISTORBED == 60) // Maker's Tool Works Kapton Bed Thermister
+// ./createTemperatureLookup.py --r0=100000 --t0=25 --r1=0 --r2=4700 --beta=3950 
+// r0: 100000
+// t0: 25
+// r1: 0 (parallel with rTherm)
+// r2: 4700 (series with rTherm)
+// beta: 3950
+// min adc: 1 at 0.0048828125 V
+// max adc: 1023 at 4.9951171875 V
+const short temptable_60[][2] PROGMEM = {
+   {51*OVERSAMPLENR, 272},
+   {61*OVERSAMPLENR, 258},
+   {71*OVERSAMPLENR, 247},
+   {81*OVERSAMPLENR, 237},
+   {91*OVERSAMPLENR, 229},
+   {101*OVERSAMPLENR, 221},
+   {131*OVERSAMPLENR, 204},
+   {161*OVERSAMPLENR, 190},
+   {191*OVERSAMPLENR, 179},
+   {231*OVERSAMPLENR, 167},
+   {271*OVERSAMPLENR, 157},
+   {311*OVERSAMPLENR, 148},
+   {351*OVERSAMPLENR, 140},
+   {381*OVERSAMPLENR, 135},
+   {411*OVERSAMPLENR, 130},
+   {441*OVERSAMPLENR, 125},
+   {451*OVERSAMPLENR, 123},
+   {461*OVERSAMPLENR, 122},
+   {471*OVERSAMPLENR, 120},
+   {481*OVERSAMPLENR, 119},
+   {491*OVERSAMPLENR, 117},
+   {501*OVERSAMPLENR, 116},
+   {511*OVERSAMPLENR, 114},
+   {521*OVERSAMPLENR, 113},
+   {531*OVERSAMPLENR, 111},
+   {541*OVERSAMPLENR, 110},
+   {551*OVERSAMPLENR, 108},
+   {561*OVERSAMPLENR, 107},
+   {571*OVERSAMPLENR, 105},
+   {581*OVERSAMPLENR, 104},
+   {591*OVERSAMPLENR, 102},
+   {601*OVERSAMPLENR, 101},
+   {611*OVERSAMPLENR, 100},
+   {621*OVERSAMPLENR, 98},
+   {631*OVERSAMPLENR, 97},
+   {641*OVERSAMPLENR, 95},
+   {651*OVERSAMPLENR, 94},
+   {661*OVERSAMPLENR, 92},
+   {671*OVERSAMPLENR, 91},
+   {681*OVERSAMPLENR, 90},
+   {691*OVERSAMPLENR, 88},
+   {701*OVERSAMPLENR, 87},
+   {711*OVERSAMPLENR, 85},
+   {721*OVERSAMPLENR, 84},
+   {731*OVERSAMPLENR, 82},
+   {741*OVERSAMPLENR, 81},
+   {751*OVERSAMPLENR, 79},
+   {761*OVERSAMPLENR, 77},
+   {771*OVERSAMPLENR, 76},
+   {781*OVERSAMPLENR, 74},
+   {791*OVERSAMPLENR, 72},
+   {801*OVERSAMPLENR, 71},
+   {811*OVERSAMPLENR, 69},
+   {821*OVERSAMPLENR, 67},
+   {831*OVERSAMPLENR, 65},
+   {841*OVERSAMPLENR, 63},
+   {851*OVERSAMPLENR, 62},
+   {861*OVERSAMPLENR, 60},
+   {871*OVERSAMPLENR, 57},
+   {881*OVERSAMPLENR, 55},
+   {891*OVERSAMPLENR, 53},
+   {901*OVERSAMPLENR, 51},
+   {911*OVERSAMPLENR, 48},
+   {921*OVERSAMPLENR, 45},
+   {931*OVERSAMPLENR, 42},
+   {941*OVERSAMPLENR, 39},
+   {951*OVERSAMPLENR, 36},
+   {961*OVERSAMPLENR, 32},
+   {981*OVERSAMPLENR, 23},
+   {991*OVERSAMPLENR, 17},
+   {1001*OVERSAMPLENR, 9},
+   {1008*OVERSAMPLENR, 0},
+};
+#endif
+#if (THERMISTORBED == 12) 
+//100k 0603 SMD Vishay NTCS0603E3104FXT (4.7k pullup) (calibrated for Makibox hot bed)
+const short temptable_12[][2] PROGMEM = {
+   {35*OVERSAMPLENR, 180}, //top rating 180C
+   {211*OVERSAMPLENR, 140},
+   {233*OVERSAMPLENR, 135},
+   {261*OVERSAMPLENR, 130},
+   {290*OVERSAMPLENR, 125},
+   {328*OVERSAMPLENR, 120},
+   {362*OVERSAMPLENR, 115},
+   {406*OVERSAMPLENR, 110},
+   {446*OVERSAMPLENR, 105},
+   {496*OVERSAMPLENR, 100},
+   {539*OVERSAMPLENR, 95},
+   {585*OVERSAMPLENR, 90},
+   {629*OVERSAMPLENR, 85},
+   {675*OVERSAMPLENR, 80},
+   {718*OVERSAMPLENR, 75},
+   {758*OVERSAMPLENR, 70},
+   {793*OVERSAMPLENR, 65},
+   {822*OVERSAMPLENR, 60},
+   {841*OVERSAMPLENR, 55},
+   {875*OVERSAMPLENR, 50},
+   {899*OVERSAMPLENR, 45},
+   {926*OVERSAMPLENR, 40},
+   {946*OVERSAMPLENR, 35},
+   {962*OVERSAMPLENR, 30},
+   {977*OVERSAMPLENR, 25},
+   {987*OVERSAMPLENR, 20},
+   {995*OVERSAMPLENR, 15},
+   {1001*OVERSAMPLENR, 10},
+   {1010*OVERSAMPLENR, 0},
+   {1023*OVERSAMPLENR, -40},
+};
+#endif
+
+// Pt1000 and Pt100 handling
+// 
+// Rt=R0*(1+a*T+b*T*T) [for T>0]
+// a=3.9083E-3, b=-5.775E-7
+
+#define PtA 3.9083E-3
+#define PtB -5.775E-7
+#define PtRt(T,R0) ((R0)*(1.0+(PtA)*(T)+(PtB)*(T)*(T)))
+#define PtAdVal(T,R0,Rup) (short)(1024/(Rup/PtRt(T,R0)+1))
+#define PtLine(T,R0,Rup) { PtAdVal(T,R0,Rup)*OVERSAMPLENR, T },
+
+#if (THERMISTORHEATER_0 == 110) || (THERMISTORHEATER_1 == 110) || (THERMISTORHEATER_2 == 110) || (THERMISTORBED == 110) // Pt100 with 1k0 pullup
+const short temptable_110[][2] PROGMEM = {
+// only few values are needed as the curve is very flat  
+  PtLine(0,100,1000)
+  PtLine(50,100,1000)
+  PtLine(100,100,1000)
+  PtLine(150,100,1000)
+  PtLine(200,100,1000)
+  PtLine(250,100,1000)
+  PtLine(300,100,1000)
+};
+#endif
+#if (THERMISTORHEATER_0 == 147) || (THERMISTORHEATER_1 == 147) || (THERMISTORHEATER_2 == 147) || (THERMISTORBED == 147) // Pt100 with 4k7 pullup
+const short temptable_147[][2] PROGMEM = {
+// only few values are needed as the curve is very flat  
+  PtLine(0,100,4700)
+  PtLine(50,100,4700)
+  PtLine(100,100,4700)
+  PtLine(150,100,4700)
+  PtLine(200,100,4700)
+  PtLine(250,100,4700)
+  PtLine(300,100,4700)
+};
+#endif
+#if (THERMISTORHEATER_0 == 1010) || (THERMISTORHEATER_1 == 1010) || (THERMISTORHEATER_2 == 1010) || (THERMISTORBED == 1010) // Pt1000 with 1k0 pullup
+const short temptable_1010[][2] PROGMEM = {
+  PtLine(0,1000,1000)
+  PtLine(25,1000,1000)
+  PtLine(50,1000,1000)
+  PtLine(75,1000,1000)
+  PtLine(100,1000,1000)
+  PtLine(125,1000,1000)
+  PtLine(150,1000,1000)
+  PtLine(175,1000,1000)
+  PtLine(200,1000,1000)
+  PtLine(225,1000,1000)
+  PtLine(250,1000,1000)
+  PtLine(275,1000,1000)
+  PtLine(300,1000,1000)
+};
+#endif
+#if (THERMISTORHEATER_0 == 1047) || (THERMISTORHEATER_1 == 1047) || (THERMISTORHEATER_2 == 1047) || (THERMISTORBED == 1047) // Pt1000 with 4k7 pullup
+const short temptable_1047[][2] PROGMEM = {
+// only few values are needed as the curve is very flat  
+  PtLine(0,1000,4700)
+  PtLine(50,1000,4700)
+  PtLine(100,1000,4700)
+  PtLine(150,1000,4700)
+  PtLine(200,1000,4700)
+  PtLine(250,1000,4700)
+  PtLine(300,1000,4700)
+};
+#endif
+
+#define _TT_NAME(_N) temptable_ ## _N
+#define TT_NAME(_N) _TT_NAME(_N)
+
+#ifdef THERMISTORHEATER_0
+# define HEATER_0_TEMPTABLE TT_NAME(THERMISTORHEATER_0)
+# define HEATER_0_TEMPTABLE_LEN (sizeof(HEATER_0_TEMPTABLE)/sizeof(*HEATER_0_TEMPTABLE))
+#else
+# ifdef HEATER_0_USES_THERMISTOR
+#  error No heater 0 thermistor table specified
+# else  // HEATER_0_USES_THERMISTOR
+#  define HEATER_0_TEMPTABLE NULL
+#  define HEATER_0_TEMPTABLE_LEN 0
+# endif // HEATER_0_USES_THERMISTOR
+#endif
+
+//Set the high and low raw values for the heater, this indicates which raw value is a high or low temperature
+#ifndef HEATER_0_RAW_HI_TEMP
+# ifdef HEATER_0_USES_THERMISTOR   //In case of a thermistor the highest temperature results in the lowest ADC value
+#  define HEATER_0_RAW_HI_TEMP 0
+#  define HEATER_0_RAW_LO_TEMP 16383
+# else                          //In case of an thermocouple the highest temperature results in the highest ADC value
+#  define HEATER_0_RAW_HI_TEMP 16383
+#  define HEATER_0_RAW_LO_TEMP 0
+# endif
+#endif
+
+#ifdef THERMISTORHEATER_1
+# define HEATER_1_TEMPTABLE TT_NAME(THERMISTORHEATER_1)
+# define HEATER_1_TEMPTABLE_LEN (sizeof(HEATER_1_TEMPTABLE)/sizeof(*HEATER_1_TEMPTABLE))
+#else
+# ifdef HEATER_1_USES_THERMISTOR
+#  error No heater 1 thermistor table specified
+# else  // HEATER_1_USES_THERMISTOR
+#  define HEATER_1_TEMPTABLE NULL
+#  define HEATER_1_TEMPTABLE_LEN 0
+# endif // HEATER_1_USES_THERMISTOR
+#endif
+
+//Set the high and low raw values for the heater, this indicates which raw value is a high or low temperature
+#ifndef HEATER_1_RAW_HI_TEMP
+# ifdef HEATER_1_USES_THERMISTOR   //In case of a thermistor the highest temperature results in the lowest ADC value
+#  define HEATER_1_RAW_HI_TEMP 0
+#  define HEATER_1_RAW_LO_TEMP 16383
+# else                          //In case of an thermocouple the highest temperature results in the highest ADC value
+#  define HEATER_1_RAW_HI_TEMP 16383
+#  define HEATER_1_RAW_LO_TEMP 0
+# endif
+#endif
+
+#ifdef THERMISTORHEATER_2
+# define HEATER_2_TEMPTABLE TT_NAME(THERMISTORHEATER_2)
+# define HEATER_2_TEMPTABLE_LEN (sizeof(HEATER_2_TEMPTABLE)/sizeof(*HEATER_2_TEMPTABLE))
+#else
+# ifdef HEATER_2_USES_THERMISTOR
+#  error No heater 2 thermistor table specified
+# else  // HEATER_2_USES_THERMISTOR
+#  define HEATER_2_TEMPTABLE NULL
+#  define HEATER_2_TEMPTABLE_LEN 0
+# endif // HEATER_2_USES_THERMISTOR
+#endif
+
+//Set the high and low raw values for the heater, this indicates which raw value is a high or low temperature
+#ifndef HEATER_2_RAW_HI_TEMP
+# ifdef HEATER_2_USES_THERMISTOR   //In case of a thermistor the highest temperature results in the lowest ADC value
+#  define HEATER_2_RAW_HI_TEMP 0
+#  define HEATER_2_RAW_LO_TEMP 16383
+# else                          //In case of an thermocouple the highest temperature results in the highest ADC value
+#  define HEATER_2_RAW_HI_TEMP 16383
+#  define HEATER_2_RAW_LO_TEMP 0
+# endif
+#endif
+
+#ifdef THERMISTORBED
+# define BEDTEMPTABLE TT_NAME(THERMISTORBED)
+# define BEDTEMPTABLE_LEN (sizeof(BEDTEMPTABLE)/sizeof(*BEDTEMPTABLE))
+#else
+# ifdef BED_USES_THERMISTOR
+#  error No bed thermistor table specified
+# endif // BED_USES_THERMISTOR
+#endif
+
+//Set the high and low raw values for the heater, this indicates which raw value is a high or low temperature
+#ifndef HEATER_BED_RAW_HI_TEMP
+# ifdef BED_USES_THERMISTOR   //In case of a thermistor the highest temperature results in the lowest ADC value
+#  define HEATER_BED_RAW_HI_TEMP 0
+#  define HEATER_BED_RAW_LO_TEMP 16383
+# else                          //In case of an thermocouple the highest temperature results in the highest ADC value
+#  define HEATER_BED_RAW_HI_TEMP 16383
+#  define HEATER_BED_RAW_LO_TEMP 0
+# endif
+#endif
+
+#endif //THERMISTORTABLES_H_

+ 1746 - 0
ultralcd.cpp

@@ -0,0 +1,1746 @@
+#include "temperature.h"
+#include "ultralcd.h"
+#ifdef ULTRA_LCD
+#include "Marlin.h"
+#include "language.h"
+#include "cardreader.h"
+#include "temperature.h"
+#include "stepper.h"
+#include "ConfigurationStore.h"
+#include <string.h>
+//#include "Configuration.h"
+
+
+#define _STRINGIFY(s) #s
+
+
+int8_t encoderDiff; /* encoderDiff is updated from interrupt context and added to encoderPosition every LCD update */
+
+extern int lcd_change_fil_state;
+
+
+int8_t ReInitLCD = 0;
+
+int8_t SDscrool = 0;
+
+
+/* Configuration settings */
+int plaPreheatHotendTemp;
+int plaPreheatHPBTemp;
+int plaPreheatFanSpeed;
+
+int absPreheatHotendTemp;
+int absPreheatHPBTemp;
+int absPreheatFanSpeed;
+
+int ppPreheatHotendTemp = PP_PREHEAT_HOTEND_TEMP;
+int ppPreheatHPBTemp = PP_PREHEAT_HPB_TEMP;
+int ppPreheatFanSpeed = PP_PREHEAT_FAN_SPEED;
+
+int petPreheatHotendTemp = PET_PREHEAT_HOTEND_TEMP;
+int petPreheatHPBTemp = PET_PREHEAT_HPB_TEMP;
+int petPreheatFanSpeed = PET_PREHEAT_FAN_SPEED;
+
+int hipsPreheatHotendTemp = HIPS_PREHEAT_HOTEND_TEMP;
+int hipsPreheatHPBTemp = HIPS_PREHEAT_HPB_TEMP;
+int hipsPreheatFanSpeed = HIPS_PREHEAT_FAN_SPEED;
+
+int flexPreheatHotendTemp = FLEX_PREHEAT_HOTEND_TEMP;
+int flexPreheatHPBTemp = FLEX_PREHEAT_HPB_TEMP;
+int flexPreheatFanSpeed = FLEX_PREHEAT_FAN_SPEED;
+
+#ifdef FILAMENT_LCD_DISPLAY
+  unsigned long message_millis = 0;
+#endif
+
+#ifdef ULTIPANEL
+  static float manual_feedrate[] = MANUAL_FEEDRATE;
+#endif // ULTIPANEL
+
+/* !Configuration settings */
+
+//Function pointer to menu functions.
+typedef void (*menuFunc_t)();
+
+uint8_t lcd_status_message_level;
+char lcd_status_message[LCD_WIDTH+1] = WELCOME_MSG;
+
+#ifdef DOGLCD
+#include "dogm_lcd_implementation.h"
+#else
+#include "ultralcd_implementation_hitachi_HD44780.h"
+#endif
+
+/** forward declarations **/
+
+void copy_and_scalePID_i();
+void copy_and_scalePID_d();
+
+/* Different menus */
+static void lcd_status_screen();
+#ifdef ULTIPANEL
+extern bool powersupply;
+static void lcd_main_menu();
+static void lcd_tune_menu();
+static void lcd_prepare_menu();
+static void lcd_move_menu();
+static void lcd_control_menu();
+static void lcd_settings_menu();
+static void lcd_control_temperature_menu();
+static void lcd_control_temperature_preheat_pla_settings_menu();
+static void lcd_control_temperature_preheat_abs_settings_menu();
+static void lcd_control_motion_menu();
+static void lcd_control_volumetric_menu();
+#ifdef DOGLCD
+static void lcd_set_contrast();
+#endif
+static void lcd_control_retract_menu();
+static void lcd_sdcard_menu();
+
+#ifdef DELTA_CALIBRATION_MENU
+static void lcd_delta_calibrate_menu();
+#endif // DELTA_CALIBRATION_MENU
+
+static void lcd_quick_feedback();//Cause an LCD refresh, and give the user visual or audible feedback that something has happened
+
+/* Different types of actions that can be used in menu items. */
+static void menu_action_back(menuFunc_t data);
+static void menu_action_submenu(menuFunc_t data);
+static void menu_action_gcode(const char* pgcode);
+static void menu_action_function(menuFunc_t data);
+static void menu_action_sdfile(const char* filename, char* longFilename);
+static void menu_action_sddirectory(const char* filename, char* longFilename);
+static void menu_action_setting_edit_bool(const char* pstr, bool* ptr);
+static void menu_action_setting_edit_int3(const char* pstr, int* ptr, int minValue, int maxValue);
+static void menu_action_setting_edit_float3(const char* pstr, float* ptr, float minValue, float maxValue);
+static void menu_action_setting_edit_float32(const char* pstr, float* ptr, float minValue, float maxValue);
+static void menu_action_setting_edit_float43(const char* pstr, float* ptr, float minValue, float maxValue);
+static void menu_action_setting_edit_float5(const char* pstr, float* ptr, float minValue, float maxValue);
+static void menu_action_setting_edit_float51(const char* pstr, float* ptr, float minValue, float maxValue);
+static void menu_action_setting_edit_float52(const char* pstr, float* ptr, float minValue, float maxValue);
+static void menu_action_setting_edit_long5(const char* pstr, unsigned long* ptr, unsigned long minValue, unsigned long maxValue);
+static void menu_action_setting_edit_callback_bool(const char* pstr, bool* ptr, menuFunc_t callbackFunc);
+static void menu_action_setting_edit_callback_int3(const char* pstr, int* ptr, int minValue, int maxValue, menuFunc_t callbackFunc);
+static void menu_action_setting_edit_callback_float3(const char* pstr, float* ptr, float minValue, float maxValue, menuFunc_t callbackFunc);
+static void menu_action_setting_edit_callback_float32(const char* pstr, float* ptr, float minValue, float maxValue, menuFunc_t callbackFunc);
+static void menu_action_setting_edit_callback_float43(const char* pstr, float* ptr, float minValue, float maxValue, menuFunc_t callbackFunc);
+static void menu_action_setting_edit_callback_float5(const char* pstr, float* ptr, float minValue, float maxValue, menuFunc_t callbackFunc);
+static void menu_action_setting_edit_callback_float51(const char* pstr, float* ptr, float minValue, float maxValue, menuFunc_t callbackFunc);
+static void menu_action_setting_edit_callback_float52(const char* pstr, float* ptr, float minValue, float maxValue, menuFunc_t callbackFunc);
+static void menu_action_setting_edit_callback_long5(const char* pstr, unsigned long* ptr, unsigned long minValue, unsigned long maxValue, menuFunc_t callbackFunc);
+
+#define ENCODER_FEEDRATE_DEADZONE 10
+
+#if !defined(LCD_I2C_VIKI)
+  #ifndef ENCODER_STEPS_PER_MENU_ITEM
+    #define ENCODER_STEPS_PER_MENU_ITEM 5
+  #endif
+  #ifndef ENCODER_PULSES_PER_STEP
+    #define ENCODER_PULSES_PER_STEP 1
+  #endif
+#else
+  #ifndef ENCODER_STEPS_PER_MENU_ITEM
+    #define ENCODER_STEPS_PER_MENU_ITEM 2 // VIKI LCD rotary encoder uses a different number of steps per rotation
+  #endif
+  #ifndef ENCODER_PULSES_PER_STEP
+    #define ENCODER_PULSES_PER_STEP 1
+  #endif
+#endif
+
+
+/* Helper macros for menus */
+#define START_MENU() do { \
+    if (encoderPosition > 0x8000) encoderPosition = 0; \
+    if (encoderPosition / ENCODER_STEPS_PER_MENU_ITEM < currentMenuViewOffset) currentMenuViewOffset = encoderPosition / ENCODER_STEPS_PER_MENU_ITEM;\
+    uint8_t _lineNr = currentMenuViewOffset, _menuItemNr; \
+    bool wasClicked = LCD_CLICKED;\
+    for(uint8_t _drawLineNr = 0; _drawLineNr < LCD_HEIGHT; _drawLineNr++, _lineNr++) { \
+        _menuItemNr = 0;
+
+#define MENU_ITEM(type, label, args...) do { \
+    if (_menuItemNr == _lineNr) { \
+        if (lcdDrawUpdate) { \
+            const char* _label_pstr = PSTR(label); \
+            if ((encoderPosition / ENCODER_STEPS_PER_MENU_ITEM) == _menuItemNr) { \
+                lcd_implementation_drawmenu_ ## type ## _selected (_drawLineNr, _label_pstr , ## args ); \
+            }else{\
+                lcd_implementation_drawmenu_ ## type (_drawLineNr, _label_pstr , ## args ); \
+            }\
+        }\
+        if (wasClicked && (encoderPosition / ENCODER_STEPS_PER_MENU_ITEM) == _menuItemNr) {\
+            lcd_quick_feedback(); \
+            menu_action_ ## type ( args ); \
+            return;\
+        }\
+    }\
+    _menuItemNr++;\
+} while(0)
+
+#define MENU_ITEM_DUMMY() do { _menuItemNr++; } while(0)
+#define MENU_ITEM_EDIT(type, label, args...) MENU_ITEM(setting_edit_ ## type, label, PSTR(label) , ## args )
+#define MENU_ITEM_EDIT_CALLBACK(type, label, args...) MENU_ITEM(setting_edit_callback_ ## type, label, PSTR(label) , ## args )
+#define END_MENU() \
+    if (encoderPosition / ENCODER_STEPS_PER_MENU_ITEM >= _menuItemNr) encoderPosition = _menuItemNr * ENCODER_STEPS_PER_MENU_ITEM - 1; \
+    if ((uint8_t)(encoderPosition / ENCODER_STEPS_PER_MENU_ITEM) >= currentMenuViewOffset + LCD_HEIGHT) { currentMenuViewOffset = (encoderPosition / ENCODER_STEPS_PER_MENU_ITEM) - LCD_HEIGHT + 1; lcdDrawUpdate = 1; _lineNr = currentMenuViewOffset - 1; _drawLineNr = -1; } \
+    } } while(0)
+
+/** Used variables to keep track of the menu */
+#ifndef REPRAPWORLD_KEYPAD
+volatile uint8_t buttons;//Contains the bits of the currently pressed buttons.
+#else
+volatile uint8_t buttons_reprapworld_keypad; // to store the reprapworld_keypad shift register values
+#endif
+#ifdef LCD_HAS_SLOW_BUTTONS
+volatile uint8_t slow_buttons;//Contains the bits of the currently pressed buttons.
+#endif
+uint8_t currentMenuViewOffset;              /* scroll offset in the current menu */
+uint32_t blocking_enc;
+uint8_t lastEncoderBits;
+uint32_t encoderPosition;
+#if (SDCARDDETECT > 0)
+bool lcd_oldcardstatus;
+#endif
+#endif //ULTIPANEL
+
+menuFunc_t currentMenu = lcd_status_screen; /* function pointer to the currently active menu */
+uint32_t lcd_next_update_millis;
+uint8_t lcd_status_update_delay;
+bool ignore_click = false;
+bool wait_for_unclick;
+uint8_t lcdDrawUpdate = 2;                  /* Set to none-zero when the LCD needs to draw, decreased after every draw. Set to 2 in LCD routines so the LCD gets at least 1 full redraw (first redraw is partial) */
+
+//prevMenu and prevEncoderPosition are used to store the previous menu location when editing settings.
+menuFunc_t prevMenu = NULL;
+uint16_t prevEncoderPosition;
+//Variables used when editing values.
+const char* editLabel;
+void* editValue;
+int32_t minEditValue, maxEditValue;
+menuFunc_t callbackFunc;
+
+// place-holders for Ki and Kd edits
+float raw_Ki, raw_Kd;
+
+static void lcd_goto_menu(menuFunc_t menu, const uint32_t encoder=0, const bool feedback=true) {
+  if (currentMenu != menu) {
+    currentMenu = menu;
+    encoderPosition = encoder;
+    if (feedback) lcd_quick_feedback();
+
+    // For LCD_PROGRESS_BAR re-initialize the custom characters
+    #if defined(LCD_PROGRESS_BAR) && defined(SDSUPPORT)
+      lcd_set_custom_characters(menu == lcd_status_screen);
+    #endif
+  }
+}
+
+/* Main status screen. It's up to the implementation specific part to show what is needed. As this is very display dependent */
+static void lcd_status_screen()
+{
+  
+
+    if (lcd_status_update_delay)
+        lcd_status_update_delay--;
+    else
+        lcdDrawUpdate = 1;
+    if (lcdDrawUpdate)
+    {
+        ReInitLCD++;
+        
+        if(ReInitLCD == 30){
+            lcd_implementation_init( // to maybe revive the LCD if static electricity killed it.
+          #if defined(LCD_PROGRESS_BAR) && defined(SDSUPPORT)
+            currentMenu == lcd_status_screen
+          #endif
+        );
+            ReInitLCD =0 ;
+        }else{
+
+            if((ReInitLCD%10) == 0){
+              //lcd_implementation_nodisplay();
+              lcd_implementation_init_noclear( // to maybe revive the LCD if static electricity killed it.
+              #if defined(LCD_PROGRESS_BAR) && defined(SDSUPPORT)
+                currentMenu == lcd_status_screen
+              #endif
+            );
+              
+            }
+
+        }
+
+        
+        //lcd_implementation_display();
+        lcd_implementation_status_screen();
+        //lcd_implementation_clear();
+        
+        lcd_status_update_delay = 10;   /* redraw the main screen every second. This is easier then trying keep track of all things that change on the screen */
+    }
+#ifdef ULTIPANEL
+
+    bool current_click = LCD_CLICKED;
+
+    if (ignore_click) {
+        if (wait_for_unclick) {
+          if (!current_click) {
+              ignore_click = wait_for_unclick = false;
+          }
+          else {
+              current_click = false;
+          }
+        }
+        else if (current_click) {
+            lcd_quick_feedback();
+            wait_for_unclick = true;
+            current_click = false;
+        }
+    }
+
+    if (current_click)
+    {
+        lcd_goto_menu(lcd_main_menu);
+        lcd_implementation_init( // to maybe revive the LCD if static electricity killed it.
+          #if defined(LCD_PROGRESS_BAR) && defined(SDSUPPORT)
+            currentMenu == lcd_status_screen
+          #endif
+        );
+        #ifdef FILAMENT_LCD_DISPLAY
+          message_millis = millis();  // get status message to show up for a while
+        #endif
+    }
+
+#ifdef ULTIPANEL_FEEDMULTIPLY
+    // Dead zone at 100% feedrate
+    if ((feedmultiply < 100 && (feedmultiply + int(encoderPosition)) > 100) ||
+            (feedmultiply > 100 && (feedmultiply + int(encoderPosition)) < 100))
+    {
+        encoderPosition = 0;
+        feedmultiply = 100;
+    }
+
+    if (feedmultiply == 100 && int(encoderPosition) > ENCODER_FEEDRATE_DEADZONE)
+    {
+        feedmultiply += int(encoderPosition) - ENCODER_FEEDRATE_DEADZONE;
+        encoderPosition = 0;
+    }
+    else if (feedmultiply == 100 && int(encoderPosition) < -ENCODER_FEEDRATE_DEADZONE)
+    {
+        feedmultiply += int(encoderPosition) + ENCODER_FEEDRATE_DEADZONE;
+        encoderPosition = 0;
+    }
+    else if (feedmultiply != 100)
+    {
+        feedmultiply += int(encoderPosition);
+        encoderPosition = 0;
+    }
+#endif //ULTIPANEL_FEEDMULTIPLY
+
+    if (feedmultiply < 10)
+        feedmultiply = 10;
+    else if (feedmultiply > 999)
+        feedmultiply = 999;
+#endif //ULTIPANEL
+}
+
+#ifdef ULTIPANEL
+
+static void lcd_return_to_status() { 
+  lcd_implementation_init( // to maybe revive the LCD if static electricity killed it.
+          #if defined(LCD_PROGRESS_BAR) && defined(SDSUPPORT)
+            currentMenu == lcd_status_screen
+          #endif
+        );
+  lcd_goto_menu(lcd_status_screen, 0, false); 
+}
+
+static void lcd_sdcard_pause() { card.pauseSDPrint(); }
+
+static void lcd_sdcard_resume() { card.startFileprint(); }
+
+float move_menu_scale;
+static void lcd_move_menu_axis();
+
+static void lcd_sdcard_stop()
+{
+    card.sdprinting = false;
+    card.closefile();
+    quickStop();
+    if(SD_FINISHED_STEPPERRELEASE)
+    {
+        enquecommand_P(PSTR(SD_FINISHED_RELEASECOMMAND));
+    }
+    autotempShutdown();
+
+	cancel_heatup = true;
+
+	lcd_setstatus(MSG_PRINT_ABORTED);
+
+  enquecommand_P(PSTR("M84"));
+
+
+}
+
+/* Menu implementation */
+
+
+void lcd_preheat_pla()
+{
+    setTargetHotend0(plaPreheatHotendTemp);
+    setTargetBed(plaPreheatHPBTemp);
+    fanSpeed = 0;
+    lcd_return_to_status();
+    setWatch(); // heater sanity check timer
+}
+
+void lcd_preheat_abs()
+{
+    setTargetHotend0(absPreheatHotendTemp);
+    setTargetBed(absPreheatHPBTemp);
+    fanSpeed = 0;
+    lcd_return_to_status();
+    setWatch(); // heater sanity check timer
+}
+
+void lcd_preheat_pp()
+{
+    setTargetHotend0(ppPreheatHotendTemp);
+    setTargetBed(ppPreheatHPBTemp);
+    fanSpeed = 0;
+    lcd_return_to_status();
+    setWatch(); // heater sanity check timer
+}
+
+void lcd_preheat_pet()
+{
+    setTargetHotend0(petPreheatHotendTemp);
+    setTargetBed(petPreheatHPBTemp);
+    fanSpeed = 0;
+    lcd_return_to_status();
+    setWatch(); // heater sanity check timer
+}
+
+void lcd_preheat_hips()
+{
+    setTargetHotend0(hipsPreheatHotendTemp);
+    setTargetBed(hipsPreheatHPBTemp);
+    fanSpeed = 0;
+    lcd_return_to_status();
+    setWatch(); // heater sanity check timer
+}
+
+void lcd_preheat_flex()
+{
+    setTargetHotend0(flexPreheatHotendTemp);
+    setTargetBed(flexPreheatHPBTemp);
+    fanSpeed = 0;
+    lcd_return_to_status();
+    setWatch(); // heater sanity check timer
+}
+
+
+void lcd_cooldown()
+{
+    setTargetHotend0(0);
+    setTargetHotend1(0);
+    setTargetHotend2(0);
+    setTargetBed(0);
+    fanSpeed = 0;
+    lcd_return_to_status();
+}
+
+
+
+static void lcd_preheat_menu()
+{
+    START_MENU();
+        
+    
+    MENU_ITEM(back, MSG_MAIN, lcd_main_menu);
+    
+    MENU_ITEM(function, "ABS  -  " STRINGIFY(ABS_PREHEAT_HOTEND_TEMP) "/" STRINGIFY(ABS_PREHEAT_HPB_TEMP), lcd_preheat_abs);
+    MENU_ITEM(function, "PLA  -  " STRINGIFY(PLA_PREHEAT_HOTEND_TEMP) "/" STRINGIFY(PLA_PREHEAT_HPB_TEMP), lcd_preheat_pla);
+    MENU_ITEM(function, "PET  -  " STRINGIFY(PET_PREHEAT_HOTEND_TEMP) "/" STRINGIFY(PET_PREHEAT_HPB_TEMP), lcd_preheat_pet);
+    MENU_ITEM(function, "HIPS -  " STRINGIFY(HIPS_PREHEAT_HOTEND_TEMP) "/" STRINGIFY(HIPS_PREHEAT_HPB_TEMP), lcd_preheat_hips);
+    MENU_ITEM(function, "PP   -  " STRINGIFY(PP_PREHEAT_HOTEND_TEMP) "/" STRINGIFY(PP_PREHEAT_HPB_TEMP), lcd_preheat_pp);
+    MENU_ITEM(function, "FLEX -  " STRINGIFY(FLEX_PREHEAT_HOTEND_TEMP) "/" STRINGIFY(FLEX_PREHEAT_HPB_TEMP), lcd_preheat_flex);
+    
+   
+    MENU_ITEM(function, MSG_COOLDOWN, lcd_cooldown);
+
+    END_MENU();
+}
+
+static void lcd_support_menu()
+{
+    START_MENU();
+        
+    
+    MENU_ITEM(back, MSG_MAIN, lcd_main_menu);
+    
+    MENU_ITEM(back, MSG_FW_VERSION " - " FW_version, lcd_main_menu);
+    MENU_ITEM(back, "prusa3d.com", lcd_main_menu);
+    MENU_ITEM(back, "forum.prusa3d.com", lcd_main_menu);
+    MENU_ITEM(back, "howto.prusa3d.com", lcd_main_menu);
+    MENU_ITEM(back, "Rev: " REVISION, lcd_main_menu);
+
+    END_MENU();
+}
+
+void lcd_unLoadFilament()
+{
+  
+  if(degHotend0() > EXTRUDE_MINTEMP){
+    
+    enquecommand_P(PSTR(UNLOAD_FILAMENT_0));
+  
+    enquecommand_P(PSTR(UNLOAD_FILAMENT_1));
+    
+  }else{
+
+      lcd_implementation_clear();
+      lcd.setCursor(0, 0);
+     
+      lcd.print(MSG_ERROR);
+      
+      lcd.setCursor(0, 2);
+     
+      lcd.print(MSG_PREHEAT_NOZZLE);
+      
+      
+       delay(2000); 
+       lcd_implementation_clear();
+  
+  }
+  
+  
+
+  lcd_return_to_status();
+  
+}
+
+void lcd_change_filament(){
+  
+    lcd_implementation_clear();
+      
+      lcd.setCursor(0, 1);
+     
+      lcd.print(MSG_CHANGING_FILAMENT);
+
+
+}
+
+
+void lcd_wait_interact(){
+
+    lcd_implementation_clear();
+      
+      lcd.setCursor(0, 1);
+     
+      lcd.print(MSG_INSERT_FILAMENT);
+      lcd.setCursor(0, 2);
+      lcd.print(MSG_PRESS);
+
+}
+
+
+void lcd_change_success(){
+
+      lcd_implementation_clear();
+      
+      lcd.setCursor(0, 2);
+     
+      lcd.print(MSG_CHANGE_SUCCESS);
+
+
+}
+
+
+void lcd_loading_color(){
+    
+    lcd_implementation_clear();
+      
+      lcd.setCursor(0, 0);
+     
+      lcd.print(MSG_LOADING_COLOR);
+      lcd.setCursor(0, 2);
+      lcd.print(MSG_PLEASE_WAIT);
+
+  
+  for(int i = 0; i<20; i++){
+    
+    lcd.setCursor(i, 3);
+    lcd.print(".");
+    for(int j = 0;j<10 ; j++){
+        manage_heater();
+    manage_inactivity(true);
+        delay(85);
+    
+    }
+    
+     
+  }
+
+}
+
+
+void lcd_loading_filament(){
+
+  
+    lcd_implementation_clear();
+      
+      lcd.setCursor(0, 0);
+     
+      lcd.print(MSG_LOADING_FILAMENT);
+      lcd.setCursor(0, 2);
+      lcd.print(MSG_PLEASE_WAIT);
+
+  
+  for(int i = 0; i<20; i++){
+    
+    lcd.setCursor(i, 3);
+    lcd.print(".");
+    for(int j = 0;j<10 ; j++){
+        manage_heater();
+    manage_inactivity(true);
+        delay(110);
+    
+    }
+    
+     
+  }
+
+}
+
+void lcd_alright(){
+  int enc_dif = 0;
+  int cursor_pos = 1;
+
+  
+  
+  
+   lcd_implementation_clear();
+      
+      lcd.setCursor(0, 0);
+     
+      lcd.print(MSG_CORRECTLY);
+      
+      lcd.setCursor(1, 1);
+     
+      lcd.print(MSG_YES);
+      
+      lcd.setCursor(1, 2);
+     
+      lcd.print(MSG_NOT_LOADED);
+      
+      
+      lcd.setCursor(1, 3);
+      lcd.print(MSG_NOT_COLOR);
+      
+      
+       lcd.setCursor(0, 1);
+     
+      lcd.print(">");
+      
+     
+      enc_dif = encoderDiff;
+      
+      while(lcd_change_fil_state == 0){
+        
+        manage_heater();
+          manage_inactivity(true);
+          
+          if( enc_dif != encoderDiff ){
+            
+            if ( (abs(enc_dif-encoderDiff)) > 1 ){
+            if (enc_dif > encoderDiff ){
+                  cursor_pos --;
+              }
+              
+              if (enc_dif < encoderDiff  ){
+                  cursor_pos ++;
+              }
+              
+              if(cursor_pos >3){
+              cursor_pos = 3;
+            }
+            
+            if(cursor_pos <1){
+              cursor_pos = 1;
+            }
+            lcd.setCursor(0, 1);
+            lcd.print(" ");
+            lcd.setCursor(0, 2);
+            lcd.print(" ");
+            lcd.setCursor(0, 3);
+            lcd.print(" ");
+            lcd.setCursor(0, cursor_pos);
+            lcd.print(">");
+              enc_dif = encoderDiff;
+              delay(100);
+            }
+            
+          }
+          
+
+          if(lcd_clicked()){
+            
+            lcd_change_fil_state = cursor_pos;
+            delay(500);
+              
+          }
+          
+          
+          
+        };
+      
+      
+       lcd_implementation_clear();
+  lcd_return_to_status();
+  
+}
+
+
+ 
+
+void lcd_LoadFilament()
+{
+  
+  
+  if(degHotend0() > EXTRUDE_MINTEMP){
+    
+    enquecommand_P(PSTR(LOAD_FILAMENT_0));
+  
+  enquecommand_P(PSTR(LOAD_FILAMENT_1));
+  
+  enquecommand_P(PSTR(LOAD_FILAMENT_2));
+    
+  }else{
+
+      lcd_implementation_clear();
+      
+      lcd.setCursor(0, 0);
+     
+      lcd.print(MSG_ERROR);
+      
+      lcd.setCursor(0, 2);
+     
+      lcd.print(MSG_PREHEAT_NOZZLE);
+      
+      
+       delay(2000); 
+       lcd_implementation_clear();
+  }
+  
+  
+
+  lcd_return_to_status();
+}
+
+
+
+
+
+static void _lcd_move(const char *name, int axis, int min, int max) {
+  if (encoderPosition != 0) {
+    refresh_cmd_timeout();
+    current_position[axis] += float((int)encoderPosition) * move_menu_scale;
+    if (min_software_endstops && current_position[axis] < min) current_position[axis] = min;
+    if (max_software_endstops && current_position[axis] > max) current_position[axis] = max;
+    encoderPosition = 0;
+    #ifdef DELTA
+      calculate_delta(current_position);
+      plan_buffer_line(delta[X_AXIS], delta[Y_AXIS], delta[Z_AXIS], current_position[E_AXIS], manual_feedrate[axis]/60, active_extruder);
+    #else
+      plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], manual_feedrate[axis]/60, active_extruder);
+    #endif
+    lcdDrawUpdate = 1;
+  }
+  if (lcdDrawUpdate) lcd_implementation_drawedit(name, ftostr31(current_position[axis]));
+  if (LCD_CLICKED) lcd_goto_menu(lcd_move_menu_axis);
+}
+
+
+static void lcd_move_e()
+{
+    if (encoderPosition != 0)
+    {
+        current_position[E_AXIS] += float((int)encoderPosition) * move_menu_scale;
+        encoderPosition = 0;
+        #ifdef DELTA
+        calculate_delta(current_position);
+        plan_buffer_line(delta[X_AXIS], delta[Y_AXIS], delta[Z_AXIS], current_position[E_AXIS], manual_feedrate[E_AXIS]/60, active_extruder);
+        #else
+        plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], manual_feedrate[E_AXIS]/60, active_extruder);
+        #endif
+        lcdDrawUpdate = 1;
+    }
+    if (lcdDrawUpdate)
+    {
+        lcd_implementation_drawedit(PSTR("Extruder"), ftostr31(current_position[E_AXIS]));
+    }
+    if (LCD_CLICKED) lcd_goto_menu(lcd_move_menu_axis);
+}
+
+
+static void lcd_move_x() { _lcd_move(PSTR("X"), X_AXIS, X_MIN_POS, X_MAX_POS); }
+static void lcd_move_y() { _lcd_move(PSTR("Y"), Y_AXIS, Y_MIN_POS, Y_MAX_POS); }
+static void lcd_move_z() { _lcd_move(PSTR("Z"), Z_AXIS, Z_MIN_POS, Z_MAX_POS); }
+
+void lcd_move_menu_axis()
+{
+    START_MENU();
+    MENU_ITEM(back, MSG_SETTINGS, lcd_settings_menu);
+    MENU_ITEM(submenu, MSG_MOVE_X, lcd_move_x);
+    MENU_ITEM(submenu, MSG_MOVE_Y, lcd_move_y);
+    if (move_menu_scale < 10.0)
+    {
+        MENU_ITEM(submenu, MSG_MOVE_Z, lcd_move_z);
+        MENU_ITEM(submenu, MSG_MOVE_E, lcd_move_e);
+    }
+    END_MENU();
+}
+
+static void lcd_move_menu_1mm()
+{
+    move_menu_scale = 1.0;
+    lcd_move_menu_axis();
+}
+
+
+static void lcd_settings_menu()
+{
+    START_MENU();
+    
+    MENU_ITEM(back, MSG_MAIN, lcd_main_menu);
+    
+    MENU_ITEM(submenu, MSG_TEMPERATURE, lcd_control_temperature_menu);
+    
+
+    MENU_ITEM(submenu, MSG_MOVE_AXIS, lcd_move_menu_1mm);
+    
+    MENU_ITEM(gcode, MSG_HOMEYZ, PSTR("G28 Z"));
+    
+    MENU_ITEM(gcode, MSG_DISABLE_STEPPERS, PSTR("M84"));
+    
+    
+    MENU_ITEM(gcode, MSG_AUTO_HOME, PSTR("G28"));
+    
+    
+    
+    
+
+    END_MENU();
+}
+
+
+
+
+
+
+
+static void lcd_main_menu()
+{
+    SDscrool = 0;
+    START_MENU();
+    
+    // Majkl superawesome menu
+    
+    MENU_ITEM(back, MSG_WATCH, lcd_status_screen);
+    
+    
+    
+    if (movesplanned() || IS_SD_PRINTING)
+    {
+        MENU_ITEM(submenu, MSG_TUNE, lcd_tune_menu);
+    }else{
+        MENU_ITEM(submenu, MSG_PREHEAT, lcd_preheat_menu);
+    }
+
+    #ifdef SDSUPPORT
+        if (card.cardOK)
+        {
+            if (card.isFileOpen())
+            {
+                if (card.sdprinting)
+                    MENU_ITEM(function, MSG_PAUSE_PRINT, lcd_sdcard_pause);
+                else
+                    MENU_ITEM(function, MSG_RESUME_PRINT, lcd_sdcard_resume);
+                MENU_ITEM(function, MSG_STOP_PRINT, lcd_sdcard_stop);
+            }else{
+                MENU_ITEM(submenu, MSG_CARD_MENU, lcd_sdcard_menu);
+    #if SDCARDDETECT < 1
+                MENU_ITEM(gcode, MSG_CNG_SDCARD, PSTR("M21"));  // SD-card changed by user
+    #endif
+            }
+        }else{
+            MENU_ITEM(submenu, MSG_NO_CARD, lcd_sdcard_menu);
+    #if SDCARDDETECT < 1
+            MENU_ITEM(gcode, MSG_INIT_SDCARD, PSTR("M21")); // Manually initialize the SD-card via user interface
+    #endif
+        }
+    #endif
+
+
+    if (IS_SD_PRINTING)
+    {
+        
+    }else{
+      
+        MENU_ITEM(function, MSG_LOAD_FILAMENT, lcd_LoadFilament);
+        MENU_ITEM(function, MSG_UNLOAD_FILAMENT, lcd_unLoadFilament);  
+      
+        MENU_ITEM(submenu, MSG_SETTINGS, lcd_settings_menu);
+        
+    }
+    
+
+ 
+
+    MENU_ITEM(submenu, MSG_SUPPORT, lcd_support_menu);
+   
+    END_MENU();
+}
+
+
+
+#ifdef SDSUPPORT
+static void lcd_autostart_sd()
+{
+    card.lastnr=0;
+    card.setroot();
+    card.checkautostart(true);
+}
+#endif
+
+
+
+
+static void lcd_tune_menu()
+{
+    START_MENU();
+    MENU_ITEM(back, MSG_MAIN, lcd_main_menu);
+    MENU_ITEM_EDIT(int3, MSG_SPEED, &feedmultiply, 10, 999);
+#if TEMP_SENSOR_0 != 0
+    MENU_ITEM_EDIT(int3, MSG_NOZZLE, &target_temperature[0], 0, HEATER_0_MAXTEMP - 3);
+#endif
+#if TEMP_SENSOR_1 != 0
+    MENU_ITEM_EDIT(int3, MSG_NOZZLE1, &target_temperature[1], 0, HEATER_1_MAXTEMP - 3);
+#endif
+#if TEMP_SENSOR_2 != 0
+    MENU_ITEM_EDIT(int3, MSG_NOZZLE2, &target_temperature[2], 0, HEATER_2_MAXTEMP - 3);
+#endif
+#if TEMP_SENSOR_BED != 0
+    MENU_ITEM_EDIT(int3, MSG_BED, &target_temperature_bed, 0, BED_MAXTEMP - 3);
+#endif
+    MENU_ITEM_EDIT(int3, MSG_FAN_SPEED, &fanSpeed, 0, 255);
+    MENU_ITEM_EDIT(int3, MSG_FLOW, &extrudemultiply, 10, 999);
+#ifdef FILAMENTCHANGEENABLE
+     MENU_ITEM(gcode, MSG_FILAMENTCHANGE, PSTR("M600"));
+#endif
+    END_MENU();
+}
+
+
+
+
+static void lcd_move_menu_01mm()
+{
+    move_menu_scale = 0.1;
+    lcd_move_menu_axis();
+}
+
+static void lcd_control_temperature_menu()
+{
+#ifdef PIDTEMP
+    // set up temp variables - undo the default scaling
+    raw_Ki = unscalePID_i(Ki);
+    raw_Kd = unscalePID_d(Kd);
+#endif
+
+    START_MENU();
+      MENU_ITEM(back, MSG_SETTINGS, lcd_settings_menu);
+    //MENU_ITEM(back, MSG_CONTROL, lcd_control_menu);
+#if TEMP_SENSOR_0 != 0
+    MENU_ITEM_EDIT(int3, MSG_NOZZLE, &target_temperature[0], 0, HEATER_0_MAXTEMP - 3);
+#endif
+#if TEMP_SENSOR_1 != 0
+    MENU_ITEM_EDIT(int3, MSG_NOZZLE1, &target_temperature[1], 0, HEATER_1_MAXTEMP - 3);
+#endif
+#if TEMP_SENSOR_2 != 0
+    MENU_ITEM_EDIT(int3, MSG_NOZZLE2, &target_temperature[2], 0, HEATER_2_MAXTEMP - 3);
+#endif
+#if TEMP_SENSOR_BED != 0
+    MENU_ITEM_EDIT(int3, MSG_BED, &target_temperature_bed, 0, BED_MAXTEMP - 3);
+#endif
+    MENU_ITEM_EDIT(int3, MSG_FAN_SPEED, &fanSpeed, 0, 255);
+#if defined AUTOTEMP && (TEMP_SENSOR_0 != 0)
+    MENU_ITEM_EDIT(bool, MSG_AUTOTEMP, &autotemp_enabled);
+    MENU_ITEM_EDIT(float3, MSG_MIN, &autotemp_min, 0, HEATER_0_MAXTEMP - 3);
+    MENU_ITEM_EDIT(float3, MSG_MAX, &autotemp_max, 0, HEATER_0_MAXTEMP - 3);
+    MENU_ITEM_EDIT(float32, MSG_FACTOR, &autotemp_factor, 0.0, 1.0);
+#endif
+
+    END_MENU();
+}
+
+
+#if SDCARDDETECT == -1
+static void lcd_sd_refresh()
+{
+    card.initsd();
+    currentMenuViewOffset = 0;
+}
+#endif
+static void lcd_sd_updir()
+{
+    SDscrool = 0;
+    card.updir();
+    currentMenuViewOffset = 0;
+}
+
+void lcd_sdcard_menu()
+{
+
+
+    int tempScrool = 0;
+    if (lcdDrawUpdate == 0 && LCD_CLICKED == 0)
+        //delay(100);
+        return;	// nothing to do (so don't thrash the SD card)
+    uint16_t fileCnt = card.getnrfilenames();
+
+    START_MENU();
+    MENU_ITEM(back, MSG_MAIN, lcd_main_menu);
+    card.getWorkDirName();
+    if(card.filename[0]=='/')
+    {
+#if SDCARDDETECT == -1
+        MENU_ITEM(function, LCD_STR_REFRESH MSG_REFRESH, lcd_sd_refresh);
+#endif
+    }else{
+        MENU_ITEM(function, LCD_STR_FOLDER "..", lcd_sd_updir);
+    }
+
+    for(uint16_t i=0;i<fileCnt;i++)
+    {
+        if (_menuItemNr == _lineNr)
+        {
+            #ifndef SDCARD_RATHERRECENTFIRST
+              card.getfilename(i);
+            #else
+              card.getfilename(fileCnt-1-i);
+            #endif
+            if (card.filenameIsDir)
+            {
+                MENU_ITEM(sddirectory, MSG_CARD_MENU, card.filename, card.longFilename);
+            }else{
+               
+                  MENU_ITEM(sdfile, MSG_CARD_MENU, card.filename, card.longFilename);
+         
+
+                
+            
+            }
+        }else{
+            MENU_ITEM_DUMMY();
+        }
+    }
+    END_MENU();
+}
+
+#define menu_edit_type(_type, _name, _strFunc, scale) \
+    void menu_edit_ ## _name () \
+    { \
+        if ((int32_t)encoderPosition < 0) encoderPosition = 0; \
+        if ((int32_t)encoderPosition > maxEditValue) encoderPosition = maxEditValue; \
+        if (lcdDrawUpdate) \
+            lcd_implementation_drawedit(editLabel, _strFunc(((_type)((int32_t)encoderPosition + minEditValue)) / scale)); \
+        if (LCD_CLICKED) \
+        { \
+            *((_type*)editValue) = ((_type)((int32_t)encoderPosition + minEditValue)) / scale; \
+            lcd_goto_menu(prevMenu, prevEncoderPosition); \
+        } \
+    } \
+    void menu_edit_callback_ ## _name () { \
+        menu_edit_ ## _name (); \
+        if (LCD_CLICKED) (*callbackFunc)(); \
+    } \
+    static void menu_action_setting_edit_ ## _name (const char* pstr, _type* ptr, _type minValue, _type maxValue) \
+    { \
+        prevMenu = currentMenu; \
+        prevEncoderPosition = encoderPosition; \
+         \
+        lcdDrawUpdate = 2; \
+        currentMenu = menu_edit_ ## _name; \
+         \
+        editLabel = pstr; \
+        editValue = ptr; \
+        minEditValue = minValue * scale; \
+        maxEditValue = maxValue * scale - minEditValue; \
+        encoderPosition = (*ptr) * scale - minEditValue; \
+    }\
+    static void menu_action_setting_edit_callback_ ## _name (const char* pstr, _type* ptr, _type minValue, _type maxValue, menuFunc_t callback) \
+    { \
+        prevMenu = currentMenu; \
+        prevEncoderPosition = encoderPosition; \
+         \
+        lcdDrawUpdate = 2; \
+        currentMenu = menu_edit_callback_ ## _name; \
+         \
+        editLabel = pstr; \
+        editValue = ptr; \
+        minEditValue = minValue * scale; \
+        maxEditValue = maxValue * scale - minEditValue; \
+        encoderPosition = (*ptr) * scale - minEditValue; \
+        callbackFunc = callback;\
+    }
+menu_edit_type(int, int3, itostr3, 1)
+menu_edit_type(float, float3, ftostr3, 1)
+menu_edit_type(float, float32, ftostr32, 100)
+menu_edit_type(float, float43, ftostr43, 1000)
+menu_edit_type(float, float5, ftostr5, 0.01)
+menu_edit_type(float, float51, ftostr51, 10)
+menu_edit_type(float, float52, ftostr52, 100)
+menu_edit_type(unsigned long, long5, ftostr5, 0.01)
+
+
+
+/** End of menus **/
+
+static void lcd_quick_feedback()
+{
+    lcdDrawUpdate = 2;
+    blocking_enc = millis() + 500;
+    lcd_implementation_quick_feedback();
+}
+
+/** Menu action functions **/
+static void menu_action_back(menuFunc_t data) { lcd_goto_menu(data); }
+static void menu_action_submenu(menuFunc_t data) { lcd_goto_menu(data); }
+static void menu_action_gcode(const char* pgcode) { enquecommand_P(pgcode); }
+static void menu_action_function(menuFunc_t data) { (*data)(); }
+static void menu_action_sdfile(const char* filename, char* longFilename)
+{
+    char cmd[30];
+    char* c;
+    sprintf_P(cmd, PSTR("M23 %s"), filename);
+    for(c = &cmd[4]; *c; c++)
+        *c = tolower(*c);
+    enquecommand(cmd);
+    enquecommand_P(PSTR("M24"));
+    lcd_return_to_status();
+}
+static void menu_action_sddirectory(const char* filename, char* longFilename)
+{
+    card.chdir(filename);
+    encoderPosition = 0;
+}
+static void menu_action_setting_edit_bool(const char* pstr, bool* ptr)
+{
+    *ptr = !(*ptr);
+}
+static void menu_action_setting_edit_callback_bool(const char* pstr, bool* ptr, menuFunc_t callback)
+{
+	menu_action_setting_edit_bool(pstr, ptr);
+	(*callback)();
+}
+#endif//ULTIPANEL
+
+/** LCD API **/
+void lcd_init()
+{
+    lcd_implementation_init();
+
+#ifdef NEWPANEL
+    SET_INPUT(BTN_EN1);
+    SET_INPUT(BTN_EN2);
+    WRITE(BTN_EN1,HIGH);
+    WRITE(BTN_EN2,HIGH);
+  #if BTN_ENC > 0
+    SET_INPUT(BTN_ENC);
+    WRITE(BTN_ENC,HIGH);
+  #endif
+  #ifdef REPRAPWORLD_KEYPAD
+    pinMode(SHIFT_CLK,OUTPUT);
+    pinMode(SHIFT_LD,OUTPUT);
+    pinMode(SHIFT_OUT,INPUT);
+    WRITE(SHIFT_OUT,HIGH);
+    WRITE(SHIFT_LD,HIGH);
+  #endif
+#else  // Not NEWPANEL
+  #ifdef SR_LCD_2W_NL // Non latching 2 wire shift register
+     pinMode (SR_DATA_PIN, OUTPUT);
+     pinMode (SR_CLK_PIN, OUTPUT);
+  #elif defined(SHIFT_CLK)
+     pinMode(SHIFT_CLK,OUTPUT);
+     pinMode(SHIFT_LD,OUTPUT);
+     pinMode(SHIFT_EN,OUTPUT);
+     pinMode(SHIFT_OUT,INPUT);
+     WRITE(SHIFT_OUT,HIGH);
+     WRITE(SHIFT_LD,HIGH);
+     WRITE(SHIFT_EN,LOW);
+  #else
+     #ifdef ULTIPANEL
+     #error ULTIPANEL requires an encoder
+     #endif
+  #endif // SR_LCD_2W_NL
+#endif//!NEWPANEL
+
+#if defined (SDSUPPORT) && defined(SDCARDDETECT) && (SDCARDDETECT > 0)
+    pinMode(SDCARDDETECT,INPUT);
+    WRITE(SDCARDDETECT, HIGH);
+    lcd_oldcardstatus = IS_SD_INSERTED;
+#endif//(SDCARDDETECT > 0)
+#ifdef LCD_HAS_SLOW_BUTTONS
+    slow_buttons = 0;
+#endif
+    lcd_buttons_update();
+#ifdef ULTIPANEL
+    encoderDiff = 0;
+#endif
+}
+
+void lcd_update()
+{
+    static unsigned long timeoutToStatus = 0;
+
+    #ifdef LCD_HAS_SLOW_BUTTONS
+    slow_buttons = lcd_implementation_read_slow_buttons(); // buttons which take too long to read in interrupt context
+    #endif
+
+    lcd_buttons_update();
+
+    #if (SDCARDDETECT > 0)
+    if((IS_SD_INSERTED != lcd_oldcardstatus && lcd_detected()))
+    {
+        lcdDrawUpdate = 2;
+        lcd_oldcardstatus = IS_SD_INSERTED;
+        lcd_implementation_init( // to maybe revive the LCD if static electricity killed it.
+          #if defined(LCD_PROGRESS_BAR) && defined(SDSUPPORT)
+            currentMenu == lcd_status_screen
+          #endif
+        );
+
+        if(lcd_oldcardstatus)
+        {
+            card.initsd();
+            LCD_MESSAGEPGM(MSG_SD_INSERTED);
+        }
+        else
+        {
+            card.release();
+            LCD_MESSAGEPGM(MSG_SD_REMOVED);
+        }
+    }
+    #endif//CARDINSERTED
+
+    if (lcd_next_update_millis < millis())
+    {
+#ifdef ULTIPANEL
+		#ifdef REPRAPWORLD_KEYPAD
+        	if (REPRAPWORLD_KEYPAD_MOVE_Z_UP) {
+        		reprapworld_keypad_move_z_up();
+        	}
+        	if (REPRAPWORLD_KEYPAD_MOVE_Z_DOWN) {
+        		reprapworld_keypad_move_z_down();
+        	}
+        	if (REPRAPWORLD_KEYPAD_MOVE_X_LEFT) {
+        		reprapworld_keypad_move_x_left();
+        	}
+        	if (REPRAPWORLD_KEYPAD_MOVE_X_RIGHT) {
+        		reprapworld_keypad_move_x_right();
+        	}
+        	if (REPRAPWORLD_KEYPAD_MOVE_Y_DOWN) {
+        		reprapworld_keypad_move_y_down();
+        	}
+        	if (REPRAPWORLD_KEYPAD_MOVE_Y_UP) {
+        		reprapworld_keypad_move_y_up();
+        	}
+        	if (REPRAPWORLD_KEYPAD_MOVE_HOME) {
+        		reprapworld_keypad_move_home();
+        	}
+		#endif
+        if (abs(encoderDiff) >= ENCODER_PULSES_PER_STEP)
+        {
+            lcdDrawUpdate = 1;
+            encoderPosition += encoderDiff / ENCODER_PULSES_PER_STEP;
+            encoderDiff = 0;
+            timeoutToStatus = millis() + LCD_TIMEOUT_TO_STATUS;
+        }
+        if (LCD_CLICKED)
+            timeoutToStatus = millis() + LCD_TIMEOUT_TO_STATUS;
+#endif//ULTIPANEL
+
+#ifdef DOGLCD        // Changes due to different driver architecture of the DOGM display
+        blink++;     // Variable for fan animation and alive dot
+        u8g.firstPage();
+        do
+        {
+            u8g.setFont(u8g_font_6x10_marlin);
+            u8g.setPrintPos(125,0);
+            if (blink % 2) u8g.setColorIndex(1); else u8g.setColorIndex(0); // Set color for the alive dot
+            u8g.drawPixel(127,63); // draw alive dot
+            u8g.setColorIndex(1); // black on white
+            (*currentMenu)();
+            if (!lcdDrawUpdate)  break; // Terminate display update, when nothing new to draw. This must be done before the last dogm.next()
+        } while( u8g.nextPage() );
+#else
+        (*currentMenu)();
+#endif
+
+#ifdef LCD_HAS_STATUS_INDICATORS
+        lcd_implementation_update_indicators();
+#endif
+
+#ifdef ULTIPANEL
+        if(timeoutToStatus < millis() && currentMenu != lcd_status_screen)
+        {
+            lcd_return_to_status();
+            lcdDrawUpdate = 2;
+        }
+#endif//ULTIPANEL
+        if (lcdDrawUpdate == 2) lcd_implementation_clear();
+        if (lcdDrawUpdate) lcdDrawUpdate--;
+        lcd_next_update_millis = millis() + LCD_UPDATE_INTERVAL;
+    }
+}
+
+void lcd_ignore_click(bool b)
+{
+    ignore_click = b;
+    wait_for_unclick = false;
+}
+
+void lcd_finishstatus() {
+  int len = strlen(lcd_status_message);
+  if (len > 0) {
+    while (len < LCD_WIDTH) {
+      lcd_status_message[len++] = ' ';
+    }
+  }
+  lcd_status_message[LCD_WIDTH] = '\0';
+  #if defined(LCD_PROGRESS_BAR) && defined(SDSUPPORT)
+    #if PROGRESS_MSG_EXPIRE > 0
+      messageTick =
+    #endif
+    progressBarTick = millis();
+  #endif
+  lcdDrawUpdate = 2;
+
+  #ifdef FILAMENT_LCD_DISPLAY
+    message_millis = millis();  //get status message to show up for a while
+  #endif
+}
+void lcd_setstatus(const char* message)
+{
+    if (lcd_status_message_level > 0)
+        return;
+    strncpy(lcd_status_message, message, LCD_WIDTH);
+    lcd_finishstatus();
+}
+void lcd_setstatuspgm(const char* message)
+{
+    if (lcd_status_message_level > 0)
+        return;
+    strncpy_P(lcd_status_message, message, LCD_WIDTH);
+    lcd_finishstatus();
+}
+void lcd_setalertstatuspgm(const char* message)
+{
+    lcd_setstatuspgm(message);
+    lcd_status_message_level = 1;
+#ifdef ULTIPANEL
+    lcd_return_to_status();
+#endif//ULTIPANEL
+}
+void lcd_reset_alert_level()
+{
+    lcd_status_message_level = 0;
+}
+
+#ifdef DOGLCD
+void lcd_setcontrast(uint8_t value)
+{
+    lcd_contrast = value & 63;
+    u8g.setContrast(lcd_contrast);
+}
+#endif
+
+#ifdef ULTIPANEL
+/* Warning: This function is called from interrupt context */
+void lcd_buttons_update()
+{
+#ifdef NEWPANEL
+    uint8_t newbutton=0;
+    if(READ(BTN_EN1)==0)  newbutton|=EN_A;
+    if(READ(BTN_EN2)==0)  newbutton|=EN_B;
+  #if BTN_ENC > 0
+    if((blocking_enc<millis()) && (READ(BTN_ENC)==0))
+        newbutton |= EN_C;
+  #endif
+    buttons = newbutton;
+    #ifdef LCD_HAS_SLOW_BUTTONS
+    buttons |= slow_buttons;
+    #endif
+    #ifdef REPRAPWORLD_KEYPAD
+      // for the reprapworld_keypad
+      uint8_t newbutton_reprapworld_keypad=0;
+      WRITE(SHIFT_LD,LOW);
+      WRITE(SHIFT_LD,HIGH);
+      for(int8_t i=0;i<8;i++) {
+          newbutton_reprapworld_keypad = newbutton_reprapworld_keypad>>1;
+          if(READ(SHIFT_OUT))
+              newbutton_reprapworld_keypad|=(1<<7);
+          WRITE(SHIFT_CLK,HIGH);
+          WRITE(SHIFT_CLK,LOW);
+      }
+      buttons_reprapworld_keypad=~newbutton_reprapworld_keypad; //invert it, because a pressed switch produces a logical 0
+	#endif
+#else   //read it from the shift register
+    uint8_t newbutton=0;
+    WRITE(SHIFT_LD,LOW);
+    WRITE(SHIFT_LD,HIGH);
+    unsigned char tmp_buttons=0;
+    for(int8_t i=0;i<8;i++)
+    {
+        newbutton = newbutton>>1;
+        if(READ(SHIFT_OUT))
+            newbutton|=(1<<7);
+        WRITE(SHIFT_CLK,HIGH);
+        WRITE(SHIFT_CLK,LOW);
+    }
+    buttons=~newbutton; //invert it, because a pressed switch produces a logical 0
+#endif//!NEWPANEL
+
+    //manage encoder rotation
+    uint8_t enc=0;
+    if (buttons & EN_A) enc |= B01;
+    if (buttons & EN_B) enc |= B10;
+    if(enc != lastEncoderBits)
+    {
+        switch(enc)
+        {
+        case encrot0:
+            if(lastEncoderBits==encrot3)
+                encoderDiff++;
+            else if(lastEncoderBits==encrot1)
+                encoderDiff--;
+            break;
+        case encrot1:
+            if(lastEncoderBits==encrot0)
+                encoderDiff++;
+            else if(lastEncoderBits==encrot2)
+                encoderDiff--;
+            break;
+        case encrot2:
+            if(lastEncoderBits==encrot1)
+                encoderDiff++;
+            else if(lastEncoderBits==encrot3)
+                encoderDiff--;
+            break;
+        case encrot3:
+            if(lastEncoderBits==encrot2)
+                encoderDiff++;
+            else if(lastEncoderBits==encrot0)
+                encoderDiff--;
+            break;
+        }
+    }
+    lastEncoderBits = enc;
+}
+
+bool lcd_detected(void)
+{
+#if (defined(LCD_I2C_TYPE_MCP23017) || defined(LCD_I2C_TYPE_MCP23008)) && defined(DETECT_DEVICE)
+  return lcd.LcdDetected() == 1;
+#else
+  return true;
+#endif
+}
+
+void lcd_buzz(long duration, uint16_t freq)
+{
+#ifdef LCD_USE_I2C_BUZZER
+  lcd.buzz(duration,freq);
+#endif
+}
+
+bool lcd_clicked()
+{
+  return LCD_CLICKED;
+}
+#endif//ULTIPANEL
+
+/********************************/
+/** Float conversion utilities **/
+/********************************/
+//  convert float to string with +123.4 format
+char conv[8];
+char *ftostr3(const float &x)
+{
+  return itostr3((int)x);
+}
+
+char *itostr2(const uint8_t &x)
+{
+  //sprintf(conv,"%5.1f",x);
+  int xx=x;
+  conv[0]=(xx/10)%10+'0';
+  conv[1]=(xx)%10+'0';
+  conv[2]=0;
+  return conv;
+}
+
+// Convert float to string with 123.4 format, dropping sign
+char *ftostr31(const float &x)
+{
+  int xx=x*10;
+  conv[0]=(xx>=0)?'+':'-';
+  xx=abs(xx);
+  conv[1]=(xx/1000)%10+'0';
+  conv[2]=(xx/100)%10+'0';
+  conv[3]=(xx/10)%10+'0';
+  conv[4]='.';
+  conv[5]=(xx)%10+'0';
+  conv[6]=0;
+  return conv;
+}
+
+// Convert float to string with 123.4 format
+char *ftostr31ns(const float &x)
+{
+  int xx=x*10;
+  //conv[0]=(xx>=0)?'+':'-';
+  xx=abs(xx);
+  conv[0]=(xx/1000)%10+'0';
+  conv[1]=(xx/100)%10+'0';
+  conv[2]=(xx/10)%10+'0';
+  conv[3]='.';
+  conv[4]=(xx)%10+'0';
+  conv[5]=0;
+  return conv;
+}
+
+char *ftostr32(const float &x)
+{
+  long xx=x*100;
+  if (xx >= 0)
+    conv[0]=(xx/10000)%10+'0';
+  else
+    conv[0]='-';
+  xx=abs(xx);
+  conv[1]=(xx/1000)%10+'0';
+  conv[2]=(xx/100)%10+'0';
+  conv[3]='.';
+  conv[4]=(xx/10)%10+'0';
+  conv[5]=(xx)%10+'0';
+  conv[6]=0;
+  return conv;
+}
+
+// Convert float to string with 1.234 format
+char *ftostr43(const float &x)
+{
+	long xx = x * 1000;
+    if (xx >= 0)
+		conv[0] = (xx / 1000) % 10 + '0';
+	else
+		conv[0] = '-';
+	xx = abs(xx);
+	conv[1] = '.';
+	conv[2] = (xx / 100) % 10 + '0';
+	conv[3] = (xx / 10) % 10 + '0';
+	conv[4] = (xx) % 10 + '0';
+	conv[5] = 0;
+	return conv;
+}
+
+//Float to string with 1.23 format
+char *ftostr12ns(const float &x)
+{
+  long xx=x*100;
+  
+  xx=abs(xx);
+  conv[0]=(xx/100)%10+'0';
+  conv[1]='.';
+  conv[2]=(xx/10)%10+'0';
+  conv[3]=(xx)%10+'0';
+  conv[4]=0;
+  return conv;
+}
+
+//  convert float to space-padded string with -_23.4_ format
+char *ftostr32sp(const float &x) {
+  long xx = abs(x * 100);
+  uint8_t dig;
+
+  if (x < 0) { // negative val = -_0
+    conv[0] = '-';
+    dig = (xx / 1000) % 10;
+    conv[1] = dig ? '0' + dig : ' ';
+  }
+  else { // positive val = __0
+    dig = (xx / 10000) % 10;
+    if (dig) {
+      conv[0] = '0' + dig;
+      conv[1] = '0' + (xx / 1000) % 10;
+    }
+    else {
+      conv[0] = ' ';
+      dig = (xx / 1000) % 10;
+      conv[1] = dig ? '0' + dig : ' ';
+    }
+  }
+
+  conv[2] = '0' + (xx / 100) % 10; // lsd always
+
+  dig = xx % 10;
+  if (dig) { // 2 decimal places
+    conv[5] = '0' + dig;
+    conv[4] = '0' + (xx / 10) % 10;
+    conv[3] = '.';
+  }
+  else { // 1 or 0 decimal place
+    dig = (xx / 10) % 10;
+    if (dig) {
+      conv[4] = '0' + dig;
+      conv[3] = '.';
+    }
+    else {
+      conv[3] = conv[4] = ' ';
+    }
+    conv[5] = ' ';
+  }
+  conv[6] = '\0';
+  return conv;
+}
+
+char *itostr31(const int &xx)
+{
+  conv[0]=(xx>=0)?'+':'-';
+  conv[1]=(xx/1000)%10+'0';
+  conv[2]=(xx/100)%10+'0';
+  conv[3]=(xx/10)%10+'0';
+  conv[4]='.';
+  conv[5]=(xx)%10+'0';
+  conv[6]=0;
+  return conv;
+}
+
+// Convert int to rj string with 123 or -12 format
+char *itostr3(const int &x)
+{
+  int xx = x;
+  if (xx < 0) {
+     conv[0]='-';
+     xx = -xx;
+  } else if (xx >= 100)
+    conv[0]=(xx/100)%10+'0';
+  else
+    conv[0]=' ';
+  if (xx >= 10)
+    conv[1]=(xx/10)%10+'0';
+  else
+    conv[1]=' ';
+  conv[2]=(xx)%10+'0';
+  conv[3]=0;
+  return conv;
+}
+
+// Convert int to lj string with 123 format
+char *itostr3left(const int &xx)
+{
+  if (xx >= 100)
+  {
+    conv[0]=(xx/100)%10+'0';
+    conv[1]=(xx/10)%10+'0';
+    conv[2]=(xx)%10+'0';
+    conv[3]=0;
+  }
+  else if (xx >= 10)
+  {
+    conv[0]=(xx/10)%10+'0';
+    conv[1]=(xx)%10+'0';
+    conv[2]=0;
+  }
+  else
+  {
+    conv[0]=(xx)%10+'0';
+    conv[1]=0;
+  }
+  return conv;
+}
+
+// Convert int to rj string with 1234 format
+char *itostr4(const int &xx) {
+  conv[0] = xx >= 1000 ? (xx / 1000) % 10 + '0' : ' ';
+  conv[1] = xx >= 100 ? (xx / 100) % 10 + '0' : ' ';
+  conv[2] = xx >= 10 ? (xx / 10) % 10 + '0' : ' ';
+  conv[3] = xx % 10 + '0';
+  conv[4] = 0;
+  return conv;
+}
+
+// Convert float to rj string with 12345 format
+char *ftostr5(const float &x) {
+  long xx = abs(x);
+  conv[0] = xx >= 10000 ? (xx / 10000) % 10 + '0' : ' ';
+  conv[1] = xx >= 1000 ? (xx / 1000) % 10 + '0' : ' ';
+  conv[2] = xx >= 100 ? (xx / 100) % 10 + '0' : ' ';
+  conv[3] = xx >= 10 ? (xx / 10) % 10 + '0' : ' ';
+  conv[4] = xx % 10 + '0';
+  conv[5] = 0;
+  return conv;
+}
+
+// Convert float to string with +1234.5 format
+char *ftostr51(const float &x)
+{
+  long xx=x*10;
+  conv[0]=(xx>=0)?'+':'-';
+  xx=abs(xx);
+  conv[1]=(xx/10000)%10+'0';
+  conv[2]=(xx/1000)%10+'0';
+  conv[3]=(xx/100)%10+'0';
+  conv[4]=(xx/10)%10+'0';
+  conv[5]='.';
+  conv[6]=(xx)%10+'0';
+  conv[7]=0;
+  return conv;
+}
+
+// Convert float to string with +123.45 format
+char *ftostr52(const float &x)
+{
+  long xx=x*100;
+  conv[0]=(xx>=0)?'+':'-';
+  xx=abs(xx);
+  conv[1]=(xx/10000)%10+'0';
+  conv[2]=(xx/1000)%10+'0';
+  conv[3]=(xx/100)%10+'0';
+  conv[4]='.';
+  conv[5]=(xx/10)%10+'0';
+  conv[6]=(xx)%10+'0';
+  conv[7]=0;
+  return conv;
+}
+
+// Callback for after editing PID i value
+// grab the PID i value out of the temp variable; scale it; then update the PID driver
+void copy_and_scalePID_i()
+{
+#ifdef PIDTEMP
+  Ki = scalePID_i(raw_Ki);
+  updatePID();
+#endif
+}
+
+// Callback for after editing PID d value
+// grab the PID d value out of the temp variable; scale it; then update the PID driver
+void copy_and_scalePID_d()
+{
+#ifdef PIDTEMP
+  Kd = scalePID_d(raw_Kd);
+  updatePID();
+#endif
+}
+
+#endif //ULTRA_LCD

+ 138 - 0
ultralcd.h

@@ -0,0 +1,138 @@
+#ifndef ULTRALCD_H
+#define ULTRALCD_H
+
+#include "Marlin.h"
+
+#ifdef ULTRA_LCD
+
+  void lcd_update();
+  void lcd_init();
+  void lcd_setstatus(const char* message);
+  void lcd_setstatuspgm(const char* message);
+  void lcd_setalertstatuspgm(const char* message);
+  void lcd_reset_alert_level();
+
+  void lcd_alright();
+
+  void lcd_wait_interact();
+  void lcd_change_filament();
+  void lcd_loading_filament();
+  void lcd_change_success();
+  void lcd_loading_color();
+  
+  
+  bool lcd_detected(void);
+
+#ifdef DOGLCD
+  extern int lcd_contrast;
+  void lcd_setcontrast(uint8_t value);
+#endif
+
+  static unsigned char blink = 0;	// Variable for visualization of fan rotation in GLCD
+
+  #define LCD_MESSAGEPGM(x) lcd_setstatuspgm(PSTR(x))
+  #define LCD_ALERTMESSAGEPGM(x) lcd_setalertstatuspgm(PSTR(x))
+
+  #define LCD_UPDATE_INTERVAL 100
+  #define LCD_TIMEOUT_TO_STATUS 15000
+
+  #ifdef ULTIPANEL
+  void lcd_buttons_update();
+  extern volatile uint8_t buttons;  //the last checked buttons in a bit array.
+  #ifdef REPRAPWORLD_KEYPAD
+    extern volatile uint8_t buttons_reprapworld_keypad; // to store the keypad shift register values
+  #endif
+  #else
+  FORCE_INLINE void lcd_buttons_update() {}
+  #endif
+
+  extern int plaPreheatHotendTemp;
+  extern int plaPreheatHPBTemp;
+  extern int plaPreheatFanSpeed;
+
+  extern int absPreheatHotendTemp;
+  extern int absPreheatHPBTemp;
+  extern int absPreheatFanSpeed;
+  
+  extern bool cancel_heatup;
+  
+  #ifdef FILAMENT_LCD_DISPLAY
+        extern unsigned long message_millis;
+  #endif
+    
+  void lcd_buzz(long duration,uint16_t freq);
+  bool lcd_clicked();
+
+  void lcd_ignore_click(bool b=true);
+
+  #ifdef NEWPANEL
+    #define EN_C (1<<BLEN_C)
+    #define EN_B (1<<BLEN_B)
+    #define EN_A (1<<BLEN_A)
+
+    #define LCD_CLICKED (buttons&EN_C)
+    #ifdef REPRAPWORLD_KEYPAD
+  	  #define EN_REPRAPWORLD_KEYPAD_F3 (1<<BLEN_REPRAPWORLD_KEYPAD_F3)
+  	  #define EN_REPRAPWORLD_KEYPAD_F2 (1<<BLEN_REPRAPWORLD_KEYPAD_F2)
+  	  #define EN_REPRAPWORLD_KEYPAD_F1 (1<<BLEN_REPRAPWORLD_KEYPAD_F1)
+  	  #define EN_REPRAPWORLD_KEYPAD_UP (1<<BLEN_REPRAPWORLD_KEYPAD_UP)
+  	  #define EN_REPRAPWORLD_KEYPAD_RIGHT (1<<BLEN_REPRAPWORLD_KEYPAD_RIGHT)
+  	  #define EN_REPRAPWORLD_KEYPAD_MIDDLE (1<<BLEN_REPRAPWORLD_KEYPAD_MIDDLE)
+  	  #define EN_REPRAPWORLD_KEYPAD_DOWN (1<<BLEN_REPRAPWORLD_KEYPAD_DOWN)
+  	  #define EN_REPRAPWORLD_KEYPAD_LEFT (1<<BLEN_REPRAPWORLD_KEYPAD_LEFT)
+
+  	  #define LCD_CLICKED ((buttons&EN_C) || (buttons_reprapworld_keypad&EN_REPRAPWORLD_KEYPAD_F1))
+  	  #define REPRAPWORLD_KEYPAD_MOVE_Z_UP (buttons_reprapworld_keypad&EN_REPRAPWORLD_KEYPAD_F2)
+  	  #define REPRAPWORLD_KEYPAD_MOVE_Z_DOWN (buttons_reprapworld_keypad&EN_REPRAPWORLD_KEYPAD_F3)
+  	  #define REPRAPWORLD_KEYPAD_MOVE_X_LEFT (buttons_reprapworld_keypad&EN_REPRAPWORLD_KEYPAD_LEFT)
+  	  #define REPRAPWORLD_KEYPAD_MOVE_X_RIGHT (buttons_reprapworld_keypad&EN_REPRAPWORLD_KEYPAD_RIGHT)
+  	  #define REPRAPWORLD_KEYPAD_MOVE_Y_DOWN (buttons_reprapworld_keypad&EN_REPRAPWORLD_KEYPAD_DOWN)
+  	  #define REPRAPWORLD_KEYPAD_MOVE_Y_UP (buttons_reprapworld_keypad&EN_REPRAPWORLD_KEYPAD_UP)
+  	  #define REPRAPWORLD_KEYPAD_MOVE_HOME (buttons_reprapworld_keypad&EN_REPRAPWORLD_KEYPAD_MIDDLE)
+    #endif //REPRAPWORLD_KEYPAD
+  #else
+    //atomic, do not change
+    #define B_LE (1<<BL_LE)
+    #define B_UP (1<<BL_UP)
+    #define B_MI (1<<BL_MI)
+    #define B_DW (1<<BL_DW)
+    #define B_RI (1<<BL_RI)
+    #define B_ST (1<<BL_ST)
+    #define EN_B (1<<BLEN_B)
+    #define EN_A (1<<BLEN_A)
+    
+    #define LCD_CLICKED ((buttons&B_MI)||(buttons&B_ST))
+  #endif//NEWPANEL
+
+#else //no LCD
+  FORCE_INLINE void lcd_update() {}
+  FORCE_INLINE void lcd_init() {}
+  FORCE_INLINE void lcd_setstatus(const char* message) {}
+  FORCE_INLINE void lcd_buttons_update() {}
+  FORCE_INLINE void lcd_reset_alert_level() {}
+  FORCE_INLINE void lcd_buzz(long duration,uint16_t freq) {}
+  FORCE_INLINE bool lcd_detected(void) { return true; }
+
+  #define LCD_MESSAGEPGM(x) 
+  #define LCD_ALERTMESSAGEPGM(x) 
+
+#endif //ULTRA_LCD
+
+char *itostr2(const uint8_t &x);
+char *itostr31(const int &xx);
+char *itostr3(const int &xx);
+char *itostr3left(const int &xx);
+char *itostr4(const int &xx);
+
+char *ftostr3(const float &x);
+char *ftostr31ns(const float &x); // float to string without sign character
+char *ftostr31(const float &x);
+char *ftostr32(const float &x);
+char *ftostr43(const float &x);
+char *ftostr12ns(const float &x); 
+char *ftostr32sp(const float &x); // remove zero-padding from ftostr32
+char *ftostr5(const float &x);
+char *ftostr51(const float &x);
+char *ftostr52(const float &x);
+
+#endif //ULTRALCD_H

+ 936 - 0
ultralcd_implementation_hitachi_HD44780.h

@@ -0,0 +1,936 @@
+#ifndef ULTRA_LCD_IMPLEMENTATION_HITACHI_HD44780_H
+#define ULTRA_LCD_IMPLEMENTATION_HITACHI_HD44780_H
+
+
+int scrollstuff = 0;
+char longFilenameOLD[LONG_FILENAME_LENGTH];
+
+/**
+* Implementation of the LCD display routines for a Hitachi HD44780 display. These are common LCD character displays.
+* When selecting the Russian language, a slightly different LCD implementation is used to handle UTF8 characters.
+**/
+
+#ifndef REPRAPWORLD_KEYPAD
+extern volatile uint8_t buttons;  //the last checked buttons in a bit array.
+#else
+extern volatile uint16_t buttons;  //an extended version of the last checked buttons in a bit array.
+#endif
+
+////////////////////////////////////
+// Setup button and encode mappings for each panel (into 'buttons' variable
+//
+// This is just to map common functions (across different panels) onto the same 
+// macro name. The mapping is independent of whether the button is directly connected or 
+// via a shift/i2c register.
+
+#ifdef ULTIPANEL
+// All UltiPanels might have an encoder - so this is always be mapped onto first two bits
+#define BLEN_B 1
+#define BLEN_A 0
+
+#define EN_B (1<<BLEN_B) // The two encoder pins are connected through BTN_EN1 and BTN_EN2
+#define EN_A (1<<BLEN_A)
+
+#if defined(BTN_ENC) && BTN_ENC > -1
+  // encoder click is directly connected
+  #define BLEN_C 2 
+  #define EN_C (1<<BLEN_C) 
+#endif 
+  
+//
+// Setup other button mappings of each panel
+//
+#if defined(LCD_I2C_VIKI)
+  #define B_I2C_BTN_OFFSET 3 // (the first three bit positions reserved for EN_A, EN_B, EN_C)
+  
+  // button and encoder bit positions within 'buttons'
+  #define B_LE (BUTTON_LEFT<<B_I2C_BTN_OFFSET)    // The remaining normalized buttons are all read via I2C
+  #define B_UP (BUTTON_UP<<B_I2C_BTN_OFFSET)
+  #define B_MI (BUTTON_SELECT<<B_I2C_BTN_OFFSET)
+  #define B_DW (BUTTON_DOWN<<B_I2C_BTN_OFFSET)
+  #define B_RI (BUTTON_RIGHT<<B_I2C_BTN_OFFSET)
+
+  #if defined(BTN_ENC) && BTN_ENC > -1 
+    // the pause/stop/restart button is connected to BTN_ENC when used
+    #define B_ST (EN_C)                            // Map the pause/stop/resume button into its normalized functional name 
+    #define LCD_CLICKED (buttons&(B_MI|B_RI|B_ST)) // pause/stop button also acts as click until we implement proper pause/stop.
+  #else
+    #define LCD_CLICKED (buttons&(B_MI|B_RI))
+  #endif  
+
+  // I2C buttons take too long to read inside an interrupt context and so we read them during lcd_update
+  #define LCD_HAS_SLOW_BUTTONS
+
+#elif defined(LCD_I2C_PANELOLU2)
+  // encoder click can be read through I2C if not directly connected
+  #if BTN_ENC <= 0 
+    #define B_I2C_BTN_OFFSET 3 // (the first three bit positions reserved for EN_A, EN_B, EN_C)
+  
+    #define B_MI (PANELOLU2_ENCODER_C<<B_I2C_BTN_OFFSET) // requires LiquidTWI2 library v1.2.3 or later
+
+    #define LCD_CLICKED (buttons&B_MI)
+
+    // I2C buttons take too long to read inside an interrupt context and so we read them during lcd_update
+    #define LCD_HAS_SLOW_BUTTONS
+  #else
+    #define LCD_CLICKED (buttons&EN_C)  
+  #endif
+
+#elif defined(REPRAPWORLD_KEYPAD)
+    // define register bit values, don't change it
+    #define BLEN_REPRAPWORLD_KEYPAD_F3 0
+    #define BLEN_REPRAPWORLD_KEYPAD_F2 1
+    #define BLEN_REPRAPWORLD_KEYPAD_F1 2
+    #define BLEN_REPRAPWORLD_KEYPAD_UP 3
+    #define BLEN_REPRAPWORLD_KEYPAD_RIGHT 4
+    #define BLEN_REPRAPWORLD_KEYPAD_MIDDLE 5
+    #define BLEN_REPRAPWORLD_KEYPAD_DOWN 6
+    #define BLEN_REPRAPWORLD_KEYPAD_LEFT 7
+    
+    #define REPRAPWORLD_BTN_OFFSET 3 // bit offset into buttons for shift register values
+
+    #define EN_REPRAPWORLD_KEYPAD_F3 (1<<(BLEN_REPRAPWORLD_KEYPAD_F3+REPRAPWORLD_BTN_OFFSET))
+    #define EN_REPRAPWORLD_KEYPAD_F2 (1<<(BLEN_REPRAPWORLD_KEYPAD_F2+REPRAPWORLD_BTN_OFFSET))
+    #define EN_REPRAPWORLD_KEYPAD_F1 (1<<(BLEN_REPRAPWORLD_KEYPAD_F1+REPRAPWORLD_BTN_OFFSET))
+    #define EN_REPRAPWORLD_KEYPAD_UP (1<<(BLEN_REPRAPWORLD_KEYPAD_UP+REPRAPWORLD_BTN_OFFSET))
+    #define EN_REPRAPWORLD_KEYPAD_RIGHT (1<<(BLEN_REPRAPWORLD_KEYPAD_RIGHT+REPRAPWORLD_BTN_OFFSET))
+    #define EN_REPRAPWORLD_KEYPAD_MIDDLE (1<<(BLEN_REPRAPWORLD_KEYPAD_MIDDLE+REPRAPWORLD_BTN_OFFSET))
+    #define EN_REPRAPWORLD_KEYPAD_DOWN (1<<(BLEN_REPRAPWORLD_KEYPAD_DOWN+REPRAPWORLD_BTN_OFFSET))
+    #define EN_REPRAPWORLD_KEYPAD_LEFT (1<<(BLEN_REPRAPWORLD_KEYPAD_LEFT+REPRAPWORLD_BTN_OFFSET))
+
+    #define LCD_CLICKED ((buttons&EN_C) || (buttons&EN_REPRAPWORLD_KEYPAD_F1))
+    #define REPRAPWORLD_KEYPAD_MOVE_Y_DOWN (buttons&EN_REPRAPWORLD_KEYPAD_DOWN)
+    #define REPRAPWORLD_KEYPAD_MOVE_Y_UP (buttons&EN_REPRAPWORLD_KEYPAD_UP)
+    #define REPRAPWORLD_KEYPAD_MOVE_HOME (buttons&EN_REPRAPWORLD_KEYPAD_MIDDLE)
+
+#elif defined(NEWPANEL)
+  #define LCD_CLICKED (buttons&EN_C)
+  
+#else // old style ULTIPANEL
+  //bits in the shift register that carry the buttons for:
+  // left up center down right red(stop)
+  #define BL_LE 7
+  #define BL_UP 6
+  #define BL_MI 5
+  #define BL_DW 4
+  #define BL_RI 3
+  #define BL_ST 2
+
+  //automatic, do not change
+  #define B_LE (1<<BL_LE)
+  #define B_UP (1<<BL_UP)
+  #define B_MI (1<<BL_MI)
+  #define B_DW (1<<BL_DW)
+  #define B_RI (1<<BL_RI)
+  #define B_ST (1<<BL_ST)
+  
+  #define LCD_CLICKED (buttons&(B_MI|B_ST))
+#endif
+
+////////////////////////
+// Setup Rotary Encoder Bit Values (for two pin encoders to indicate movement)
+// These values are independent of which pins are used for EN_A and EN_B indications
+// The rotary encoder part is also independent to the chipset used for the LCD
+#if defined(EN_A) && defined(EN_B)
+    #define encrot0 0
+    #define encrot1 2
+    #define encrot2 3
+    #define encrot3 1
+#endif 
+
+#endif //ULTIPANEL
+
+////////////////////////////////////
+// Create LCD class instance and chipset-specific information
+#if defined(LCD_I2C_TYPE_PCF8575)
+  // note: these are register mapped pins on the PCF8575 controller not Arduino pins
+  #define LCD_I2C_PIN_BL  3
+  #define LCD_I2C_PIN_EN  2
+  #define LCD_I2C_PIN_RW  1
+  #define LCD_I2C_PIN_RS  0
+  #define LCD_I2C_PIN_D4  4
+  #define LCD_I2C_PIN_D5  5
+  #define LCD_I2C_PIN_D6  6
+  #define LCD_I2C_PIN_D7  7
+
+  #include <Wire.h>
+  #include <LCD.h>
+  #include <LiquidCrystal_I2C.h>
+  #define LCD_CLASS LiquidCrystal_I2C
+  LCD_CLASS lcd(LCD_I2C_ADDRESS,LCD_I2C_PIN_EN,LCD_I2C_PIN_RW,LCD_I2C_PIN_RS,LCD_I2C_PIN_D4,LCD_I2C_PIN_D5,LCD_I2C_PIN_D6,LCD_I2C_PIN_D7);
+  
+#elif defined(LCD_I2C_TYPE_MCP23017)
+  //for the LED indicators (which maybe mapped to different things in lcd_implementation_update_indicators())
+  #define LED_A 0x04 //100
+  #define LED_B 0x02 //010
+  #define LED_C 0x01 //001
+
+  #define LCD_HAS_STATUS_INDICATORS
+
+  #include <Wire.h>
+  #include <LiquidTWI2.h>
+  #define LCD_CLASS LiquidTWI2
+  #if defined(DETECT_DEVICE)
+     LCD_CLASS lcd(LCD_I2C_ADDRESS, 1);
+  #else
+     LCD_CLASS lcd(LCD_I2C_ADDRESS);
+  #endif
+  
+#elif defined(LCD_I2C_TYPE_MCP23008)
+  #include <Wire.h>
+  #include <LiquidTWI2.h>
+  #define LCD_CLASS LiquidTWI2
+  #if defined(DETECT_DEVICE)
+     LCD_CLASS lcd(LCD_I2C_ADDRESS, 1);
+  #else
+     LCD_CLASS lcd(LCD_I2C_ADDRESS);
+  #endif
+
+#elif defined(LCD_I2C_TYPE_PCA8574)
+    #include <LiquidCrystal_I2C.h>
+    #define LCD_CLASS LiquidCrystal_I2C
+    LCD_CLASS lcd(LCD_I2C_ADDRESS, LCD_WIDTH, LCD_HEIGHT);
+    
+// 2 wire Non-latching LCD SR from:
+// https://bitbucket.org/fmalpartida/new-liquidcrystal/wiki/schematics#!shiftregister-connection 
+#elif defined(SR_LCD_2W_NL)
+
+  extern "C" void __cxa_pure_virtual() { while (1); }
+  #include <LCD.h>
+  #include <LiquidCrystal_SR.h>
+  #define LCD_CLASS LiquidCrystal_SR
+  LCD_CLASS lcd(SR_DATA_PIN, SR_CLK_PIN);
+
+#else
+  // Standard directly connected LCD implementations
+  #ifdef LANGUAGE_RU
+    #include "LiquidCrystalRus.h"
+    #define LCD_CLASS LiquidCrystalRus
+  #else 
+    #include "LiquidCrystal.h"
+    #define LCD_CLASS LiquidCrystal
+  #endif  
+  LCD_CLASS lcd(LCD_PINS_RS, LCD_PINS_ENABLE, LCD_PINS_D4, LCD_PINS_D5,LCD_PINS_D6,LCD_PINS_D7);  //RS,Enable,D4,D5,D6,D7
+#endif
+
+#if defined(LCD_PROGRESS_BAR) && defined(SDSUPPORT)
+  static uint16_t progressBarTick = 0;
+  #if PROGRESS_MSG_EXPIRE > 0
+    static uint16_t messageTick = 0;
+  #endif
+  #define LCD_STR_PROGRESS  "\x03\x04\x05"
+#endif
+
+/* Custom characters defined in the first 8 characters of the LCD */
+#define LCD_STR_BEDTEMP     "\x00"
+#define LCD_STR_DEGREE      "\x01"
+#define LCD_STR_THERMOMETER "\x02"
+#define LCD_STR_UPLEVEL     "\x03"
+#define LCD_STR_REFRESH     "\x04"
+#define LCD_STR_FOLDER      "\x05"
+#define LCD_STR_FEEDRATE    "\x06"
+#define LCD_STR_CLOCK       "\x07"
+#define LCD_STR_ARROW_RIGHT "\x7E"  /* from the default character set */
+
+static void lcd_set_custom_characters(
+  #if defined(LCD_PROGRESS_BAR) && defined(SDSUPPORT)
+    bool progress_bar_set=true
+  #endif
+) {
+  byte bedTemp[8] = {
+    B00000,
+    B11111,
+    B10101,
+    B10001,
+    B10101,
+    B11111,
+    B00000,
+    B00000
+  }; //thanks Sonny Mounicou
+  byte degree[8] = {
+    B01100,
+    B10010,
+    B10010,
+    B01100,
+    B00000,
+    B00000,
+    B00000,
+    B00000
+  };
+  byte thermometer[8] = {
+    B00100,
+    B01010,
+    B01010,
+    B01010,
+    B01010,
+    B10001,
+    B10001,
+    B01110
+  };
+  byte uplevel[8] = {
+    B00100,
+    B01110,
+    B11111,
+    B00100,
+    B11100,
+    B00000,
+    B00000,
+    B00000
+  }; //thanks joris
+  byte refresh[8] = {
+    B00000,
+    B00110,
+    B11001,
+    B11000,
+    B00011,
+    B10011,
+    B01100,
+    B00000,
+  }; //thanks joris
+  byte folder[8] = {
+    B00000,
+    B11100,
+    B11111,
+    B10001,
+    B10001,
+    B11111,
+    B00000,
+    B00000
+  }; //thanks joris
+  byte feedrate[8] = {
+    B11100,
+    B10000,
+    B11000,
+    B10111,
+    B00101,
+    B00110,
+    B00101,
+    B00000
+  }; //thanks Sonny Mounicou
+  byte clock[8] = {
+    B00000,
+    B01110,
+    B10011,
+    B10101,
+    B10001,
+    B01110,
+    B00000,
+    B00000
+  }; //thanks Sonny Mounicou
+
+  #if defined(LCD_PROGRESS_BAR) && defined(SDSUPPORT)
+    static bool char_mode = false;
+    byte progress[3][8] = { {
+      B00000,
+      B10000,
+      B10000,
+      B10000,
+      B10000,
+      B10000,
+      B10000,
+      B00000
+    }, {
+      B00000,
+      B10100,
+      B10100,
+      B10100,
+      B10100,
+      B10100,
+      B10100,
+      B00000
+    }, {
+      B00000,
+      B10101,
+      B10101,
+      B10101,
+      B10101,
+      B10101,
+      B10101,
+      B00000
+    } };
+    if (progress_bar_set != char_mode) {
+      char_mode = progress_bar_set;
+      lcd.createChar(LCD_STR_BEDTEMP[0], bedTemp);
+      lcd.createChar(LCD_STR_DEGREE[0], degree);
+      lcd.createChar(LCD_STR_THERMOMETER[0], thermometer);
+      lcd.createChar(LCD_STR_FEEDRATE[0], feedrate);
+      lcd.createChar(LCD_STR_CLOCK[0], clock);
+      if (progress_bar_set) {
+        // Progress bar characters for info screen
+        for (int i=3; i--;) lcd.createChar(LCD_STR_PROGRESS[i], progress[i]);
+      }
+      else {
+        // Custom characters for submenus
+        lcd.createChar(LCD_STR_UPLEVEL[0], uplevel);
+        lcd.createChar(LCD_STR_REFRESH[0], refresh);
+        lcd.createChar(LCD_STR_FOLDER[0], folder);
+      }
+    }
+  #else
+    lcd.createChar(LCD_STR_BEDTEMP[0], bedTemp);
+    lcd.createChar(LCD_STR_DEGREE[0], degree);
+    lcd.createChar(LCD_STR_THERMOMETER[0], thermometer);
+    lcd.createChar(LCD_STR_UPLEVEL[0], uplevel);
+    lcd.createChar(LCD_STR_REFRESH[0], refresh);
+    lcd.createChar(LCD_STR_FOLDER[0], folder);
+    lcd.createChar(LCD_STR_FEEDRATE[0], feedrate);
+    lcd.createChar(LCD_STR_CLOCK[0], clock);
+  #endif
+}
+
+static void lcd_implementation_init(
+  #if defined(LCD_PROGRESS_BAR) && defined(SDSUPPORT)
+    bool progress_bar_set=true
+  #endif
+) {
+
+#if defined(LCD_I2C_TYPE_PCF8575)
+    lcd.begin(LCD_WIDTH, LCD_HEIGHT);
+  #ifdef LCD_I2C_PIN_BL
+    lcd.setBacklightPin(LCD_I2C_PIN_BL,POSITIVE);
+    lcd.setBacklight(HIGH);
+  #endif
+  
+#elif defined(LCD_I2C_TYPE_MCP23017)
+    lcd.setMCPType(LTI_TYPE_MCP23017);
+    lcd.begin(LCD_WIDTH, LCD_HEIGHT);
+    lcd.setBacklight(0); //set all the LEDs off to begin with
+    
+#elif defined(LCD_I2C_TYPE_MCP23008)
+    lcd.setMCPType(LTI_TYPE_MCP23008);
+    lcd.begin(LCD_WIDTH, LCD_HEIGHT);
+
+#elif defined(LCD_I2C_TYPE_PCA8574)
+      lcd.init();
+      lcd.backlight();
+    
+#else
+    lcd.begin(LCD_WIDTH, LCD_HEIGHT);
+#endif
+
+    lcd_set_custom_characters(
+        #if defined(LCD_PROGRESS_BAR) && defined(SDSUPPORT)
+            progress_bar_set
+        #endif
+    );
+
+    lcd.clear();
+}
+
+
+static void lcd_implementation_init_noclear(
+  #if defined(LCD_PROGRESS_BAR) && defined(SDSUPPORT)
+    bool progress_bar_set=true
+  #endif
+) {
+
+#if defined(LCD_I2C_TYPE_PCF8575)
+    lcd.begin_noclear(LCD_WIDTH, LCD_HEIGHT);
+  #ifdef LCD_I2C_PIN_BL
+    lcd.setBacklightPin(LCD_I2C_PIN_BL,POSITIVE);
+    lcd.setBacklight(HIGH);
+  #endif
+  
+#elif defined(LCD_I2C_TYPE_MCP23017)
+    lcd.setMCPType(LTI_TYPE_MCP23017);
+    lcd.begin_noclear(LCD_WIDTH, LCD_HEIGHT);
+    lcd.setBacklight(0); //set all the LEDs off to begin with
+    
+#elif defined(LCD_I2C_TYPE_MCP23008)
+    lcd.setMCPType(LTI_TYPE_MCP23008);
+    lcd.begin_noclear(LCD_WIDTH, LCD_HEIGHT);
+
+#elif defined(LCD_I2C_TYPE_PCA8574)
+      lcd.init();
+      lcd.backlight();
+    
+#else
+    lcd.begin_noclear(LCD_WIDTH, LCD_HEIGHT);
+#endif
+
+    lcd_set_custom_characters(
+        #if defined(LCD_PROGRESS_BAR) && defined(SDSUPPORT)
+            progress_bar_set
+        #endif
+    );
+
+
+}
+
+
+static void lcd_implementation_nodisplay()
+{
+    lcd.noDisplay();
+}
+static void lcd_implementation_display()
+{
+    lcd.display();
+}
+
+static void lcd_implementation_clear()
+{
+    lcd.clear();
+}
+/* Arduino < 1.0.0 is missing a function to print PROGMEM strings, so we need to implement our own */
+static void lcd_printPGM(const char* str)
+{
+    char c;
+    while((c = pgm_read_byte(str++)) != '\0')
+    {
+        lcd.write(c);
+    }
+}
+/*
+
+20x4   |01234567890123456789|
+       |T 000/000D  Z000.0  |
+       |B 000/000D  F100%   |
+       |SD100%      T--:--  |
+       |Status line.........|
+*/
+static void lcd_implementation_status_screen()
+{
+   
+    int tHotend=int(degHotend(0) + 0.5);
+    int tTarget=int(degTargetHotend(0) + 0.5);
+
+    //Print the hotend temperature
+    lcd.setCursor(0, 0);
+    lcd.print(LCD_STR_THERMOMETER[0]);
+    lcd.print(itostr3(tHotend));
+    lcd.print('/');
+    lcd.print(itostr3left(tTarget));
+    lcd_printPGM(PSTR(LCD_STR_DEGREE " "));
+    lcd.print("  ");
+
+    //Print the Z coordinates
+    lcd.setCursor(LCD_WIDTH - 8-2, 0);
+    lcd.print("  Z");
+    lcd.print(ftostr32sp(current_position[Z_AXIS] + 0.00001));
+    lcd.print(' ');
+
+    //Print the Bedtemperature
+    lcd.setCursor(0, 1);
+    tHotend=int(degBed() + 0.5);
+    tTarget=int(degTargetBed() + 0.5);
+    lcd.print(LCD_STR_BEDTEMP[0]);
+    lcd.print(itostr3(tHotend));
+    lcd.print('/');
+    lcd.print(itostr3left(tTarget));
+    lcd_printPGM(PSTR(LCD_STR_DEGREE " "));
+    lcd.print("  ");
+
+    //Print Feedrate
+    lcd.setCursor(LCD_WIDTH - 8-2, 1);
+    lcd.print("  ");
+    lcd.print(LCD_STR_FEEDRATE[0]);
+    lcd.print(itostr3(feedmultiply));
+    lcd.print('%');
+    lcd.print("     ");
+
+    //Print SD status
+    lcd.setCursor(0, 2);
+    lcd_printPGM(PSTR("SD"));
+
+    if (IS_SD_PRINTING)
+        lcd.print(itostr3(card.percentDone()));
+    else
+        lcd_printPGM(PSTR("---"));
+    lcd.print('%');
+    lcd.print("      ");
+
+    //Print time elapsed
+    lcd.setCursor(LCD_WIDTH - 8 -2, 2);
+    lcd.print("  ");
+    lcd.print(LCD_STR_CLOCK[0]);
+    if(starttime != 0)
+    {
+        uint16_t time = millis()/60000 - starttime/60000;
+        lcd.print(itostr2(time/60));
+        lcd.print(':');
+        lcd.print(itostr2(time%60));
+    }else{
+        lcd_printPGM(PSTR("--:--"));
+    }
+    lcd.print("  ");
+
+
+    //Print status line
+    lcd.setCursor(0, 3);
+
+    if(strcmp(lcd_status_message, "SD-PRINTING         ") == 0){
+
+      if(strcmp(longFilenameOLD, card.longFilename) != 0){
+        memset(longFilenameOLD,'\0',strlen(longFilenameOLD));
+        sprintf(longFilenameOLD, "%s", card.longFilename);
+        scrollstuff = 0;
+      }
+
+      if(strlen(card.longFilename) > LCD_WIDTH){
+        int inters = 0;
+        int gh = scrollstuff;
+        while( ((gh-scrollstuff)<LCD_WIDTH) && (inters == 0)  ){
+          
+          if(card.longFilename[gh] == '\0'){
+            lcd.setCursor(gh-scrollstuff, 3);
+            lcd.print(card.longFilename[gh-1]);
+            scrollstuff = 0;
+            gh = scrollstuff;
+            inters = 1;
+
+          }else{
+            lcd.setCursor(gh-scrollstuff, 3);
+            lcd.print(card.longFilename[gh-1]);
+            gh++;
+          }
+
+          
+        }
+        scrollstuff++;
+
+      }else{
+        lcd.print(longFilenameOLD);
+      }
+
+
+    }else{
+
+      lcd.print(lcd_status_message);
+
+    }
+
+    for(int fillspace = 0; fillspace<20;fillspace++){
+      if((lcd_status_message[fillspace] > 31 )){
+
+      }else{
+
+        lcd.print(' ');
+
+      }
+    }
+
+
+
+
+}
+
+
+static void lcd_implementation_drawmenu_generic(uint8_t row, const char* pstr, char pre_char, char post_char)
+{
+    char c;
+    //Use all characters in narrow LCDs
+  #if LCD_WIDTH < 20
+      uint8_t n = LCD_WIDTH - 1 - 1;
+    #else
+      uint8_t n = LCD_WIDTH - 1 - 2;
+  #endif
+    lcd.setCursor(0, row);
+    lcd.print(pre_char);
+    while( ((c = pgm_read_byte(pstr)) != '\0') && (n>0) )
+    {
+        lcd.print(c);
+        pstr++;
+        n--;
+    }
+    while(n--)
+        lcd.print(' ');
+    lcd.print(post_char);
+    lcd.print(' ');
+}
+static void lcd_implementation_drawmenu_setting_edit_generic(uint8_t row, const char* pstr, char pre_char, char* data)
+{
+    char c;
+    //Use all characters in narrow LCDs
+  #if LCD_WIDTH < 20
+      uint8_t n = LCD_WIDTH - 1 - 1 - strlen(data);
+    #else
+      uint8_t n = LCD_WIDTH - 1 - 2 - strlen(data);
+  #endif
+    lcd.setCursor(0, row);
+    lcd.print(pre_char);
+    while( ((c = pgm_read_byte(pstr)) != '\0') && (n>0) )
+    {
+        lcd.print(c);
+        pstr++;
+        n--;
+    }
+    lcd.print(':');
+    while(n--)
+        lcd.print(' ');
+    lcd.print(data);
+}
+static void lcd_implementation_drawmenu_setting_edit_generic_P(uint8_t row, const char* pstr, char pre_char, const char* data)
+{
+    char c;
+    //Use all characters in narrow LCDs
+  #if LCD_WIDTH < 20
+      uint8_t n = LCD_WIDTH - 1 - 1 - strlen_P(data);
+    #else
+      uint8_t n = LCD_WIDTH - 1 - 2 - strlen_P(data);
+  #endif
+    lcd.setCursor(0, row);
+    lcd.print(pre_char);
+    while( ((c = pgm_read_byte(pstr)) != '\0') && (n>0) )
+    {
+        lcd.print(c);
+        pstr++;
+        n--;
+    }
+    lcd.print(':');
+    while(n--)
+        lcd.print(' ');
+    lcd_printPGM(data);
+}
+#define lcd_implementation_drawmenu_setting_edit_int3_selected(row, pstr, pstr2, data, minValue, maxValue) lcd_implementation_drawmenu_setting_edit_generic(row, pstr, '>', itostr3(*(data)))
+#define lcd_implementation_drawmenu_setting_edit_int3(row, pstr, pstr2, data, minValue, maxValue) lcd_implementation_drawmenu_setting_edit_generic(row, pstr, ' ', itostr3(*(data)))
+#define lcd_implementation_drawmenu_setting_edit_float3_selected(row, pstr, pstr2, data, minValue, maxValue) lcd_implementation_drawmenu_setting_edit_generic(row, pstr, '>', ftostr3(*(data)))
+#define lcd_implementation_drawmenu_setting_edit_float3(row, pstr, pstr2, data, minValue, maxValue) lcd_implementation_drawmenu_setting_edit_generic(row, pstr, ' ', ftostr3(*(data)))
+#define lcd_implementation_drawmenu_setting_edit_float32_selected(row, pstr, pstr2, data, minValue, maxValue) lcd_implementation_drawmenu_setting_edit_generic(row, pstr, '>', ftostr32(*(data)))
+#define lcd_implementation_drawmenu_setting_edit_float32(row, pstr, pstr2, data, minValue, maxValue) lcd_implementation_drawmenu_setting_edit_generic(row, pstr, ' ', ftostr32(*(data)))
+#define lcd_implementation_drawmenu_setting_edit_float43_selected(row, pstr, pstr2, data, minValue, maxValue) lcd_implementation_drawmenu_setting_edit_generic(row, pstr, '>', ftostr43(*(data)))
+#define lcd_implementation_drawmenu_setting_edit_float43(row, pstr, pstr2, data, minValue, maxValue) lcd_implementation_drawmenu_setting_edit_generic(row, pstr, ' ', ftostr43(*(data)))
+#define lcd_implementation_drawmenu_setting_edit_float5_selected(row, pstr, pstr2, data, minValue, maxValue) lcd_implementation_drawmenu_setting_edit_generic(row, pstr, '>', ftostr5(*(data)))
+#define lcd_implementation_drawmenu_setting_edit_float5(row, pstr, pstr2, data, minValue, maxValue) lcd_implementation_drawmenu_setting_edit_generic(row, pstr, ' ', ftostr5(*(data)))
+#define lcd_implementation_drawmenu_setting_edit_float52_selected(row, pstr, pstr2, data, minValue, maxValue) lcd_implementation_drawmenu_setting_edit_generic(row, pstr, '>', ftostr52(*(data)))
+#define lcd_implementation_drawmenu_setting_edit_float52(row, pstr, pstr2, data, minValue, maxValue) lcd_implementation_drawmenu_setting_edit_generic(row, pstr, ' ', ftostr52(*(data)))
+#define lcd_implementation_drawmenu_setting_edit_float51_selected(row, pstr, pstr2, data, minValue, maxValue) lcd_implementation_drawmenu_setting_edit_generic(row, pstr, '>', ftostr51(*(data)))
+#define lcd_implementation_drawmenu_setting_edit_float51(row, pstr, pstr2, data, minValue, maxValue) lcd_implementation_drawmenu_setting_edit_generic(row, pstr, ' ', ftostr51(*(data)))
+#define lcd_implementation_drawmenu_setting_edit_long5_selected(row, pstr, pstr2, data, minValue, maxValue) lcd_implementation_drawmenu_setting_edit_generic(row, pstr, '>', ftostr5(*(data)))
+#define lcd_implementation_drawmenu_setting_edit_long5(row, pstr, pstr2, data, minValue, maxValue) lcd_implementation_drawmenu_setting_edit_generic(row, pstr, ' ', ftostr5(*(data)))
+#define lcd_implementation_drawmenu_setting_edit_bool_selected(row, pstr, pstr2, data) lcd_implementation_drawmenu_setting_edit_generic_P(row, pstr, '>', (*(data))?PSTR(MSG_ON):PSTR(MSG_OFF))
+#define lcd_implementation_drawmenu_setting_edit_bool(row, pstr, pstr2, data) lcd_implementation_drawmenu_setting_edit_generic_P(row, pstr, ' ', (*(data))?PSTR(MSG_ON):PSTR(MSG_OFF))
+
+//Add version for callback functions
+#define lcd_implementation_drawmenu_setting_edit_callback_int3_selected(row, pstr, pstr2, data, minValue, maxValue, callback) lcd_implementation_drawmenu_setting_edit_generic(row, pstr, '>', itostr3(*(data)))
+#define lcd_implementation_drawmenu_setting_edit_callback_int3(row, pstr, pstr2, data, minValue, maxValue, callback) lcd_implementation_drawmenu_setting_edit_generic(row, pstr, ' ', itostr3(*(data)))
+#define lcd_implementation_drawmenu_setting_edit_callback_float3_selected(row, pstr, pstr2, data, minValue, maxValue, callback) lcd_implementation_drawmenu_setting_edit_generic(row, pstr, '>', ftostr3(*(data)))
+#define lcd_implementation_drawmenu_setting_edit_callback_float3(row, pstr, pstr2, data, minValue, maxValue, callback) lcd_implementation_drawmenu_setting_edit_generic(row, pstr, ' ', ftostr3(*(data)))
+#define lcd_implementation_drawmenu_setting_edit_callback_float32_selected(row, pstr, pstr2, data, minValue, maxValue, callback) lcd_implementation_drawmenu_setting_edit_generic(row, pstr, '>', ftostr32(*(data)))
+#define lcd_implementation_drawmenu_setting_edit_callback_float32(row, pstr, pstr2, data, minValue, maxValue, callback) lcd_implementation_drawmenu_setting_edit_generic(row, pstr, ' ', ftostr32(*(data)))
+#define lcd_implementation_drawmenu_setting_edit_callback_float43_selected(row, pstr, pstr2, data, minValue, maxValue, callback) lcd_implementation_drawmenu_setting_edit_generic(row, pstr, '>', ftostr43(*(data)))
+#define lcd_implementation_drawmenu_setting_edit_callback_float43(row, pstr, pstr2, data, minValue, maxValue, callback) lcd_implementation_drawmenu_setting_edit_generic(row, pstr, ' ', ftostr43(*(data)))
+#define lcd_implementation_drawmenu_setting_edit_callback_float5_selected(row, pstr, pstr2, data, minValue, maxValue, callback) lcd_implementation_drawmenu_setting_edit_generic(row, pstr, '>', ftostr5(*(data)))
+#define lcd_implementation_drawmenu_setting_edit_callback_float5(row, pstr, pstr2, data, minValue, maxValue, callback) lcd_implementation_drawmenu_setting_edit_generic(row, pstr, ' ', ftostr5(*(data)))
+#define lcd_implementation_drawmenu_setting_edit_callback_float52_selected(row, pstr, pstr2, data, minValue, maxValue, callback) lcd_implementation_drawmenu_setting_edit_generic(row, pstr, '>', ftostr52(*(data)))
+#define lcd_implementation_drawmenu_setting_edit_callback_float52(row, pstr, pstr2, data, minValue, maxValue, callback) lcd_implementation_drawmenu_setting_edit_generic(row, pstr, ' ', ftostr52(*(data)))
+#define lcd_implementation_drawmenu_setting_edit_callback_float51_selected(row, pstr, pstr2, data, minValue, maxValue, callback) lcd_implementation_drawmenu_setting_edit_generic(row, pstr, '>', ftostr51(*(data)))
+#define lcd_implementation_drawmenu_setting_edit_callback_float51(row, pstr, pstr2, data, minValue, maxValue, callback) lcd_implementation_drawmenu_setting_edit_generic(row, pstr, ' ', ftostr51(*(data)))
+#define lcd_implementation_drawmenu_setting_edit_callback_long5_selected(row, pstr, pstr2, data, minValue, maxValue, callback) lcd_implementation_drawmenu_setting_edit_generic(row, pstr, '>', ftostr5(*(data)))
+#define lcd_implementation_drawmenu_setting_edit_callback_long5(row, pstr, pstr2, data, minValue, maxValue, callback) lcd_implementation_drawmenu_setting_edit_generic(row, pstr, ' ', ftostr5(*(data)))
+#define lcd_implementation_drawmenu_setting_edit_callback_bool_selected(row, pstr, pstr2, data, callback) lcd_implementation_drawmenu_setting_edit_generic_P(row, pstr, '>', (*(data))?PSTR(MSG_ON):PSTR(MSG_OFF))
+#define lcd_implementation_drawmenu_setting_edit_callback_bool(row, pstr, pstr2, data, callback) lcd_implementation_drawmenu_setting_edit_generic_P(row, pstr, ' ', (*(data))?PSTR(MSG_ON):PSTR(MSG_OFF))
+
+
+void lcd_implementation_drawedit(const char* pstr, char* value)
+{
+    lcd.setCursor(1, 1);
+    lcd_printPGM(pstr);
+    lcd.print(':');
+   #if LCD_WIDTH < 20
+      lcd.setCursor(LCD_WIDTH - strlen(value), 1);
+    #else
+      lcd.setCursor(LCD_WIDTH -1 - strlen(value), 1);
+   #endif
+    lcd.print(value);
+}
+static void lcd_implementation_drawmenu_sdfile_selected(uint8_t row, const char* pstr, const char* filename, char* longFilename)
+{
+    char c;
+    int enc_dif = encoderDiff;
+    uint8_t n = LCD_WIDTH - 1;
+    for(int g = 0; g<4;g++){
+      lcd.setCursor(0, g);
+    lcd.print(' ');
+    }
+
+    lcd.setCursor(0, row);
+    lcd.print('>');
+    if (longFilename[0] != '\0')
+    {
+
+        filename = longFilename;
+        //longFilename[LCD_WIDTH-1] = '\0';
+    }
+    int i = 1;
+    int j = 0;
+    int inter = 0;
+    char* longFilenameTMP = longFilename;
+
+    while( ((c = *longFilenameTMP) != '\0') && (inter == 0) )
+    {
+
+        lcd.setCursor(i, row);
+        lcd.print(c);
+        i++;
+        longFilenameTMP++;
+        if(i==LCD_WIDTH){
+          i=1;
+          j++;
+          longFilenameTMP = longFilename;
+          longFilenameTMP = longFilenameTMP+j;
+          n = LCD_WIDTH - 1;
+          for(int g = 0; ((g<300)&&(inter == 0)) ;g++){
+            if(LCD_CLICKED || ( enc_dif != encoderDiff )){
+              inter = 1;
+            }else{
+              delay(1);
+            }
+
+          }
+        }
+
+    }
+    if(c!='\0'){
+      lcd.setCursor(i, row);
+        lcd.print(c);
+        i++;
+    }
+    n=n-i+1;
+    while(n--)
+        lcd.print(' ');
+}
+static void lcd_implementation_drawmenu_sdfile(uint8_t row, const char* pstr, const char* filename, char* longFilename)
+{
+    char c;
+    uint8_t n = LCD_WIDTH - 1;
+    lcd.setCursor(0, row);
+    lcd.print(' ');
+    if (longFilename[0] != '\0')
+    {
+        filename = longFilename;
+        longFilename[LCD_WIDTH-1] = '\0';
+    }
+    while( ((c = *filename) != '\0') && (n>0) )
+    {
+        lcd.print(c);
+        filename++;
+        n--;
+    }
+    while(n--)
+        lcd.print(' ');
+}
+static void lcd_implementation_drawmenu_sddirectory_selected(uint8_t row, const char* pstr, const char* filename, char* longFilename)
+{
+    char c;
+    uint8_t n = LCD_WIDTH - 2;
+    lcd.setCursor(0, row);
+    lcd.print('>');
+    lcd.print(LCD_STR_FOLDER[0]);
+    if (longFilename[0] != '\0')
+    {
+        filename = longFilename;
+        longFilename[LCD_WIDTH-2] = '\0';
+    }
+    while( ((c = *filename) != '\0') && (n>0) )
+    {
+        lcd.print(c);
+        filename++;
+        n--;
+    }
+    while(n--)
+        lcd.print(' ');
+}
+static void lcd_implementation_drawmenu_sddirectory(uint8_t row, const char* pstr, const char* filename, char* longFilename)
+{
+    char c;
+    uint8_t n = LCD_WIDTH - 2;
+    lcd.setCursor(0, row);
+    lcd.print(' ');
+    lcd.print(LCD_STR_FOLDER[0]);
+    if (longFilename[0] != '\0')
+    {
+        filename = longFilename;
+        longFilename[LCD_WIDTH-2] = '\0';
+    }
+    while( ((c = *filename) != '\0') && (n>0) )
+    {
+        lcd.print(c);
+        filename++;
+        n--;
+    }
+    while(n--)
+        lcd.print(' ');
+}
+#define lcd_implementation_drawmenu_back_selected(row, pstr, data) lcd_implementation_drawmenu_generic(row, pstr, LCD_STR_UPLEVEL[0], LCD_STR_UPLEVEL[0])
+#define lcd_implementation_drawmenu_back(row, pstr, data) lcd_implementation_drawmenu_generic(row, pstr, ' ', LCD_STR_UPLEVEL[0])
+#define lcd_implementation_drawmenu_submenu_selected(row, pstr, data) lcd_implementation_drawmenu_generic(row, pstr, '>', LCD_STR_ARROW_RIGHT[0])
+#define lcd_implementation_drawmenu_submenu(row, pstr, data) lcd_implementation_drawmenu_generic(row, pstr, ' ', LCD_STR_ARROW_RIGHT[0])
+#define lcd_implementation_drawmenu_gcode_selected(row, pstr, gcode) lcd_implementation_drawmenu_generic(row, pstr, '>', ' ')
+#define lcd_implementation_drawmenu_gcode(row, pstr, gcode) lcd_implementation_drawmenu_generic(row, pstr, ' ', ' ')
+#define lcd_implementation_drawmenu_function_selected(row, pstr, data) lcd_implementation_drawmenu_generic(row, pstr, '>', ' ')
+#define lcd_implementation_drawmenu_function(row, pstr, data) lcd_implementation_drawmenu_generic(row, pstr, ' ', ' ')
+
+static void lcd_implementation_quick_feedback()
+{
+#ifdef LCD_USE_I2C_BUZZER
+	#if !defined(LCD_FEEDBACK_FREQUENCY_HZ) || !defined(LCD_FEEDBACK_FREQUENCY_DURATION_MS)
+	  lcd_buzz(1000/6,100);
+	#else
+	  lcd_buzz(LCD_FEEDBACK_FREQUENCY_DURATION_MS,LCD_FEEDBACK_FREQUENCY_HZ);
+	#endif
+#elif defined(BEEPER) && BEEPER > -1
+    SET_OUTPUT(BEEPER);
+	#if !defined(LCD_FEEDBACK_FREQUENCY_HZ) || !defined(LCD_FEEDBACK_FREQUENCY_DURATION_MS)
+    for(int8_t i=0;i<10;i++)
+    {
+      WRITE(BEEPER,HIGH);
+      delayMicroseconds(100);
+      WRITE(BEEPER,LOW);
+      delayMicroseconds(100);
+    }
+    #else
+    for(int8_t i=0;i<(LCD_FEEDBACK_FREQUENCY_DURATION_MS / (1000 / LCD_FEEDBACK_FREQUENCY_HZ));i++)
+    {
+      WRITE(BEEPER,HIGH);
+      delayMicroseconds(1000000 / LCD_FEEDBACK_FREQUENCY_HZ / 2);
+      WRITE(BEEPER,LOW);
+      delayMicroseconds(1000000 / LCD_FEEDBACK_FREQUENCY_HZ / 2);
+    }
+    #endif
+#endif
+}
+
+#ifdef LCD_HAS_STATUS_INDICATORS
+static void lcd_implementation_update_indicators()
+{
+  #if defined(LCD_I2C_PANELOLU2) || defined(LCD_I2C_VIKI)
+    //set the LEDS - referred to as backlights by the LiquidTWI2 library 
+    static uint8_t ledsprev = 0;
+    uint8_t leds = 0;
+    if (target_temperature_bed > 0) leds |= LED_A;
+    if (target_temperature[0] > 0) leds |= LED_B;
+    if (fanSpeed) leds |= LED_C;
+    #if EXTRUDERS > 1  
+      if (target_temperature[1] > 0) leds |= LED_C;
+    #endif
+    if (leds != ledsprev) {
+      lcd.setBacklight(leds);
+      ledsprev = leds;
+    }
+  #endif
+}
+#endif
+
+#ifdef LCD_HAS_SLOW_BUTTONS
+extern uint32_t blocking_enc;
+
+static uint8_t lcd_implementation_read_slow_buttons()
+{
+  #ifdef LCD_I2C_TYPE_MCP23017
+  uint8_t slow_buttons;
+    // Reading these buttons this is likely to be too slow to call inside interrupt context
+    // so they are called during normal lcd_update
+    slow_buttons = lcd.readButtons() << B_I2C_BTN_OFFSET; 
+    #if defined(LCD_I2C_VIKI)
+    if(slow_buttons & (B_MI|B_RI)) { //LCD clicked
+       if(blocking_enc > millis()) {
+         slow_buttons &= ~(B_MI|B_RI); // Disable LCD clicked buttons if screen is updated
+       }
+    }
+    #endif
+    return slow_buttons; 
+  #endif
+}
+#endif
+
+#endif//ULTRA_LCD_IMPLEMENTATION_HITACHI_HD44780_H

+ 131 - 0
ultralcd_st7920_u8glib_rrd.h

@@ -0,0 +1,131 @@
+#ifndef ULCDST7920_H
+#define ULCDST7920_H
+
+#include "Marlin.h"
+
+#ifdef U8GLIB_ST7920
+
+//set optimization so ARDUINO optimizes this file
+#pragma GCC optimize (3)
+
+#define ST7920_CLK_PIN  LCD_PINS_D4
+#define ST7920_DAT_PIN  LCD_PINS_ENABLE
+#define ST7920_CS_PIN   LCD_PINS_RS
+
+//#define PAGE_HEIGHT 8   //128 byte framebuffer
+//#define PAGE_HEIGHT 16  //256 byte framebuffer
+#define PAGE_HEIGHT 32  //512 byte framebuffer
+
+#define WIDTH 128
+#define HEIGHT 64
+
+#include <U8glib.h>
+
+static void ST7920_SWSPI_SND_8BIT(uint8_t val)
+{
+  uint8_t i;
+  for( i=0; i<8; i++ )
+  {
+    WRITE(ST7920_CLK_PIN,0);
+    WRITE(ST7920_DAT_PIN,val&0x80); 
+    val<<=1;
+    WRITE(ST7920_CLK_PIN,1);
+  }
+}
+
+#define ST7920_CS()              {WRITE(ST7920_CS_PIN,1);u8g_10MicroDelay();}
+#define ST7920_NCS()             {WRITE(ST7920_CS_PIN,0);}
+#define ST7920_SET_CMD()         {ST7920_SWSPI_SND_8BIT(0xf8);u8g_10MicroDelay();}
+#define ST7920_SET_DAT()         {ST7920_SWSPI_SND_8BIT(0xfa);u8g_10MicroDelay();}
+#define ST7920_WRITE_BYTE(a)     {ST7920_SWSPI_SND_8BIT((a)&0xf0);ST7920_SWSPI_SND_8BIT((a)<<4);u8g_10MicroDelay();}
+#define ST7920_WRITE_BYTES(p,l)  {uint8_t i;for(i=0;i<l;i++){ST7920_SWSPI_SND_8BIT(*p&0xf0);ST7920_SWSPI_SND_8BIT(*p<<4);p++;}u8g_10MicroDelay();}
+
+uint8_t u8g_dev_rrd_st7920_128x64_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg)
+{
+  uint8_t i,y;
+  switch(msg)
+  {
+    case U8G_DEV_MSG_INIT:
+      {
+        SET_OUTPUT(ST7920_CS_PIN);
+        WRITE(ST7920_CS_PIN,0);
+        SET_OUTPUT(ST7920_DAT_PIN);
+        WRITE(ST7920_DAT_PIN,0);
+        SET_OUTPUT(ST7920_CLK_PIN);
+        WRITE(ST7920_CLK_PIN,1);
+
+        ST7920_CS();
+        u8g_Delay(90);                 //initial delay for boot up
+        ST7920_SET_CMD();
+        ST7920_WRITE_BYTE(0x08);       //display off, cursor+blink off
+        ST7920_WRITE_BYTE(0x01);       //clear CGRAM ram
+        u8g_Delay(10);                 //delay for CGRAM clear
+        ST7920_WRITE_BYTE(0x3E);       //extended mode + GDRAM active
+        for(y=0;y<HEIGHT/2;y++)        //clear GDRAM
+        {
+          ST7920_WRITE_BYTE(0x80|y);   //set y
+          ST7920_WRITE_BYTE(0x80);     //set x = 0
+          ST7920_SET_DAT();
+          for(i=0;i<2*WIDTH/8;i++)     //2x width clears both segments
+            ST7920_WRITE_BYTE(0);
+          ST7920_SET_CMD();
+        }
+        ST7920_WRITE_BYTE(0x0C); //display on, cursor+blink off
+        ST7920_NCS();
+      }
+      break;
+
+    case U8G_DEV_MSG_STOP:
+      break;
+    case U8G_DEV_MSG_PAGE_NEXT:
+      {
+        uint8_t *ptr;
+        u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem);
+        y = pb->p.page_y0;
+        ptr = (uint8_t*)pb->buf;
+
+        ST7920_CS();
+        for( i = 0; i < PAGE_HEIGHT; i ++ )
+        {
+          ST7920_SET_CMD();
+          if ( y < 32 )
+          {
+            ST7920_WRITE_BYTE(0x80 | y);       //y
+            ST7920_WRITE_BYTE(0x80);           //x=0
+          }
+          else
+          {
+            ST7920_WRITE_BYTE(0x80 | (y-32));  //y
+            ST7920_WRITE_BYTE(0x80 | 8);       //x=64
+          }
+
+          ST7920_SET_DAT();
+          ST7920_WRITE_BYTES(ptr,WIDTH/8); //ptr is incremented inside of macro
+          y++;
+        }
+        ST7920_NCS();
+      }
+      break;
+  }
+#if PAGE_HEIGHT == 8
+  return u8g_dev_pb8h1_base_fn(u8g, dev, msg, arg);
+#elif PAGE_HEIGHT == 16
+  return u8g_dev_pb16h1_base_fn(u8g, dev, msg, arg);
+#else
+  return u8g_dev_pb32h1_base_fn(u8g, dev, msg, arg);
+#endif
+}
+
+uint8_t   u8g_dev_st7920_128x64_rrd_buf[WIDTH*(PAGE_HEIGHT/8)] U8G_NOCOMMON;
+u8g_pb_t  u8g_dev_st7920_128x64_rrd_pb = {{PAGE_HEIGHT,HEIGHT,0,0,0},WIDTH,u8g_dev_st7920_128x64_rrd_buf};
+u8g_dev_t u8g_dev_st7920_128x64_rrd_sw_spi = {u8g_dev_rrd_st7920_128x64_fn,&u8g_dev_st7920_128x64_rrd_pb,&u8g_com_null_fn};
+
+class U8GLIB_ST7920_128X64_RRD : public U8GLIB
+{
+  public:
+    U8GLIB_ST7920_128X64_RRD(uint8_t dummy) : U8GLIB(&u8g_dev_st7920_128x64_rrd_sw_spi) {}
+};
+
+
+#endif //U8GLIB_ST7920
+#endif //ULCDST7920_H

+ 208 - 0
variants/175-RAMBo1-0a-cz.h

@@ -0,0 +1,208 @@
+#ifndef CONFIGURATION_PRUSA_H
+#define CONFIGURATION_PRUSA_H
+
+/*------------------------------------
+    GENERAL SETTINGS
+*------------------------------------*/
+
+// Printer revision
+#define REVISION "175-1a"
+
+// Printer name
+#define CUSTOM_MENDEL_NAME "Prusa i3"
+
+// Electronics
+#define MOTHERBOARD BOARD_RAMBO_MINI_1_0
+
+// Language setting
+#define LANGUAGE_INCLUDE GENERATE_LANGUAGE_INCLUDE(cz)
+
+
+/*------------------------------------
+    AXIS SETTINGS
+*------------------------------------*/
+
+// Steps per unit {X,Y,Z,E}
+#define DEFAULT_AXIS_STEPS_PER_UNIT   {100,100,3200/0.8,174.2}  
+
+// Endstop inverting
+const bool X_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop.
+const bool Y_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop.
+const bool Z_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop.
+
+// Home position
+#define MANUAL_X_HOME_POS 0
+#define MANUAL_Y_HOME_POS 0
+#define MANUAL_Z_HOME_POS 0.25
+
+// Travel limits after homing
+#define X_MAX_POS 214
+#define X_MIN_POS 0
+#define Y_MAX_POS 198
+#define Y_MIN_POS 0
+#define Z_MAX_POS 201
+#define Z_MIN_POS 0.23
+
+/*------------------------------------
+    EXTRUDER SETTINGS
+*------------------------------------*/
+
+// Mintemps
+#define HEATER_0_MINTEMP 15
+#define HEATER_1_MINTEMP 5
+#define HEATER_2_MINTEMP 5
+#define BED_MINTEMP 15
+
+// Maxtemps
+#define HEATER_0_MAXTEMP 259
+#define HEATER_1_MAXTEMP 259
+#define HEATER_2_MAXTEMP 259
+#define BED_MAXTEMP 150
+
+// Define PID constants for extruder
+#define  DEFAULT_Kp 40.925
+#define  DEFAULT_Ki 4.875
+#define  DEFAULT_Kd 86.085
+
+// Extrude mintemp
+#define EXTRUDE_MINTEMP 190
+
+// Extruder cooling fans
+#define EXTRUDER_0_AUTO_FAN_PIN   8
+#define EXTRUDER_1_AUTO_FAN_PIN   -1
+#define EXTRUDER_2_AUTO_FAN_PIN   -1
+#define EXTRUDER_AUTO_FAN_TEMPERATURE 50
+#define EXTRUDER_AUTO_FAN_SPEED   255  // == full speed
+
+
+
+/*------------------------------------
+    LOAD/UNLOAD FILAMENT SETTINGS
+*------------------------------------*/
+
+// Load filament commands
+#define LOAD_FILAMENT_0 "M83"
+#define LOAD_FILAMENT_1 "G1 E70 F400"
+#define LOAD_FILAMENT_2 "G1 E40 F100"
+
+// Unload filament commands
+#define UNLOAD_FILAMENT_0 "M83"
+#define UNLOAD_FILAMENT_1 "G1 E-80 F400"
+
+/*------------------------------------
+    CHANGE FILAMENT SETTINGS
+*------------------------------------*/    
+
+// Filament change configuration
+#define FILAMENTCHANGEENABLE
+  #ifdef FILAMENTCHANGEENABLE
+    #define FILAMENTCHANGE_XPOS 211
+    #define FILAMENTCHANGE_YPOS 0
+    #define FILAMENTCHANGE_ZADD 2
+    #define FILAMENTCHANGE_FIRSTRETRACT -2
+    #define FILAMENTCHANGE_FINALRETRACT -80
+    
+    #define FILAMENTCHANGE_FIRSTFEED 70
+    #define FILAMENTCHANGE_FINALFEED 50
+    
+#endif
+
+/*------------------------------------
+    ADDITIONAL FEATURES SETTINGS
+*------------------------------------*/  
+
+// Define Prusa filament runout sensor
+//#define FILAMENT_RUNOUT_SUPPORT
+
+#ifdef FILAMENT_RUNOUT_SUPPORT
+    #define FILAMENT_RUNOUT_SENSOR 1
+#endif
+
+/*------------------------------------
+    MOTOR CURRENT SETTINGS
+*------------------------------------*/  
+
+// Motor Current setting for BIG RAMBo
+#define DIGIPOT_MOTOR_CURRENT {135,135,135,135,135} // Values 0-255 (RAMBO 135 = ~0.75A, 185 = ~1A)
+
+// Motor Current settings for RAMBo mini PWM value = MotorCurrentSetting * 255 / range
+#if MOTHERBOARD == 102 || MOTHERBOARD == 302
+  #define MOTOR_CURRENT_PWM_RANGE 2000
+  #define DEFAULT_PWM_MOTOR_CURRENT  {450, 450, 270} // {E,Z,XY}
+#endif
+
+/*------------------------------------
+    PREHEAT SETTINGS
+*------------------------------------*/  
+
+#define PLA_PREHEAT_HOTEND_TEMP 210
+#define PLA_PREHEAT_HPB_TEMP 50
+#define PLA_PREHEAT_FAN_SPEED 0  
+
+#define ABS_PREHEAT_HOTEND_TEMP 255
+#define ABS_PREHEAT_HPB_TEMP 100
+#define ABS_PREHEAT_FAN_SPEED 0 
+
+#define HIPS_PREHEAT_HOTEND_TEMP 220
+#define HIPS_PREHEAT_HPB_TEMP 100
+#define HIPS_PREHEAT_FAN_SPEED 0 
+
+#define PP_PREHEAT_HOTEND_TEMP 254
+#define PP_PREHEAT_HPB_TEMP 100
+#define PP_PREHEAT_FAN_SPEED 0 
+
+#define PET_PREHEAT_HOTEND_TEMP 240
+#define PET_PREHEAT_HPB_TEMP 90
+#define PET_PREHEAT_FAN_SPEED 0 
+
+#define FLEX_PREHEAT_HOTEND_TEMP 230
+#define FLEX_PREHEAT_HPB_TEMP 50
+#define FLEX_PREHEAT_FAN_SPEED 0 
+
+
+/*------------------------------------
+    THERMISTORS SETTINGS
+*------------------------------------*/
+
+//
+//--NORMAL IS 4.7kohm PULLUP!-- 1kohm pullup can be used on hotend sensor, using correct resistor and table
+//
+//// Temperature sensor settings:
+// -2 is thermocouple with MAX6675 (only for sensor 0)
+// -1 is thermocouple with AD595
+// 0 is not used
+// 1 is 100k thermistor - best choice for EPCOS 100k (4.7k pullup)
+// 2 is 200k thermistor - ATC Semitec 204GT-2 (4.7k pullup)
+// 3 is Mendel-parts thermistor (4.7k pullup)
+// 4 is 10k thermistor !! do not use it for a hotend. It gives bad resolution at high temp. !!
+// 5 is 100K thermistor - ATC Semitec 104GT-2 (Used in ParCan & J-Head) (4.7k pullup)
+// 6 is 100k EPCOS - Not as accurate as table 1 (created using a fluke thermocouple) (4.7k pullup)
+// 7 is 100k Honeywell thermistor 135-104LAG-J01 (4.7k pullup)
+// 71 is 100k Honeywell thermistor 135-104LAF-J01 (4.7k pullup)
+// 8 is 100k 0603 SMD Vishay NTCS0603E3104FXT (4.7k pullup)
+// 9 is 100k GE Sensing AL03006-58.2K-97-G1 (4.7k pullup)
+// 10 is 100k RS thermistor 198-961 (4.7k pullup)
+// 11 is 100k beta 3950 1% thermistor (4.7k pullup)
+// 12 is 100k 0603 SMD Vishay NTCS0603E3104FXT (4.7k pullup) (calibrated for Makibox hot bed)
+// 13 is 100k Hisens 3950  1% up to 300°C for hotend "Simple ONE " & "Hotend "All In ONE" 
+// 20 is the PT100 circuit found in the Ultimainboard V2.x
+// 60 is 100k Maker's Tool Works Kapton Bed Thermistor beta=3950
+//
+//    1k ohm pullup tables - This is not normal, you would have to have changed out your 4.7k for 1k
+//                          (but gives greater accuracy and more stable PID)
+// 51 is 100k thermistor - EPCOS (1k pullup)
+// 52 is 200k thermistor - ATC Semitec 204GT-2 (1k pullup)
+// 55 is 100k thermistor - ATC Semitec 104GT-2 (Used in ParCan & J-Head) (1k pullup)
+//
+// 1047 is Pt1000 with 4k7 pullup
+// 1010 is Pt1000 with 1k pullup (non standard)
+// 147 is Pt100 with 4k7 pullup
+// 110 is Pt100 with 1k pullup (non standard)
+
+#define TEMP_SENSOR_0 5
+#define TEMP_SENSOR_1 0
+#define TEMP_SENSOR_2 0
+#define TEMP_SENSOR_BED 1
+
+
+#endif //__CONFIGURATION_PRUSA_H

+ 208 - 0
variants/175-RAMBo1-0a-en.h

@@ -0,0 +1,208 @@
+#ifndef CONFIGURATION_PRUSA_H
+#define CONFIGURATION_PRUSA_H
+
+/*------------------------------------
+    GENERAL SETTINGS
+*------------------------------------*/
+
+// Printer revision
+#define REVISION "175-1a"
+
+// Printer name
+#define CUSTOM_MENDEL_NAME "Prusa i3"
+
+// Electronics
+#define MOTHERBOARD BOARD_RAMBO_MINI_1_0
+
+// Language setting
+#define LANGUAGE_INCLUDE GENERATE_LANGUAGE_INCLUDE(en)
+
+
+/*------------------------------------
+    AXIS SETTINGS
+*------------------------------------*/
+
+// Steps per unit {X,Y,Z,E}
+#define DEFAULT_AXIS_STEPS_PER_UNIT   {100,100,3200/0.8,174.2}  
+
+// Endstop inverting
+const bool X_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop.
+const bool Y_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop.
+const bool Z_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop.
+
+// Home position
+#define MANUAL_X_HOME_POS 0
+#define MANUAL_Y_HOME_POS 0
+#define MANUAL_Z_HOME_POS 0.25
+
+// Travel limits after homing
+#define X_MAX_POS 214
+#define X_MIN_POS 0
+#define Y_MAX_POS 198
+#define Y_MIN_POS 0
+#define Z_MAX_POS 201
+#define Z_MIN_POS 0.23
+
+/*------------------------------------
+    EXTRUDER SETTINGS
+*------------------------------------*/
+
+// Mintemps
+#define HEATER_0_MINTEMP 15
+#define HEATER_1_MINTEMP 5
+#define HEATER_2_MINTEMP 5
+#define BED_MINTEMP 15
+
+// Maxtemps
+#define HEATER_0_MAXTEMP 259
+#define HEATER_1_MAXTEMP 259
+#define HEATER_2_MAXTEMP 259
+#define BED_MAXTEMP 150
+
+// Define PID constants for extruder
+#define  DEFAULT_Kp 40.925
+#define  DEFAULT_Ki 4.875
+#define  DEFAULT_Kd 86.085
+
+// Extrude mintemp
+#define EXTRUDE_MINTEMP 190
+
+// Extruder cooling fans
+#define EXTRUDER_0_AUTO_FAN_PIN   8
+#define EXTRUDER_1_AUTO_FAN_PIN   -1
+#define EXTRUDER_2_AUTO_FAN_PIN   -1
+#define EXTRUDER_AUTO_FAN_TEMPERATURE 50
+#define EXTRUDER_AUTO_FAN_SPEED   255  // == full speed
+
+
+
+/*------------------------------------
+    LOAD/UNLOAD FILAMENT SETTINGS
+*------------------------------------*/
+
+// Load filament commands
+#define LOAD_FILAMENT_0 "M83"
+#define LOAD_FILAMENT_1 "G1 E70 F400"
+#define LOAD_FILAMENT_2 "G1 E40 F100"
+
+// Unload filament commands
+#define UNLOAD_FILAMENT_0 "M83"
+#define UNLOAD_FILAMENT_1 "G1 E-80 F400"
+
+/*------------------------------------
+    CHANGE FILAMENT SETTINGS
+*------------------------------------*/    
+
+// Filament change configuration
+#define FILAMENTCHANGEENABLE
+  #ifdef FILAMENTCHANGEENABLE
+    #define FILAMENTCHANGE_XPOS 211
+    #define FILAMENTCHANGE_YPOS 0
+    #define FILAMENTCHANGE_ZADD 2
+    #define FILAMENTCHANGE_FIRSTRETRACT -2
+    #define FILAMENTCHANGE_FINALRETRACT -80
+    
+    #define FILAMENTCHANGE_FIRSTFEED 70
+    #define FILAMENTCHANGE_FINALFEED 50
+    
+#endif
+
+/*------------------------------------
+    ADDITIONAL FEATURES SETTINGS
+*------------------------------------*/  
+
+// Define Prusa filament runout sensor
+//#define FILAMENT_RUNOUT_SUPPORT
+
+#ifdef FILAMENT_RUNOUT_SUPPORT
+    #define FILAMENT_RUNOUT_SENSOR 1
+#endif
+
+/*------------------------------------
+    MOTOR CURRENT SETTINGS
+*------------------------------------*/  
+
+// Motor Current setting for BIG RAMBo
+#define DIGIPOT_MOTOR_CURRENT {135,135,135,135,135} // Values 0-255 (RAMBO 135 = ~0.75A, 185 = ~1A)
+
+// Motor Current settings for RAMBo mini PWM value = MotorCurrentSetting * 255 / range
+#if MOTHERBOARD == 102 || MOTHERBOARD == 302
+  #define MOTOR_CURRENT_PWM_RANGE 2000
+  #define DEFAULT_PWM_MOTOR_CURRENT  {450, 450, 270} // {E,Z,XY}
+#endif
+
+/*------------------------------------
+    PREHEAT SETTINGS
+*------------------------------------*/  
+
+#define PLA_PREHEAT_HOTEND_TEMP 210
+#define PLA_PREHEAT_HPB_TEMP 50
+#define PLA_PREHEAT_FAN_SPEED 0  
+
+#define ABS_PREHEAT_HOTEND_TEMP 255
+#define ABS_PREHEAT_HPB_TEMP 100
+#define ABS_PREHEAT_FAN_SPEED 0 
+
+#define HIPS_PREHEAT_HOTEND_TEMP 220
+#define HIPS_PREHEAT_HPB_TEMP 100
+#define HIPS_PREHEAT_FAN_SPEED 0 
+
+#define PP_PREHEAT_HOTEND_TEMP 254
+#define PP_PREHEAT_HPB_TEMP 100
+#define PP_PREHEAT_FAN_SPEED 0 
+
+#define PET_PREHEAT_HOTEND_TEMP 240
+#define PET_PREHEAT_HPB_TEMP 90
+#define PET_PREHEAT_FAN_SPEED 0 
+
+#define FLEX_PREHEAT_HOTEND_TEMP 230
+#define FLEX_PREHEAT_HPB_TEMP 50
+#define FLEX_PREHEAT_FAN_SPEED 0 
+
+
+/*------------------------------------
+    THERMISTORS SETTINGS
+*------------------------------------*/
+
+//
+//--NORMAL IS 4.7kohm PULLUP!-- 1kohm pullup can be used on hotend sensor, using correct resistor and table
+//
+//// Temperature sensor settings:
+// -2 is thermocouple with MAX6675 (only for sensor 0)
+// -1 is thermocouple with AD595
+// 0 is not used
+// 1 is 100k thermistor - best choice for EPCOS 100k (4.7k pullup)
+// 2 is 200k thermistor - ATC Semitec 204GT-2 (4.7k pullup)
+// 3 is Mendel-parts thermistor (4.7k pullup)
+// 4 is 10k thermistor !! do not use it for a hotend. It gives bad resolution at high temp. !!
+// 5 is 100K thermistor - ATC Semitec 104GT-2 (Used in ParCan & J-Head) (4.7k pullup)
+// 6 is 100k EPCOS - Not as accurate as table 1 (created using a fluke thermocouple) (4.7k pullup)
+// 7 is 100k Honeywell thermistor 135-104LAG-J01 (4.7k pullup)
+// 71 is 100k Honeywell thermistor 135-104LAF-J01 (4.7k pullup)
+// 8 is 100k 0603 SMD Vishay NTCS0603E3104FXT (4.7k pullup)
+// 9 is 100k GE Sensing AL03006-58.2K-97-G1 (4.7k pullup)
+// 10 is 100k RS thermistor 198-961 (4.7k pullup)
+// 11 is 100k beta 3950 1% thermistor (4.7k pullup)
+// 12 is 100k 0603 SMD Vishay NTCS0603E3104FXT (4.7k pullup) (calibrated for Makibox hot bed)
+// 13 is 100k Hisens 3950  1% up to 300°C for hotend "Simple ONE " & "Hotend "All In ONE" 
+// 20 is the PT100 circuit found in the Ultimainboard V2.x
+// 60 is 100k Maker's Tool Works Kapton Bed Thermistor beta=3950
+//
+//    1k ohm pullup tables - This is not normal, you would have to have changed out your 4.7k for 1k
+//                          (but gives greater accuracy and more stable PID)
+// 51 is 100k thermistor - EPCOS (1k pullup)
+// 52 is 200k thermistor - ATC Semitec 204GT-2 (1k pullup)
+// 55 is 100k thermistor - ATC Semitec 104GT-2 (Used in ParCan & J-Head) (1k pullup)
+//
+// 1047 is Pt1000 with 4k7 pullup
+// 1010 is Pt1000 with 1k pullup (non standard)
+// 147 is Pt100 with 4k7 pullup
+// 110 is Pt100 with 1k pullup (non standard)
+
+#define TEMP_SENSOR_0 5
+#define TEMP_SENSOR_1 0
+#define TEMP_SENSOR_2 0
+#define TEMP_SENSOR_BED 1
+
+
+#endif //__CONFIGURATION_PRUSA_H

+ 208 - 0
variants/175-RAMBo1-3a-cz.h

@@ -0,0 +1,208 @@
+#ifndef CONFIGURATION_PRUSA_H
+#define CONFIGURATION_PRUSA_H
+
+/*------------------------------------
+    GENERAL SETTINGS
+*------------------------------------*/
+
+// Printer revision
+#define REVISION "175-2a"
+
+// Printer name
+#define CUSTOM_MENDEL_NAME "Prusa i3"
+
+// Electronics
+#define MOTHERBOARD BOARD_RAMBO_MINI_1_3
+
+// Language setting
+#define LANGUAGE_INCLUDE GENERATE_LANGUAGE_INCLUDE(cz)
+
+
+/*------------------------------------
+    AXIS SETTINGS
+*------------------------------------*/
+
+// Steps per unit {X,Y,Z,E}
+#define DEFAULT_AXIS_STEPS_PER_UNIT   {100,100,3200/0.8,174.2}  
+
+// Endstop inverting
+const bool X_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop.
+const bool Y_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop.
+const bool Z_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop.
+
+// Home position
+#define MANUAL_X_HOME_POS 0
+#define MANUAL_Y_HOME_POS 0
+#define MANUAL_Z_HOME_POS 0.25
+
+// Travel limits after homing
+#define X_MAX_POS 214
+#define X_MIN_POS 0
+#define Y_MAX_POS 198
+#define Y_MIN_POS 0
+#define Z_MAX_POS 201
+#define Z_MIN_POS 0.23
+
+/*------------------------------------
+    EXTRUDER SETTINGS
+*------------------------------------*/
+
+// Mintemps
+#define HEATER_0_MINTEMP 15
+#define HEATER_1_MINTEMP 5
+#define HEATER_2_MINTEMP 5
+#define BED_MINTEMP 15
+
+// Maxtemps
+#define HEATER_0_MAXTEMP 259
+#define HEATER_1_MAXTEMP 259
+#define HEATER_2_MAXTEMP 259
+#define BED_MAXTEMP 150
+
+// Define PID constants for extruder
+#define  DEFAULT_Kp 40.925
+#define  DEFAULT_Ki 4.875
+#define  DEFAULT_Kd 86.085
+
+// Extrude mintemp
+#define EXTRUDE_MINTEMP 190
+
+// Extruder cooling fans
+#define EXTRUDER_0_AUTO_FAN_PIN   8
+#define EXTRUDER_1_AUTO_FAN_PIN   -1
+#define EXTRUDER_2_AUTO_FAN_PIN   -1
+#define EXTRUDER_AUTO_FAN_TEMPERATURE 50
+#define EXTRUDER_AUTO_FAN_SPEED   255  // == full speed
+
+
+
+/*------------------------------------
+    LOAD/UNLOAD FILAMENT SETTINGS
+*------------------------------------*/
+
+// Load filament commands
+#define LOAD_FILAMENT_0 "M83"
+#define LOAD_FILAMENT_1 "G1 E70 F400"
+#define LOAD_FILAMENT_2 "G1 E40 F100"
+
+// Unload filament commands
+#define UNLOAD_FILAMENT_0 "M83"
+#define UNLOAD_FILAMENT_1 "G1 E-80 F400"
+
+/*------------------------------------
+    CHANGE FILAMENT SETTINGS
+*------------------------------------*/    
+
+// Filament change configuration
+#define FILAMENTCHANGEENABLE
+  #ifdef FILAMENTCHANGEENABLE
+    #define FILAMENTCHANGE_XPOS 211
+    #define FILAMENTCHANGE_YPOS 0
+    #define FILAMENTCHANGE_ZADD 2
+    #define FILAMENTCHANGE_FIRSTRETRACT -2
+    #define FILAMENTCHANGE_FINALRETRACT -80
+    
+    #define FILAMENTCHANGE_FIRSTFEED 70
+    #define FILAMENTCHANGE_FINALFEED 50
+    
+#endif
+
+/*------------------------------------
+    ADDITIONAL FEATURES SETTINGS
+*------------------------------------*/  
+
+// Define Prusa filament runout sensor
+//#define FILAMENT_RUNOUT_SUPPORT
+
+#ifdef FILAMENT_RUNOUT_SUPPORT
+    #define FILAMENT_RUNOUT_SENSOR 1
+#endif
+
+/*------------------------------------
+    MOTOR CURRENT SETTINGS
+*------------------------------------*/  
+
+// Motor Current setting for BIG RAMBo
+#define DIGIPOT_MOTOR_CURRENT {135,135,135,135,135} // Values 0-255 (RAMBO 135 = ~0.75A, 185 = ~1A)
+
+// Motor Current settings for RAMBo mini PWM value = MotorCurrentSetting * 255 / range
+#if MOTHERBOARD == 102 || MOTHERBOARD == 302
+  #define MOTOR_CURRENT_PWM_RANGE 2000
+  #define DEFAULT_PWM_MOTOR_CURRENT  {450, 450, 270} // {E,Z,XY}
+#endif
+
+/*------------------------------------
+    PREHEAT SETTINGS
+*------------------------------------*/  
+
+#define PLA_PREHEAT_HOTEND_TEMP 210
+#define PLA_PREHEAT_HPB_TEMP 50
+#define PLA_PREHEAT_FAN_SPEED 0  
+
+#define ABS_PREHEAT_HOTEND_TEMP 255
+#define ABS_PREHEAT_HPB_TEMP 100
+#define ABS_PREHEAT_FAN_SPEED 0 
+
+#define HIPS_PREHEAT_HOTEND_TEMP 220
+#define HIPS_PREHEAT_HPB_TEMP 100
+#define HIPS_PREHEAT_FAN_SPEED 0 
+
+#define PP_PREHEAT_HOTEND_TEMP 254
+#define PP_PREHEAT_HPB_TEMP 100
+#define PP_PREHEAT_FAN_SPEED 0 
+
+#define PET_PREHEAT_HOTEND_TEMP 240
+#define PET_PREHEAT_HPB_TEMP 90
+#define PET_PREHEAT_FAN_SPEED 0 
+
+#define FLEX_PREHEAT_HOTEND_TEMP 230
+#define FLEX_PREHEAT_HPB_TEMP 50
+#define FLEX_PREHEAT_FAN_SPEED 0 
+
+
+/*------------------------------------
+    THERMISTORS SETTINGS
+*------------------------------------*/
+
+//
+//--NORMAL IS 4.7kohm PULLUP!-- 1kohm pullup can be used on hotend sensor, using correct resistor and table
+//
+//// Temperature sensor settings:
+// -2 is thermocouple with MAX6675 (only for sensor 0)
+// -1 is thermocouple with AD595
+// 0 is not used
+// 1 is 100k thermistor - best choice for EPCOS 100k (4.7k pullup)
+// 2 is 200k thermistor - ATC Semitec 204GT-2 (4.7k pullup)
+// 3 is Mendel-parts thermistor (4.7k pullup)
+// 4 is 10k thermistor !! do not use it for a hotend. It gives bad resolution at high temp. !!
+// 5 is 100K thermistor - ATC Semitec 104GT-2 (Used in ParCan & J-Head) (4.7k pullup)
+// 6 is 100k EPCOS - Not as accurate as table 1 (created using a fluke thermocouple) (4.7k pullup)
+// 7 is 100k Honeywell thermistor 135-104LAG-J01 (4.7k pullup)
+// 71 is 100k Honeywell thermistor 135-104LAF-J01 (4.7k pullup)
+// 8 is 100k 0603 SMD Vishay NTCS0603E3104FXT (4.7k pullup)
+// 9 is 100k GE Sensing AL03006-58.2K-97-G1 (4.7k pullup)
+// 10 is 100k RS thermistor 198-961 (4.7k pullup)
+// 11 is 100k beta 3950 1% thermistor (4.7k pullup)
+// 12 is 100k 0603 SMD Vishay NTCS0603E3104FXT (4.7k pullup) (calibrated for Makibox hot bed)
+// 13 is 100k Hisens 3950  1% up to 300°C for hotend "Simple ONE " & "Hotend "All In ONE" 
+// 20 is the PT100 circuit found in the Ultimainboard V2.x
+// 60 is 100k Maker's Tool Works Kapton Bed Thermistor beta=3950
+//
+//    1k ohm pullup tables - This is not normal, you would have to have changed out your 4.7k for 1k
+//                          (but gives greater accuracy and more stable PID)
+// 51 is 100k thermistor - EPCOS (1k pullup)
+// 52 is 200k thermistor - ATC Semitec 204GT-2 (1k pullup)
+// 55 is 100k thermistor - ATC Semitec 104GT-2 (Used in ParCan & J-Head) (1k pullup)
+//
+// 1047 is Pt1000 with 4k7 pullup
+// 1010 is Pt1000 with 1k pullup (non standard)
+// 147 is Pt100 with 4k7 pullup
+// 110 is Pt100 with 1k pullup (non standard)
+
+#define TEMP_SENSOR_0 5
+#define TEMP_SENSOR_1 0
+#define TEMP_SENSOR_2 0
+#define TEMP_SENSOR_BED 1
+
+
+#endif //__CONFIGURATION_PRUSA_H

+ 208 - 0
variants/175-RAMBo1-3a-en.h

@@ -0,0 +1,208 @@
+#ifndef CONFIGURATION_PRUSA_H
+#define CONFIGURATION_PRUSA_H
+
+/*------------------------------------
+    GENERAL SETTINGS
+*------------------------------------*/
+
+// Printer revision
+#define REVISION "175-2a"
+
+// Printer name
+#define CUSTOM_MENDEL_NAME "Prusa i3"
+
+// Electronics
+#define MOTHERBOARD BOARD_RAMBO_MINI_1_3
+
+// Language setting
+#define LANGUAGE_INCLUDE GENERATE_LANGUAGE_INCLUDE(en)
+
+
+/*------------------------------------
+    AXIS SETTINGS
+*------------------------------------*/
+
+// Steps per unit {X,Y,Z,E}
+#define DEFAULT_AXIS_STEPS_PER_UNIT   {100,100,3200/0.8,174.2}  
+
+// Endstop inverting
+const bool X_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop.
+const bool Y_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop.
+const bool Z_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop.
+
+// Home position
+#define MANUAL_X_HOME_POS 0
+#define MANUAL_Y_HOME_POS 0
+#define MANUAL_Z_HOME_POS 0.25
+
+// Travel limits after homing
+#define X_MAX_POS 214
+#define X_MIN_POS 0
+#define Y_MAX_POS 198
+#define Y_MIN_POS 0
+#define Z_MAX_POS 201
+#define Z_MIN_POS 0.23
+
+/*------------------------------------
+    EXTRUDER SETTINGS
+*------------------------------------*/
+
+// Mintemps
+#define HEATER_0_MINTEMP 15
+#define HEATER_1_MINTEMP 5
+#define HEATER_2_MINTEMP 5
+#define BED_MINTEMP 15
+
+// Maxtemps
+#define HEATER_0_MAXTEMP 259
+#define HEATER_1_MAXTEMP 259
+#define HEATER_2_MAXTEMP 259
+#define BED_MAXTEMP 150
+
+// Define PID constants for extruder
+#define  DEFAULT_Kp 40.925
+#define  DEFAULT_Ki 4.875
+#define  DEFAULT_Kd 86.085
+
+// Extrude mintemp
+#define EXTRUDE_MINTEMP 190
+
+// Extruder cooling fans
+#define EXTRUDER_0_AUTO_FAN_PIN   8
+#define EXTRUDER_1_AUTO_FAN_PIN   -1
+#define EXTRUDER_2_AUTO_FAN_PIN   -1
+#define EXTRUDER_AUTO_FAN_TEMPERATURE 50
+#define EXTRUDER_AUTO_FAN_SPEED   255  // == full speed
+
+
+
+/*------------------------------------
+    LOAD/UNLOAD FILAMENT SETTINGS
+*------------------------------------*/
+
+// Load filament commands
+#define LOAD_FILAMENT_0 "M83"
+#define LOAD_FILAMENT_1 "G1 E70 F400"
+#define LOAD_FILAMENT_2 "G1 E40 F100"
+
+// Unload filament commands
+#define UNLOAD_FILAMENT_0 "M83"
+#define UNLOAD_FILAMENT_1 "G1 E-80 F400"
+
+/*------------------------------------
+    CHANGE FILAMENT SETTINGS
+*------------------------------------*/    
+
+// Filament change configuration
+#define FILAMENTCHANGEENABLE
+  #ifdef FILAMENTCHANGEENABLE
+    #define FILAMENTCHANGE_XPOS 211
+    #define FILAMENTCHANGE_YPOS 0
+    #define FILAMENTCHANGE_ZADD 2
+    #define FILAMENTCHANGE_FIRSTRETRACT -2
+    #define FILAMENTCHANGE_FINALRETRACT -80
+    
+    #define FILAMENTCHANGE_FIRSTFEED 70
+    #define FILAMENTCHANGE_FINALFEED 50
+    
+#endif
+
+/*------------------------------------
+    ADDITIONAL FEATURES SETTINGS
+*------------------------------------*/  
+
+// Define Prusa filament runout sensor
+//#define FILAMENT_RUNOUT_SUPPORT
+
+#ifdef FILAMENT_RUNOUT_SUPPORT
+    #define FILAMENT_RUNOUT_SENSOR 1
+#endif
+
+/*------------------------------------
+    MOTOR CURRENT SETTINGS
+*------------------------------------*/  
+
+// Motor Current setting for BIG RAMBo
+#define DIGIPOT_MOTOR_CURRENT {135,135,135,135,135} // Values 0-255 (RAMBO 135 = ~0.75A, 185 = ~1A)
+
+// Motor Current settings for RAMBo mini PWM value = MotorCurrentSetting * 255 / range
+#if MOTHERBOARD == 102 || MOTHERBOARD == 302
+  #define MOTOR_CURRENT_PWM_RANGE 2000
+  #define DEFAULT_PWM_MOTOR_CURRENT  {450, 450, 270} // {E,Z,XY}
+#endif
+
+/*------------------------------------
+    PREHEAT SETTINGS
+*------------------------------------*/  
+
+#define PLA_PREHEAT_HOTEND_TEMP 210
+#define PLA_PREHEAT_HPB_TEMP 50
+#define PLA_PREHEAT_FAN_SPEED 0  
+
+#define ABS_PREHEAT_HOTEND_TEMP 255
+#define ABS_PREHEAT_HPB_TEMP 100
+#define ABS_PREHEAT_FAN_SPEED 0 
+
+#define HIPS_PREHEAT_HOTEND_TEMP 220
+#define HIPS_PREHEAT_HPB_TEMP 100
+#define HIPS_PREHEAT_FAN_SPEED 0 
+
+#define PP_PREHEAT_HOTEND_TEMP 254
+#define PP_PREHEAT_HPB_TEMP 100
+#define PP_PREHEAT_FAN_SPEED 0 
+
+#define PET_PREHEAT_HOTEND_TEMP 240
+#define PET_PREHEAT_HPB_TEMP 90
+#define PET_PREHEAT_FAN_SPEED 0 
+
+#define FLEX_PREHEAT_HOTEND_TEMP 230
+#define FLEX_PREHEAT_HPB_TEMP 50
+#define FLEX_PREHEAT_FAN_SPEED 0 
+
+
+/*------------------------------------
+    THERMISTORS SETTINGS
+*------------------------------------*/
+
+//
+//--NORMAL IS 4.7kohm PULLUP!-- 1kohm pullup can be used on hotend sensor, using correct resistor and table
+//
+//// Temperature sensor settings:
+// -2 is thermocouple with MAX6675 (only for sensor 0)
+// -1 is thermocouple with AD595
+// 0 is not used
+// 1 is 100k thermistor - best choice for EPCOS 100k (4.7k pullup)
+// 2 is 200k thermistor - ATC Semitec 204GT-2 (4.7k pullup)
+// 3 is Mendel-parts thermistor (4.7k pullup)
+// 4 is 10k thermistor !! do not use it for a hotend. It gives bad resolution at high temp. !!
+// 5 is 100K thermistor - ATC Semitec 104GT-2 (Used in ParCan & J-Head) (4.7k pullup)
+// 6 is 100k EPCOS - Not as accurate as table 1 (created using a fluke thermocouple) (4.7k pullup)
+// 7 is 100k Honeywell thermistor 135-104LAG-J01 (4.7k pullup)
+// 71 is 100k Honeywell thermistor 135-104LAF-J01 (4.7k pullup)
+// 8 is 100k 0603 SMD Vishay NTCS0603E3104FXT (4.7k pullup)
+// 9 is 100k GE Sensing AL03006-58.2K-97-G1 (4.7k pullup)
+// 10 is 100k RS thermistor 198-961 (4.7k pullup)
+// 11 is 100k beta 3950 1% thermistor (4.7k pullup)
+// 12 is 100k 0603 SMD Vishay NTCS0603E3104FXT (4.7k pullup) (calibrated for Makibox hot bed)
+// 13 is 100k Hisens 3950  1% up to 300°C for hotend "Simple ONE " & "Hotend "All In ONE" 
+// 20 is the PT100 circuit found in the Ultimainboard V2.x
+// 60 is 100k Maker's Tool Works Kapton Bed Thermistor beta=3950
+//
+//    1k ohm pullup tables - This is not normal, you would have to have changed out your 4.7k for 1k
+//                          (but gives greater accuracy and more stable PID)
+// 51 is 100k thermistor - EPCOS (1k pullup)
+// 52 is 200k thermistor - ATC Semitec 204GT-2 (1k pullup)
+// 55 is 100k thermistor - ATC Semitec 104GT-2 (Used in ParCan & J-Head) (1k pullup)
+//
+// 1047 is Pt1000 with 4k7 pullup
+// 1010 is Pt1000 with 1k pullup (non standard)
+// 147 is Pt100 with 4k7 pullup
+// 110 is Pt100 with 1k pullup (non standard)
+
+#define TEMP_SENSOR_0 5
+#define TEMP_SENSOR_1 0
+#define TEMP_SENSOR_2 0
+#define TEMP_SENSOR_BED 1
+
+
+#endif //__CONFIGURATION_PRUSA_H

+ 209 - 0
variants/300-RAMBo1-0a-cz.h

@@ -0,0 +1,209 @@
+#ifndef CONFIGURATION_PRUSA_H
+#define CONFIGURATION_PRUSA_H
+
+/*------------------------------------
+    GENERAL SETTINGS
+*------------------------------------*/
+
+// Printer revision
+#define REVISION "300-1a"
+#define THREEMM_PRINTER   
+
+// Printer name
+#define CUSTOM_MENDEL_NAME "Prusa i3"
+
+// Electronics
+#define MOTHERBOARD BOARD_RAMBO_MINI_1_0
+
+// Language setting
+#define LANGUAGE_INCLUDE GENERATE_LANGUAGE_INCLUDE(cz)
+
+
+/*------------------------------------
+    AXIS SETTINGS
+*------------------------------------*/
+
+// Steps per unit {X,Y,Z,E}
+#define DEFAULT_AXIS_STEPS_PER_UNIT   {100,100,3200/0.8,350*1.5} 
+
+// Endstop inverting
+const bool X_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop.
+const bool Y_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop.
+const bool Z_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop.
+
+// Home position
+#define MANUAL_X_HOME_POS 0
+#define MANUAL_Y_HOME_POS 0
+#define MANUAL_Z_HOME_POS 0.25
+
+// Travel limits after homing
+#define X_MAX_POS 214
+#define X_MIN_POS 0
+#define Y_MAX_POS 198
+#define Y_MIN_POS 0
+#define Z_MAX_POS 201
+#define Z_MIN_POS 0.23
+
+/*------------------------------------
+    EXTRUDER SETTINGS
+*------------------------------------*/
+
+// Mintemps
+#define HEATER_0_MINTEMP 15
+#define HEATER_1_MINTEMP 5
+#define HEATER_2_MINTEMP 5
+#define BED_MINTEMP 15
+
+// Maxtemps
+#define HEATER_0_MAXTEMP 315
+#define HEATER_1_MAXTEMP 275
+#define HEATER_2_MAXTEMP 275
+#define BED_MAXTEMP 150
+
+// Define PID constants for extruder
+#define  DEFAULT_Kp 12.7
+#define  DEFAULT_Ki 1.09
+#define  DEFAULT_Kd 37.4
+
+// Extrude mintemp
+#define EXTRUDE_MINTEMP 190
+
+// Extruder cooling fans
+#define EXTRUDER_0_AUTO_FAN_PIN   6
+#define EXTRUDER_1_AUTO_FAN_PIN   -1
+#define EXTRUDER_2_AUTO_FAN_PIN   -1
+#define EXTRUDER_AUTO_FAN_TEMPERATURE 50
+#define EXTRUDER_AUTO_FAN_SPEED   255  // == full speed
+
+
+
+/*------------------------------------
+    LOAD/UNLOAD FILAMENT SETTINGS
+*------------------------------------*/
+
+// Load filament commands
+#define LOAD_FILAMENT_0 "M83"
+#define LOAD_FILAMENT_1 "G1 E65 F400"
+#define LOAD_FILAMENT_2 "G1 E40 F100"
+
+// Unload filament commands
+#define UNLOAD_FILAMENT_0 "M83"
+#define UNLOAD_FILAMENT_1 "G1 E-80 F400"
+
+/*------------------------------------
+    CHANGE FILAMENT SETTINGS
+*------------------------------------*/    
+
+// Filament change configuration
+#define FILAMENTCHANGEENABLE
+  #ifdef FILAMENTCHANGEENABLE
+    #define FILAMENTCHANGE_XPOS 211
+    #define FILAMENTCHANGE_YPOS 0
+    #define FILAMENTCHANGE_ZADD 2
+    #define FILAMENTCHANGE_FIRSTRETRACT -2
+    #define FILAMENTCHANGE_FINALRETRACT -80
+    
+    #define FILAMENTCHANGE_FIRSTFEED 70
+    #define FILAMENTCHANGE_FINALFEED 50
+    
+#endif
+
+/*------------------------------------
+    ADDITIONAL FEATURES SETTINGS
+*------------------------------------*/  
+
+// Define Prusa filament runout sensor
+//#define FILAMENT_RUNOUT_SUPPORT
+
+#ifdef FILAMENT_RUNOUT_SUPPORT
+    #define FILAMENT_RUNOUT_SENSOR 1
+#endif
+
+/*------------------------------------
+    MOTOR CURRENT SETTINGS
+*------------------------------------*/  
+
+// Motor Current setting for BIG RAMBo
+#define DIGIPOT_MOTOR_CURRENT {135,135,135,135,135} // Values 0-255 (RAMBO 135 = ~0.75A, 185 = ~1A)
+
+// Motor Current settings for RAMBo mini PWM value = MotorCurrentSetting * 255 / range
+#if MOTHERBOARD == 102 || MOTHERBOARD == 302
+  #define MOTOR_CURRENT_PWM_RANGE 2000
+  #define DEFAULT_PWM_MOTOR_CURRENT  {850, 450, 270} // {E,Z,XY}
+#endif
+
+/*------------------------------------
+    PREHEAT SETTINGS
+*------------------------------------*/  
+
+#define PLA_PREHEAT_HOTEND_TEMP 220
+#define PLA_PREHEAT_HPB_TEMP 50
+#define PLA_PREHEAT_FAN_SPEED 255
+
+#define ABS_PREHEAT_HOTEND_TEMP 285
+#define ABS_PREHEAT_HPB_TEMP 100
+#define ABS_PREHEAT_FAN_SPEED 255
+
+#define HIPS_PREHEAT_HOTEND_TEMP 220
+#define HIPS_PREHEAT_HPB_TEMP 100
+#define HIPS_PREHEAT_FAN_SPEED 0 
+
+#define PP_PREHEAT_HOTEND_TEMP 254
+#define PP_PREHEAT_HPB_TEMP 100
+#define PP_PREHEAT_FAN_SPEED 0 
+
+#define PET_PREHEAT_HOTEND_TEMP 240
+#define PET_PREHEAT_HPB_TEMP 90
+#define PET_PREHEAT_FAN_SPEED 0 
+
+#define FLEX_PREHEAT_HOTEND_TEMP 250
+#define FLEX_PREHEAT_HPB_TEMP 50
+#define FLEX_PREHEAT_FAN_SPEED 0 
+
+
+/*------------------------------------
+    THERMISTORS SETTINGS
+*------------------------------------*/
+
+//
+//--NORMAL IS 4.7kohm PULLUP!-- 1kohm pullup can be used on hotend sensor, using correct resistor and table
+//
+//// Temperature sensor settings:
+// -2 is thermocouple with MAX6675 (only for sensor 0)
+// -1 is thermocouple with AD595
+// 0 is not used
+// 1 is 100k thermistor - best choice for EPCOS 100k (4.7k pullup)
+// 2 is 200k thermistor - ATC Semitec 204GT-2 (4.7k pullup)
+// 3 is Mendel-parts thermistor (4.7k pullup)
+// 4 is 10k thermistor !! do not use it for a hotend. It gives bad resolution at high temp. !!
+// 5 is 100K thermistor - ATC Semitec 104GT-2 (Used in ParCan & J-Head) (4.7k pullup)
+// 6 is 100k EPCOS - Not as accurate as table 1 (created using a fluke thermocouple) (4.7k pullup)
+// 7 is 100k Honeywell thermistor 135-104LAG-J01 (4.7k pullup)
+// 71 is 100k Honeywell thermistor 135-104LAF-J01 (4.7k pullup)
+// 8 is 100k 0603 SMD Vishay NTCS0603E3104FXT (4.7k pullup)
+// 9 is 100k GE Sensing AL03006-58.2K-97-G1 (4.7k pullup)
+// 10 is 100k RS thermistor 198-961 (4.7k pullup)
+// 11 is 100k beta 3950 1% thermistor (4.7k pullup)
+// 12 is 100k 0603 SMD Vishay NTCS0603E3104FXT (4.7k pullup) (calibrated for Makibox hot bed)
+// 13 is 100k Hisens 3950  1% up to 300°C for hotend "Simple ONE " & "Hotend "All In ONE" 
+// 20 is the PT100 circuit found in the Ultimainboard V2.x
+// 60 is 100k Maker's Tool Works Kapton Bed Thermistor beta=3950
+//
+//    1k ohm pullup tables - This is not normal, you would have to have changed out your 4.7k for 1k
+//                          (but gives greater accuracy and more stable PID)
+// 51 is 100k thermistor - EPCOS (1k pullup)
+// 52 is 200k thermistor - ATC Semitec 204GT-2 (1k pullup)
+// 55 is 100k thermistor - ATC Semitec 104GT-2 (Used in ParCan & J-Head) (1k pullup)
+//
+// 1047 is Pt1000 with 4k7 pullup
+// 1010 is Pt1000 with 1k pullup (non standard)
+// 147 is Pt100 with 4k7 pullup
+// 110 is Pt100 with 1k pullup (non standard)
+
+#define TEMP_SENSOR_0 1
+#define TEMP_SENSOR_1 0
+#define TEMP_SENSOR_2 0
+#define TEMP_SENSOR_BED 1
+
+
+#endif //__CONFIGURATION_PRUSA_H

+ 209 - 0
variants/300-RAMBo1-0a-en.h

@@ -0,0 +1,209 @@
+#ifndef CONFIGURATION_PRUSA_H
+#define CONFIGURATION_PRUSA_H
+
+/*------------------------------------
+    GENERAL SETTINGS
+*------------------------------------*/
+
+// Printer revision
+#define REVISION "300-1a"
+#define THREEMM_PRINTER   
+
+// Printer name
+#define CUSTOM_MENDEL_NAME "Prusa i3"
+
+// Electronics
+#define MOTHERBOARD BOARD_RAMBO_MINI_1_0
+
+// Language setting
+#define LANGUAGE_INCLUDE GENERATE_LANGUAGE_INCLUDE(en)
+
+
+/*------------------------------------
+    AXIS SETTINGS
+*------------------------------------*/
+
+// Steps per unit {X,Y,Z,E}
+#define DEFAULT_AXIS_STEPS_PER_UNIT   {100,100,3200/0.8,350*1.5} 
+
+// Endstop inverting
+const bool X_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop.
+const bool Y_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop.
+const bool Z_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop.
+
+// Home position
+#define MANUAL_X_HOME_POS 0
+#define MANUAL_Y_HOME_POS 0
+#define MANUAL_Z_HOME_POS 0.25
+
+// Travel limits after homing
+#define X_MAX_POS 214
+#define X_MIN_POS 0
+#define Y_MAX_POS 198
+#define Y_MIN_POS 0
+#define Z_MAX_POS 201
+#define Z_MIN_POS 0.23
+
+/*------------------------------------
+    EXTRUDER SETTINGS
+*------------------------------------*/
+
+// Mintemps
+#define HEATER_0_MINTEMP 15
+#define HEATER_1_MINTEMP 5
+#define HEATER_2_MINTEMP 5
+#define BED_MINTEMP 15
+
+// Maxtemps
+#define HEATER_0_MAXTEMP 315
+#define HEATER_1_MAXTEMP 275
+#define HEATER_2_MAXTEMP 275
+#define BED_MAXTEMP 150
+
+// Define PID constants for extruder
+#define  DEFAULT_Kp 12.7
+#define  DEFAULT_Ki 1.09
+#define  DEFAULT_Kd 37.4
+
+// Extrude mintemp
+#define EXTRUDE_MINTEMP 190
+
+// Extruder cooling fans
+#define EXTRUDER_0_AUTO_FAN_PIN   6
+#define EXTRUDER_1_AUTO_FAN_PIN   -1
+#define EXTRUDER_2_AUTO_FAN_PIN   -1
+#define EXTRUDER_AUTO_FAN_TEMPERATURE 50
+#define EXTRUDER_AUTO_FAN_SPEED   255  // == full speed
+
+
+
+/*------------------------------------
+    LOAD/UNLOAD FILAMENT SETTINGS
+*------------------------------------*/
+
+// Load filament commands
+#define LOAD_FILAMENT_0 "M83"
+#define LOAD_FILAMENT_1 "G1 E65 F400"
+#define LOAD_FILAMENT_2 "G1 E40 F100"
+
+// Unload filament commands
+#define UNLOAD_FILAMENT_0 "M83"
+#define UNLOAD_FILAMENT_1 "G1 E-80 F400"
+
+/*------------------------------------
+    CHANGE FILAMENT SETTINGS
+*------------------------------------*/    
+
+// Filament change configuration
+#define FILAMENTCHANGEENABLE
+  #ifdef FILAMENTCHANGEENABLE
+    #define FILAMENTCHANGE_XPOS 211
+    #define FILAMENTCHANGE_YPOS 0
+    #define FILAMENTCHANGE_ZADD 2
+    #define FILAMENTCHANGE_FIRSTRETRACT -2
+    #define FILAMENTCHANGE_FINALRETRACT -80
+    
+    #define FILAMENTCHANGE_FIRSTFEED 70
+    #define FILAMENTCHANGE_FINALFEED 50
+    
+#endif
+
+/*------------------------------------
+    ADDITIONAL FEATURES SETTINGS
+*------------------------------------*/  
+
+// Define Prusa filament runout sensor
+//#define FILAMENT_RUNOUT_SUPPORT
+
+#ifdef FILAMENT_RUNOUT_SUPPORT
+    #define FILAMENT_RUNOUT_SENSOR 1
+#endif
+
+/*------------------------------------
+    MOTOR CURRENT SETTINGS
+*------------------------------------*/  
+
+// Motor Current setting for BIG RAMBo
+#define DIGIPOT_MOTOR_CURRENT {135,135,135,135,135} // Values 0-255 (RAMBO 135 = ~0.75A, 185 = ~1A)
+
+// Motor Current settings for RAMBo mini PWM value = MotorCurrentSetting * 255 / range
+#if MOTHERBOARD == 102 || MOTHERBOARD == 302
+  #define MOTOR_CURRENT_PWM_RANGE 2000
+  #define DEFAULT_PWM_MOTOR_CURRENT  {850, 450, 270} // {E,Z,XY}
+#endif
+
+/*------------------------------------
+    PREHEAT SETTINGS
+*------------------------------------*/  
+
+#define PLA_PREHEAT_HOTEND_TEMP 220
+#define PLA_PREHEAT_HPB_TEMP 50
+#define PLA_PREHEAT_FAN_SPEED 255
+
+#define ABS_PREHEAT_HOTEND_TEMP 285
+#define ABS_PREHEAT_HPB_TEMP 100
+#define ABS_PREHEAT_FAN_SPEED 255
+
+#define HIPS_PREHEAT_HOTEND_TEMP 220
+#define HIPS_PREHEAT_HPB_TEMP 100
+#define HIPS_PREHEAT_FAN_SPEED 0 
+
+#define PP_PREHEAT_HOTEND_TEMP 254
+#define PP_PREHEAT_HPB_TEMP 100
+#define PP_PREHEAT_FAN_SPEED 0 
+
+#define PET_PREHEAT_HOTEND_TEMP 240
+#define PET_PREHEAT_HPB_TEMP 90
+#define PET_PREHEAT_FAN_SPEED 0 
+
+#define FLEX_PREHEAT_HOTEND_TEMP 250
+#define FLEX_PREHEAT_HPB_TEMP 50
+#define FLEX_PREHEAT_FAN_SPEED 0 
+
+
+/*------------------------------------
+    THERMISTORS SETTINGS
+*------------------------------------*/
+
+//
+//--NORMAL IS 4.7kohm PULLUP!-- 1kohm pullup can be used on hotend sensor, using correct resistor and table
+//
+//// Temperature sensor settings:
+// -2 is thermocouple with MAX6675 (only for sensor 0)
+// -1 is thermocouple with AD595
+// 0 is not used
+// 1 is 100k thermistor - best choice for EPCOS 100k (4.7k pullup)
+// 2 is 200k thermistor - ATC Semitec 204GT-2 (4.7k pullup)
+// 3 is Mendel-parts thermistor (4.7k pullup)
+// 4 is 10k thermistor !! do not use it for a hotend. It gives bad resolution at high temp. !!
+// 5 is 100K thermistor - ATC Semitec 104GT-2 (Used in ParCan & J-Head) (4.7k pullup)
+// 6 is 100k EPCOS - Not as accurate as table 1 (created using a fluke thermocouple) (4.7k pullup)
+// 7 is 100k Honeywell thermistor 135-104LAG-J01 (4.7k pullup)
+// 71 is 100k Honeywell thermistor 135-104LAF-J01 (4.7k pullup)
+// 8 is 100k 0603 SMD Vishay NTCS0603E3104FXT (4.7k pullup)
+// 9 is 100k GE Sensing AL03006-58.2K-97-G1 (4.7k pullup)
+// 10 is 100k RS thermistor 198-961 (4.7k pullup)
+// 11 is 100k beta 3950 1% thermistor (4.7k pullup)
+// 12 is 100k 0603 SMD Vishay NTCS0603E3104FXT (4.7k pullup) (calibrated for Makibox hot bed)
+// 13 is 100k Hisens 3950  1% up to 300°C for hotend "Simple ONE " & "Hotend "All In ONE" 
+// 20 is the PT100 circuit found in the Ultimainboard V2.x
+// 60 is 100k Maker's Tool Works Kapton Bed Thermistor beta=3950
+//
+//    1k ohm pullup tables - This is not normal, you would have to have changed out your 4.7k for 1k
+//                          (but gives greater accuracy and more stable PID)
+// 51 is 100k thermistor - EPCOS (1k pullup)
+// 52 is 200k thermistor - ATC Semitec 204GT-2 (1k pullup)
+// 55 is 100k thermistor - ATC Semitec 104GT-2 (Used in ParCan & J-Head) (1k pullup)
+//
+// 1047 is Pt1000 with 4k7 pullup
+// 1010 is Pt1000 with 1k pullup (non standard)
+// 147 is Pt100 with 4k7 pullup
+// 110 is Pt100 with 1k pullup (non standard)
+
+#define TEMP_SENSOR_0 1
+#define TEMP_SENSOR_1 0
+#define TEMP_SENSOR_2 0
+#define TEMP_SENSOR_BED 1
+
+
+#endif //__CONFIGURATION_PRUSA_H

+ 209 - 0
variants/300-RAMBo1-3a-cz.h

@@ -0,0 +1,209 @@
+#ifndef CONFIGURATION_PRUSA_H
+#define CONFIGURATION_PRUSA_H
+
+/*------------------------------------
+    GENERAL SETTINGS
+*------------------------------------*/
+
+// Printer revision
+#define REVISION "300-2a"
+#define THREEMM_PRINTER   
+
+// Printer name
+#define CUSTOM_MENDEL_NAME "Prusa i3"
+
+// Electronics
+#define MOTHERBOARD BOARD_RAMBO_MINI_1_3
+
+// Language setting
+#define LANGUAGE_INCLUDE GENERATE_LANGUAGE_INCLUDE(cz)
+
+
+/*------------------------------------
+    AXIS SETTINGS
+*------------------------------------*/
+
+// Steps per unit {X,Y,Z,E}
+#define DEFAULT_AXIS_STEPS_PER_UNIT   {100,100,3200/0.8,350*1.5} 
+
+// Endstop inverting
+const bool X_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop.
+const bool Y_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop.
+const bool Z_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop.
+
+// Home position
+#define MANUAL_X_HOME_POS 0
+#define MANUAL_Y_HOME_POS 0
+#define MANUAL_Z_HOME_POS 0.25
+
+// Travel limits after homing
+#define X_MAX_POS 214
+#define X_MIN_POS 0
+#define Y_MAX_POS 198
+#define Y_MIN_POS 0
+#define Z_MAX_POS 201
+#define Z_MIN_POS 0.23
+
+/*------------------------------------
+    EXTRUDER SETTINGS
+*------------------------------------*/
+
+// Mintemps
+#define HEATER_0_MINTEMP 15
+#define HEATER_1_MINTEMP 5
+#define HEATER_2_MINTEMP 5
+#define BED_MINTEMP 15
+
+// Maxtemps
+#define HEATER_0_MAXTEMP 315
+#define HEATER_1_MAXTEMP 275
+#define HEATER_2_MAXTEMP 275
+#define BED_MAXTEMP 150
+
+// Define PID constants for extruder
+#define  DEFAULT_Kp 12.7
+#define  DEFAULT_Ki 1.09
+#define  DEFAULT_Kd 37.4
+
+// Extrude mintemp
+#define EXTRUDE_MINTEMP 190
+
+// Extruder cooling fans
+#define EXTRUDER_0_AUTO_FAN_PIN   6
+#define EXTRUDER_1_AUTO_FAN_PIN   -1
+#define EXTRUDER_2_AUTO_FAN_PIN   -1
+#define EXTRUDER_AUTO_FAN_TEMPERATURE 50
+#define EXTRUDER_AUTO_FAN_SPEED   255  // == full speed
+
+
+
+/*------------------------------------
+    LOAD/UNLOAD FILAMENT SETTINGS
+*------------------------------------*/
+
+// Load filament commands
+#define LOAD_FILAMENT_0 "M83"
+#define LOAD_FILAMENT_1 "G1 E65 F400"
+#define LOAD_FILAMENT_2 "G1 E40 F100"
+
+// Unload filament commands
+#define UNLOAD_FILAMENT_0 "M83"
+#define UNLOAD_FILAMENT_1 "G1 E-80 F400"
+
+/*------------------------------------
+    CHANGE FILAMENT SETTINGS
+*------------------------------------*/    
+
+// Filament change configuration
+#define FILAMENTCHANGEENABLE
+  #ifdef FILAMENTCHANGEENABLE
+    #define FILAMENTCHANGE_XPOS 211
+    #define FILAMENTCHANGE_YPOS 0
+    #define FILAMENTCHANGE_ZADD 2
+    #define FILAMENTCHANGE_FIRSTRETRACT -2
+    #define FILAMENTCHANGE_FINALRETRACT -80
+    
+    #define FILAMENTCHANGE_FIRSTFEED 70
+    #define FILAMENTCHANGE_FINALFEED 50
+    
+#endif
+
+/*------------------------------------
+    ADDITIONAL FEATURES SETTINGS
+*------------------------------------*/  
+
+// Define Prusa filament runout sensor
+//#define FILAMENT_RUNOUT_SUPPORT
+
+#ifdef FILAMENT_RUNOUT_SUPPORT
+    #define FILAMENT_RUNOUT_SENSOR 1
+#endif
+
+/*------------------------------------
+    MOTOR CURRENT SETTINGS
+*------------------------------------*/  
+
+// Motor Current setting for BIG RAMBo
+#define DIGIPOT_MOTOR_CURRENT {135,135,135,135,135} // Values 0-255 (RAMBO 135 = ~0.75A, 185 = ~1A)
+
+// Motor Current settings for RAMBo mini PWM value = MotorCurrentSetting * 255 / range
+#if MOTHERBOARD == 102 || MOTHERBOARD == 302
+  #define MOTOR_CURRENT_PWM_RANGE 2000
+  #define DEFAULT_PWM_MOTOR_CURRENT  {850, 450, 270} // {E,Z,XY}
+#endif
+
+/*------------------------------------
+    PREHEAT SETTINGS
+*------------------------------------*/  
+
+#define PLA_PREHEAT_HOTEND_TEMP 220
+#define PLA_PREHEAT_HPB_TEMP 50
+#define PLA_PREHEAT_FAN_SPEED 255
+
+#define ABS_PREHEAT_HOTEND_TEMP 285
+#define ABS_PREHEAT_HPB_TEMP 100
+#define ABS_PREHEAT_FAN_SPEED 255
+
+#define HIPS_PREHEAT_HOTEND_TEMP 220
+#define HIPS_PREHEAT_HPB_TEMP 100
+#define HIPS_PREHEAT_FAN_SPEED 0 
+
+#define PP_PREHEAT_HOTEND_TEMP 254
+#define PP_PREHEAT_HPB_TEMP 100
+#define PP_PREHEAT_FAN_SPEED 0 
+
+#define PET_PREHEAT_HOTEND_TEMP 240
+#define PET_PREHEAT_HPB_TEMP 90
+#define PET_PREHEAT_FAN_SPEED 0 
+
+#define FLEX_PREHEAT_HOTEND_TEMP 250
+#define FLEX_PREHEAT_HPB_TEMP 50
+#define FLEX_PREHEAT_FAN_SPEED 0 
+
+
+/*------------------------------------
+    THERMISTORS SETTINGS
+*------------------------------------*/
+
+//
+//--NORMAL IS 4.7kohm PULLUP!-- 1kohm pullup can be used on hotend sensor, using correct resistor and table
+//
+//// Temperature sensor settings:
+// -2 is thermocouple with MAX6675 (only for sensor 0)
+// -1 is thermocouple with AD595
+// 0 is not used
+// 1 is 100k thermistor - best choice for EPCOS 100k (4.7k pullup)
+// 2 is 200k thermistor - ATC Semitec 204GT-2 (4.7k pullup)
+// 3 is Mendel-parts thermistor (4.7k pullup)
+// 4 is 10k thermistor !! do not use it for a hotend. It gives bad resolution at high temp. !!
+// 5 is 100K thermistor - ATC Semitec 104GT-2 (Used in ParCan & J-Head) (4.7k pullup)
+// 6 is 100k EPCOS - Not as accurate as table 1 (created using a fluke thermocouple) (4.7k pullup)
+// 7 is 100k Honeywell thermistor 135-104LAG-J01 (4.7k pullup)
+// 71 is 100k Honeywell thermistor 135-104LAF-J01 (4.7k pullup)
+// 8 is 100k 0603 SMD Vishay NTCS0603E3104FXT (4.7k pullup)
+// 9 is 100k GE Sensing AL03006-58.2K-97-G1 (4.7k pullup)
+// 10 is 100k RS thermistor 198-961 (4.7k pullup)
+// 11 is 100k beta 3950 1% thermistor (4.7k pullup)
+// 12 is 100k 0603 SMD Vishay NTCS0603E3104FXT (4.7k pullup) (calibrated for Makibox hot bed)
+// 13 is 100k Hisens 3950  1% up to 300°C for hotend "Simple ONE " & "Hotend "All In ONE" 
+// 20 is the PT100 circuit found in the Ultimainboard V2.x
+// 60 is 100k Maker's Tool Works Kapton Bed Thermistor beta=3950
+//
+//    1k ohm pullup tables - This is not normal, you would have to have changed out your 4.7k for 1k
+//                          (but gives greater accuracy and more stable PID)
+// 51 is 100k thermistor - EPCOS (1k pullup)
+// 52 is 200k thermistor - ATC Semitec 204GT-2 (1k pullup)
+// 55 is 100k thermistor - ATC Semitec 104GT-2 (Used in ParCan & J-Head) (1k pullup)
+//
+// 1047 is Pt1000 with 4k7 pullup
+// 1010 is Pt1000 with 1k pullup (non standard)
+// 147 is Pt100 with 4k7 pullup
+// 110 is Pt100 with 1k pullup (non standard)
+
+#define TEMP_SENSOR_0 1
+#define TEMP_SENSOR_1 0
+#define TEMP_SENSOR_2 0
+#define TEMP_SENSOR_BED 1
+
+
+#endif //__CONFIGURATION_PRUSA_H

+ 209 - 0
variants/300-RAMBo1-3a-en.h

@@ -0,0 +1,209 @@
+#ifndef CONFIGURATION_PRUSA_H
+#define CONFIGURATION_PRUSA_H
+
+/*------------------------------------
+    GENERAL SETTINGS
+*------------------------------------*/
+
+// Printer revision
+#define REVISION "300-2a"
+#define THREEMM_PRINTER  
+
+// Printer name
+#define CUSTOM_MENDEL_NAME "Prusa i3"
+
+// Electronics
+#define MOTHERBOARD BOARD_RAMBO_MINI_1_3
+
+// Language setting
+#define LANGUAGE_INCLUDE GENERATE_LANGUAGE_INCLUDE(en)
+
+
+/*------------------------------------
+    AXIS SETTINGS
+*------------------------------------*/
+
+// Steps per unit {X,Y,Z,E}
+#define DEFAULT_AXIS_STEPS_PER_UNIT   {100,100,3200/0.8,350*1.5} 
+
+// Endstop inverting
+const bool X_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop.
+const bool Y_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop.
+const bool Z_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop.
+
+// Home position
+#define MANUAL_X_HOME_POS 0
+#define MANUAL_Y_HOME_POS 0
+#define MANUAL_Z_HOME_POS 0.25
+
+// Travel limits after homing
+#define X_MAX_POS 214
+#define X_MIN_POS 0
+#define Y_MAX_POS 198
+#define Y_MIN_POS 0
+#define Z_MAX_POS 201
+#define Z_MIN_POS 0.23
+
+/*------------------------------------
+    EXTRUDER SETTINGS
+*------------------------------------*/
+
+// Mintemps
+#define HEATER_0_MINTEMP 15
+#define HEATER_1_MINTEMP 5
+#define HEATER_2_MINTEMP 5
+#define BED_MINTEMP 15
+
+// Maxtemps
+#define HEATER_0_MAXTEMP 315
+#define HEATER_1_MAXTEMP 275
+#define HEATER_2_MAXTEMP 275
+#define BED_MAXTEMP 150
+
+// Define PID constants for extruder
+#define  DEFAULT_Kp 12.7
+#define  DEFAULT_Ki 1.09
+#define  DEFAULT_Kd 37.4
+
+// Extrude mintemp
+#define EXTRUDE_MINTEMP 190
+
+// Extruder cooling fans
+#define EXTRUDER_0_AUTO_FAN_PIN   6
+#define EXTRUDER_1_AUTO_FAN_PIN   -1
+#define EXTRUDER_2_AUTO_FAN_PIN   -1
+#define EXTRUDER_AUTO_FAN_TEMPERATURE 50
+#define EXTRUDER_AUTO_FAN_SPEED   255  // == full speed
+
+
+
+/*------------------------------------
+    LOAD/UNLOAD FILAMENT SETTINGS
+*------------------------------------*/
+
+// Load filament commands
+#define LOAD_FILAMENT_0 "M83"
+#define LOAD_FILAMENT_1 "G1 E65 F400"
+#define LOAD_FILAMENT_2 "G1 E40 F100"
+
+// Unload filament commands
+#define UNLOAD_FILAMENT_0 "M83"
+#define UNLOAD_FILAMENT_1 "G1 E-80 F400"
+
+/*------------------------------------
+    CHANGE FILAMENT SETTINGS
+*------------------------------------*/    
+
+// Filament change configuration
+#define FILAMENTCHANGEENABLE
+  #ifdef FILAMENTCHANGEENABLE
+    #define FILAMENTCHANGE_XPOS 211
+    #define FILAMENTCHANGE_YPOS 0
+    #define FILAMENTCHANGE_ZADD 2
+    #define FILAMENTCHANGE_FIRSTRETRACT -2
+    #define FILAMENTCHANGE_FINALRETRACT -80
+    
+    #define FILAMENTCHANGE_FIRSTFEED 70
+    #define FILAMENTCHANGE_FINALFEED 50
+    
+#endif
+
+/*------------------------------------
+    ADDITIONAL FEATURES SETTINGS
+*------------------------------------*/  
+
+// Define Prusa filament runout sensor
+//#define FILAMENT_RUNOUT_SUPPORT
+
+#ifdef FILAMENT_RUNOUT_SUPPORT
+    #define FILAMENT_RUNOUT_SENSOR 1
+#endif
+
+/*------------------------------------
+    MOTOR CURRENT SETTINGS
+*------------------------------------*/  
+
+// Motor Current setting for BIG RAMBo
+#define DIGIPOT_MOTOR_CURRENT {135,135,135,135,135} // Values 0-255 (RAMBO 135 = ~0.75A, 185 = ~1A)
+
+// Motor Current settings for RAMBo mini PWM value = MotorCurrentSetting * 255 / range
+#if MOTHERBOARD == 102 || MOTHERBOARD == 302
+  #define MOTOR_CURRENT_PWM_RANGE 2000
+  #define DEFAULT_PWM_MOTOR_CURRENT  {850, 450, 270} // {E,Z,XY}
+#endif
+
+/*------------------------------------
+    PREHEAT SETTINGS
+*------------------------------------*/  
+
+#define PLA_PREHEAT_HOTEND_TEMP 220
+#define PLA_PREHEAT_HPB_TEMP 50
+#define PLA_PREHEAT_FAN_SPEED 255
+
+#define ABS_PREHEAT_HOTEND_TEMP 285
+#define ABS_PREHEAT_HPB_TEMP 100
+#define ABS_PREHEAT_FAN_SPEED 255
+
+#define HIPS_PREHEAT_HOTEND_TEMP 220
+#define HIPS_PREHEAT_HPB_TEMP 100
+#define HIPS_PREHEAT_FAN_SPEED 0 
+
+#define PP_PREHEAT_HOTEND_TEMP 254
+#define PP_PREHEAT_HPB_TEMP 100
+#define PP_PREHEAT_FAN_SPEED 0 
+
+#define PET_PREHEAT_HOTEND_TEMP 240
+#define PET_PREHEAT_HPB_TEMP 90
+#define PET_PREHEAT_FAN_SPEED 0 
+
+#define FLEX_PREHEAT_HOTEND_TEMP 250
+#define FLEX_PREHEAT_HPB_TEMP 50
+#define FLEX_PREHEAT_FAN_SPEED 0 
+
+
+/*------------------------------------
+    THERMISTORS SETTINGS
+*------------------------------------*/
+
+//
+//--NORMAL IS 4.7kohm PULLUP!-- 1kohm pullup can be used on hotend sensor, using correct resistor and table
+//
+//// Temperature sensor settings:
+// -2 is thermocouple with MAX6675 (only for sensor 0)
+// -1 is thermocouple with AD595
+// 0 is not used
+// 1 is 100k thermistor - best choice for EPCOS 100k (4.7k pullup)
+// 2 is 200k thermistor - ATC Semitec 204GT-2 (4.7k pullup)
+// 3 is Mendel-parts thermistor (4.7k pullup)
+// 4 is 10k thermistor !! do not use it for a hotend. It gives bad resolution at high temp. !!
+// 5 is 100K thermistor - ATC Semitec 104GT-2 (Used in ParCan & J-Head) (4.7k pullup)
+// 6 is 100k EPCOS - Not as accurate as table 1 (created using a fluke thermocouple) (4.7k pullup)
+// 7 is 100k Honeywell thermistor 135-104LAG-J01 (4.7k pullup)
+// 71 is 100k Honeywell thermistor 135-104LAF-J01 (4.7k pullup)
+// 8 is 100k 0603 SMD Vishay NTCS0603E3104FXT (4.7k pullup)
+// 9 is 100k GE Sensing AL03006-58.2K-97-G1 (4.7k pullup)
+// 10 is 100k RS thermistor 198-961 (4.7k pullup)
+// 11 is 100k beta 3950 1% thermistor (4.7k pullup)
+// 12 is 100k 0603 SMD Vishay NTCS0603E3104FXT (4.7k pullup) (calibrated for Makibox hot bed)
+// 13 is 100k Hisens 3950  1% up to 300°C for hotend "Simple ONE " & "Hotend "All In ONE" 
+// 20 is the PT100 circuit found in the Ultimainboard V2.x
+// 60 is 100k Maker's Tool Works Kapton Bed Thermistor beta=3950
+//
+//    1k ohm pullup tables - This is not normal, you would have to have changed out your 4.7k for 1k
+//                          (but gives greater accuracy and more stable PID)
+// 51 is 100k thermistor - EPCOS (1k pullup)
+// 52 is 200k thermistor - ATC Semitec 204GT-2 (1k pullup)
+// 55 is 100k thermistor - ATC Semitec 104GT-2 (Used in ParCan & J-Head) (1k pullup)
+//
+// 1047 is Pt1000 with 4k7 pullup
+// 1010 is Pt1000 with 1k pullup (non standard)
+// 147 is Pt100 with 4k7 pullup
+// 110 is Pt100 with 1k pullup (non standard)
+
+#define TEMP_SENSOR_0 1
+#define TEMP_SENSOR_1 0
+#define TEMP_SENSOR_2 0
+#define TEMP_SENSOR_BED 1
+
+
+#endif //__CONFIGURATION_PRUSA_H

+ 167 - 0
vector_3.cpp

@@ -0,0 +1,167 @@
+/*
+  vector_3.cpp - Vector library for bed leveling
+  Copyright (c) 2012 Lars Brubaker.  All right reserved.
+
+  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 St, Fifth Floor, Boston, MA  02110-1301  USA
+*/
+#include <math.h>
+#include "Marlin.h"
+
+#ifdef ENABLE_AUTO_BED_LEVELING
+#include "vector_3.h"
+
+vector_3::vector_3() : x(0), y(0), z(0) { }
+
+vector_3::vector_3(float x_, float y_, float z_) : x(x_), y(y_), z(z_) { }
+
+vector_3 vector_3::cross(vector_3 left, vector_3 right)
+{
+	return vector_3(left.y * right.z - left.z * right.y,
+		left.z * right.x - left.x * right.z,
+		left.x * right.y - left.y * right.x);
+}
+
+vector_3 vector_3::operator+(vector_3 v) 
+{
+	return vector_3((x + v.x), (y + v.y), (z + v.z));
+}
+
+vector_3 vector_3::operator-(vector_3 v) 
+{
+	return vector_3((x - v.x), (y - v.y), (z - v.z));
+}
+
+vector_3 vector_3::get_normal() 
+{
+	vector_3 normalized = vector_3(x, y, z);
+	normalized.normalize();
+	return normalized;
+}
+
+float vector_3::get_length() 
+{
+	float length = sqrt((x * x) + (y * y) + (z * z));
+	return length;
+}
+ 
+void vector_3::normalize()
+{
+	float length = get_length();
+	x /= length;
+	y /= length;
+	z /= length;
+}
+
+void vector_3::apply_rotation(matrix_3x3 matrix)
+{
+	float resultX = x * matrix.matrix[3*0+0] + y * matrix.matrix[3*1+0] + z * matrix.matrix[3*2+0];
+	float resultY = x * matrix.matrix[3*0+1] + y * matrix.matrix[3*1+1] + z * matrix.matrix[3*2+1];
+	float resultZ = x * matrix.matrix[3*0+2] + y * matrix.matrix[3*1+2] + z * matrix.matrix[3*2+2];
+
+	x = resultX;
+	y = resultY;
+	z = resultZ;
+}
+
+void vector_3::debug(char* title)
+{
+	SERIAL_PROTOCOL(title);
+	SERIAL_PROTOCOLPGM(" x: ");
+	SERIAL_PROTOCOL(x);
+	SERIAL_PROTOCOLPGM(" y: ");
+	SERIAL_PROTOCOL(y);
+	SERIAL_PROTOCOLPGM(" z: ");
+	SERIAL_PROTOCOL(z);
+	SERIAL_PROTOCOLPGM("\n");
+}
+
+void apply_rotation_xyz(matrix_3x3 matrix, float &x, float& y, float& z)
+{
+	vector_3 vector = vector_3(x, y, z);
+	vector.apply_rotation(matrix);
+	x = vector.x;
+	y = vector.y;
+	z = vector.z;
+}
+
+matrix_3x3 matrix_3x3::create_from_rows(vector_3 row_0, vector_3 row_1, vector_3 row_2)
+{
+        //row_0.debug("row_0");
+        //row_1.debug("row_1");
+        //row_2.debug("row_2");
+	matrix_3x3 new_matrix;
+	new_matrix.matrix[0] = row_0.x; new_matrix.matrix[1] = row_0.y; new_matrix.matrix[2] = row_0.z; 
+	new_matrix.matrix[3] = row_1.x; new_matrix.matrix[4] = row_1.y; new_matrix.matrix[5] = row_1.z; 
+	new_matrix.matrix[6] = row_2.x; new_matrix.matrix[7] = row_2.y; new_matrix.matrix[8] = row_2.z; 
+        //new_matrix.debug("new_matrix");
+        
+	return new_matrix;
+}
+
+void matrix_3x3::set_to_identity()
+{
+	matrix[0] = 1; matrix[1] = 0; matrix[2] = 0;
+	matrix[3] = 0; matrix[4] = 1; matrix[5] = 0;
+	matrix[6] = 0; matrix[7] = 0; matrix[8] = 1;
+}
+
+matrix_3x3 matrix_3x3::create_look_at(vector_3 target)
+{
+    vector_3 z_row = target.get_normal();
+    vector_3 x_row = vector_3(1, 0, -target.x/target.z).get_normal();
+    vector_3 y_row = vector_3::cross(z_row, x_row).get_normal();
+
+   // x_row.debug("x_row");
+   // y_row.debug("y_row");
+   // z_row.debug("z_row");
+
+ 
+     // create the matrix already correctly transposed
+    matrix_3x3 rot = matrix_3x3::create_from_rows(x_row, y_row, z_row);
+
+ //   rot.debug("rot");
+    return rot;
+}
+
+
+matrix_3x3 matrix_3x3::transpose(matrix_3x3 original)
+{
+  matrix_3x3 new_matrix;
+  new_matrix.matrix[0] = original.matrix[0]; new_matrix.matrix[1] = original.matrix[3]; new_matrix.matrix[2] = original.matrix[6]; 
+  new_matrix.matrix[3] = original.matrix[1]; new_matrix.matrix[4] = original.matrix[4]; new_matrix.matrix[5] = original.matrix[7]; 
+  new_matrix.matrix[6] = original.matrix[2]; new_matrix.matrix[7] = original.matrix[5]; new_matrix.matrix[8] = original.matrix[8];
+  return new_matrix;
+}
+
+void matrix_3x3::debug(char* title)
+{
+	SERIAL_PROTOCOL(title);
+	SERIAL_PROTOCOL("\n");
+	int count = 0;
+	for(int i=0; i<3; i++)
+	{
+		for(int j=0; j<3; j++)
+		{
+			SERIAL_PROTOCOL(matrix[count]);
+			SERIAL_PROTOCOLPGM(" ");
+		        count++;
+		}
+
+		SERIAL_PROTOCOLPGM("\n");
+	}
+}
+
+#endif // #ifdef ENABLE_AUTO_BED_LEVELING
+

+ 62 - 0
vector_3.h

@@ -0,0 +1,62 @@
+/*
+  vector_3.cpp - Vector library for bed leveling
+  Copyright (c) 2012 Lars Brubaker.  All right reserved.
+
+  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 St, Fifth Floor, Boston, MA  02110-1301  USA
+*/
+#ifndef VECTOR_3_H
+#define VECTOR_3_H
+
+#ifdef ENABLE_AUTO_BED_LEVELING
+class matrix_3x3;
+
+struct vector_3
+{
+	float x, y, z;
+
+        vector_3();
+	vector_3(float x, float y, float z);
+
+	static vector_3 cross(vector_3 a, vector_3 b);
+
+	vector_3 operator+(vector_3 v);
+	vector_3 operator-(vector_3 v);
+	void normalize();
+	float get_length();
+	vector_3 get_normal();
+
+	void debug(char* title);
+	
+	void apply_rotation(matrix_3x3 matrix);
+};
+
+struct matrix_3x3
+{
+	float matrix[9];
+
+	static matrix_3x3 create_from_rows(vector_3 row_0, vector_3 row_1, vector_3 row_2);
+	static matrix_3x3 create_look_at(vector_3 target);
+	static matrix_3x3 transpose(matrix_3x3 original);
+
+	void set_to_identity();
+
+	void debug(char* title);
+};
+
+
+void apply_rotation_xyz(matrix_3x3 rotationMatrix, float &x, float& y, float& z);
+#endif // ENABLE_AUTO_BED_LEVELING
+
+#endif // VECTOR_3_H

+ 56 - 0
watchdog.cpp

@@ -0,0 +1,56 @@
+#include "Marlin.h"
+
+#ifdef USE_WATCHDOG
+#include <avr/wdt.h>
+
+#include "watchdog.h"
+#include "ultralcd.h"
+
+//===========================================================================
+//=============================private variables  ============================
+//===========================================================================
+
+//===========================================================================
+//=============================functinos         ============================
+//===========================================================================
+
+
+/// intialise watch dog with a 4 sec interrupt time
+void watchdog_init()
+{
+#ifdef WATCHDOG_RESET_MANUAL
+    //We enable the watchdog timer, but only for the interrupt.
+    //Take care, as this requires the correct order of operation, with interrupts disabled. See the datasheet of any AVR chip for details.
+    wdt_reset();
+    _WD_CONTROL_REG = _BV(_WD_CHANGE_BIT) | _BV(WDE);
+    _WD_CONTROL_REG = _BV(WDIE) | WDTO_4S;
+#else
+    wdt_enable(WDTO_4S);
+#endif
+}
+
+/// reset watchdog. MUST be called every 1s after init or avr will reset.
+void watchdog_reset() 
+{
+    wdt_reset();
+}
+
+//===========================================================================
+//=============================ISR               ============================
+//===========================================================================
+
+//Watchdog timer interrupt, called if main program blocks >1sec and manual reset is enabled.
+#ifdef WATCHDOG_RESET_MANUAL
+ISR(WDT_vect)
+{ 
+    //TODO: This message gets overwritten by the kill() call
+    LCD_ALERTMESSAGEPGM("ERR:Please Reset");//16 characters so it fits on a 16x2 display
+    lcd_update();
+    SERIAL_ERROR_START;
+    SERIAL_ERRORLNPGM("Something is wrong, please turn off the printer.");
+    kill(); //kill blocks
+    while(1); //wait for user or serial reset
+}
+#endif//RESET_MANUAL
+
+#endif//USE_WATCHDOG

+ 17 - 0
watchdog.h

@@ -0,0 +1,17 @@
+#ifndef WATCHDOG_H
+#define WATCHDOG_H
+
+#include "Marlin.h"
+
+#ifdef USE_WATCHDOG
+  // initialize watch dog with a 1 sec interrupt time
+  void watchdog_init();
+  // pad the dog/reset watchdog. MUST be called at least every second after the first watchdog_init or AVR will go into emergency procedures..
+  void watchdog_reset();
+#else
+  //If we do not have a watchdog, then we can have empty functions which are optimized away.
+  FORCE_INLINE void watchdog_init() {};
+  FORCE_INLINE void watchdog_reset() {};
+#endif
+
+#endif